資料庫遷移:如何準備以及如何實施

在俄羅斯,數據和整個IT基礎設施的遷移問題或許從未像現在資料庫行銷這麼嚴重,許多流行的雲端服務紛紛宣布退出俄羅斯市場。

眾所周知,將資料庫遷移到新主機對於任何 IT 部門來說都是最緊迫、最重要的任務之一。這不僅僅是製裁和俄羅斯服務撤離的問題——公司已經並將繼續將其能力轉移到新的、生產力更高的伺服器上以達到優化目的,因為根據摩爾定律, 每兩年技術能力和速度都會顯著提高,企業定期需要技術現代化。現代化過程通常涉及擺脫遺留系統,並且總是涉及資料庫遷移,當應用程式由多個開發人員開發以進行版本控制時,這也是必要的。我們決定寫一篇關於資料遷移的評論文章,因為即使是專業人士,尤其是初學者,也常常對這裡的概念和過程感到困惑。

術語

數據——公司資訊系統及其使用者所使用的資訊表示形式。

資訊系統,IS- 旨在搜尋、處理和儲存資訊的系統。它還包括提供和傳播此資訊的組織資源。

資料庫,DB(Database,DB)是依照schema儲存的公司或資料庫行銷項目資料的集合。它們是:靜態資料(不可變,儲存在查找表中)、使用者資料(使用應用程式時發生變更)、所有資料庫物件(過程、表、觸發器等)。所有資料操作均依照資料建模工具的規則執行。資料庫管理系統

,DBMS (Database Management System,DBMS)-提供資料庫建立和管理的軟體。

資料庫模式 是用 DBMS 支援的形資料庫行銷式語言描述的資料庫結構。包括內容描述和完整性約束。圖表的圖形表示的主要物件是表格和關係。可能包含其他對象,但不包含使用者資料:視圖、索引、套件、資料庫連接、序列。

表是以結構化​​形式儲存在資料庫中的相關資料。由列和行組成。

資料遷移 – 1. 將資料從來源系統一次性大量移動到目標系統。來源系統資料庫行銷中的資料操作停止。 2. 資料庫轉換的過程,其中資料庫模式從一個版本變更為另一個版本。遷移涉及對資料庫的直接更改(升級、db_upgrade)和反向更改(降級、db_downgrade)。

來源系統(歷史系統)-公司的資料庫,在實施新系統時將全部或部分變更。

接收系統是資料從來源系統傳輸到的目標系統。

來源資料 – 從歷史系統下載的資料(通常為 xls 檔案格式,因為這種資料庫行銷格式被大多數不同世代的歷史系統「理解」)。

資料轉換是將來源資料轉換為依照範本載入的資料的過程。

載入資料- 準備載入到目標系統中的資料。

用於載入的資料範本- 用於載入到接收系統中的資料表的描述。

DB版本 是資料庫結構的特定狀態。版本有一個與應用程式的版本號相對應的數字,因為應用程式和資料庫是整體不可分割的一部分。

從國外平台遷移-2022年的主要趨勢

值得提醒的是,公司內的數據絕對可以資料庫行銷是任何東西,而且數量非常多。甚至您企業的行動和 Web 應用程式也主要是一組數據,當您決定用新應用程式取代舊應用程式時,您將傳輸這些數據,以滿足現代市場的需求。

經過多年和數十年的工作,您的 IT 環境資料庫行銷中可能出現了多個(有些有相當多)各種類型的資訊系統,它們用於支援業務流程和資料庫及其自動化。隨著時間的推移,管理這個IT專家戲稱的「資訊系統動物園」將變得無利可圖,新時代的業務需求也無法克服不允許資訊系統發展的技術限制。過時的資料庫非常容易受到外部入侵和洩漏公司機密資訊。因此,為了確保資料的安全,也採用了資料庫遷移的方式。

早在 2014 年,俄羅斯就制定了進口替代外國製造商許可並受到製裁的系統的方針。這急劇增加了公司和公共部門對完全或部分更換資料庫的需求。

2022年,俄羅斯企業面臨新的現實。由於封鎖以及大多數外國雲端服務預計將離開俄羅斯,第二波從AWS、MS Azure和其他流行的外國IaaS平台遷移到俄羅斯雲端的浪潮開始了(第一波是在針對個人資料儲存和處理的新規定出台時)數據生效,實際上推動了俄羅斯虛擬化市場)。

由於以下原因可能會出現資料遷移的需求:

IT系統的進口替代,特別是資料庫和DBMS。
需要能夠輕鬆擴展的新網站和應用程式。
需要確保資料安全並不間斷地使用它。
透過改變資料儲存系統的架構(例如改變DBMS的類型)來降低維護資訊系統的成本(使用伺服器設備維護過時的系統是昂貴的)。
使用新技術(例如,使用大數據和人工智慧)獲得全新的機會。
文件數位化。
提高資料儲存系統的速度。
多個開發人員在建立應用程 中國海外非洲人數數據 式時同步專案程式碼和資料庫(如版本控制系統)。

中國海外非洲人數數據

資料遷移的類型

資料遷移可以手動或自動完成。選擇哪一種方法取決於不同的條件。例如,有時很難找到有關歷史系統的必要信息,並且無法聯繫其開發人員 – 那麼就很難實現遷移過程的自動化。

接下來,我們將仔細資料庫行銷研究如何準備和執行最後兩種類型的遷移,因為這裡最常見的是上下文、術語和流程方面的混亂,具體取決於相關的業務需求。儲存格式轉換 如何撰寫吸引潛在客戶的電子郵件行銷文章 為另一種儲存格式,例如,將實體文件數位化以供線上儲存或修改以應用加密演算法時。
應用程式遷移是從過時的軟體到現代軟體的過渡,或用新的應用程式完全替換應用程式;
資料庫遷移是將整個資料庫移動到新位置而不丟失一致性,例如,作為進口替代的一部分或將基礎設施從本地辦公電腦轉移到雲端環境時;
版本化資料遷移 – 將資料庫結構更新資料庫行銷為新版本,以便應用程式和資料庫的版本相互匹配以實現正確操作。

全庫遷移和版本資料遷移兩種遷移流程

下面我們將描述兩個不同流程的細微差別:資料庫遷移(當所有資料移動到新位置時)和版本化資料遷移(當應用程式開發期間每天對資料庫進行更改時)。

1. 遷移整個資料庫需要了解的知識

資料庫遷移過程包括組織準備和實際遷移。遷移的這兩個部分都發生在幾個階段。

組織部分的階段:

戰略的定義。 有必要選擇將要進行 細胞數據 遷移工作的技術。您需要定義向參與遷移專案的人員授予存取權限的規則。確保每位參與者清楚了解自己的角色。包括根據遷移到策略並相應地遷移到計劃中的結果對系統進行測試 – 如果發現需要糾正的錯誤,此過程可能需要幾天的時間。

確定工作組的組成。 它應該包括熟悉所有歷史系統操作的專家和目標系統的專家。即使主要工作將使用自動化解決方案進行,建議單獨分配一名員工進行監控。

計劃。 這包括:傳輸的資料量、從歷史系統下載資料的日期、遷移資料的截止期(過濾區域)、測試和最終遷移的日期、測試遷移的量。工作期間,計劃可能會多次調整。

遷移資料的組成。什麼將受到遷移?例如:餘額、營業額、分類器、參考或交易資料。

確定遷移過程中品質控制的方資料庫行銷法和標準,並遵循遷移結果-資料的完整性、一致性、正確性以及不存在無故重複。確定

在遷移過程中發生錯誤和失敗時將資料庫回滾到先前狀態的方法。

技術部分的階段:

準備資料載入模板和資料檔案載入器。 此範本包含以下技術資料庫行銷說明:所有要載入的資料欄位、根據要載入的資料載入目標系統表的規則、如果資料傳輸不是從「一對一」傳輸,則填寫目標系統表的欄位。數據檔。

識別資料來源。 將從哪些系統下載哪些資料以及可能需要哪些資料。當您進行操作時,可以將資料來源和類型新增至清單中,但最好從一開始就盡可能仔細地考慮。

上傳來源資料。 這個過程可能會很漫長。為了避免在歷史系統中發現大量低品質數據,導致在這個漫長的過程結束時出現錯誤,值得與這些來源系統的專家一起規劃確定測試上傳的量。

數據映射。 資料映射是比較來源資料和要載入的資料的過程。此階段可能會佔用所有遷移工作的 50%。子階段:字段映射和表格映射。此處可以執行資料標準化操作。

準備轉換規則。根據商定的欄位對應註冊表,目標系統的專家開發資料轉換的規則(腳本)。

上傳、轉換和載入資料。 在這裡您可以開始一系列強制性測試和最終遷移。根據這些測試的結果,識別可能的錯誤,評估載入到接收系統中的資料的質量,並補充最終的遷移計劃。

數據核對。測試後和最終遷移後,都會檢查下載資料的品質。一般來說,遷移資料檢查和資料規範化必須在整個遷移過程中進行。

2. 版本化資料遷移流程您需要了解的內容

注意:有關版本化資料遷移的部分是根據這篇專家文章中的資料準備的。開發過程中需要進行版本化資料遷移,以免在將新版本的應用程式交付到生產時遇到資料庫和應用程式版本不同步的問題。更新應用程式版本需要正確的資料庫版本遷移。正確性在於, 在版本遷移過程中,所有 SQL 查詢僅執行一次,並且嚴格按照一定的順序執行,因為某些變更可能會依賴其他變更。重新請求時出現錯誤的範例。如果您重複要求將密碼替換為 MD5 值,則只能從備份中還原資料。違反請求順序時發生錯誤的範例。如果其中一個表具有不可以為 null 的字串字段,且沒有資料(空字串),那麼您可能會認為儲存空字串在語義上是不正確的。儲存 NULL 是正確的。這裡的操作順序應如下所示: 將欄位類型變更為可為空。將生產資料庫中該表中的空白行替換為 NULL。變更應用程式程式碼,以便從資料庫接收儲存在該欄位中的資料時,程式碼能夠充分回應 NULL。現在,必須將 NULL 寫入該字段,而不是空白行。如果只將應用程式(第 3 項)更新到新版本,而沒有資料庫(第 1-2 項),那麼在某個時刻,NULL 將被插入到不可為空的欄位中,這將是一個錯誤。有幾種不同的方法來組織版本化資料庫遷移:增量更改的方法、冪等更改的方法、將資料庫結構同化到原始程式碼的方法等等。但是,無論使用哪種方法,在建立和儲存版本化遷移的過程中,建議遵循以下原則: 使任何版本的資料庫都可以更新到任何版本;以便盡可能快速、簡單地取得一組允許您實作任兩個版本之間遷移的SQL查詢;這樣您就可以始終從頭開始建立具有最新版本結構的資料庫(在部署新的生產伺服器以及開發和測試應用程式的過程中都很有用);這樣,在處理不同的分支後合併它們時,可以最大限度地減少資料庫檔案的手動編輯;因此,將資料庫回滾到早期版本就像更新到較新版本一樣簡單。

在建立完整資料庫遷移計劃之前要採取的步驟

 

資料遷移必須是有組織的、連續的。為此,她需要一個計劃。它的缺失可能會導致系統停機時間延長、業務邏輯出現嚴重錯誤、成本高昂、資料遺失,或 IT 環境中出現另一個無法使用的未完成系統(所謂的「第二系統效應」)。所以,一個計劃是必要的。

在編譯之前,需要對整個資料庫進行審核並確定資料的品質。它們採用什麼格式,它們的機密性如何,遷移會改變這一點嗎?在潛在的數據問題出現之前識別它們非常重要,這樣您就可以相應地調整您的計劃。決定備份資料的方法並執行它也很重要。確定遷移的時間範圍(這是一個漫長的過程)後,讓業務做好停機時間的準備。

此外,在製定具體的資料遷移計劃之前,您需要決定執行該計劃的員工。建議將遷移團隊與開發和營運團隊分開(但與他們保持無障礙互動),以免員工負擔過重,而且遷移專家擁有高度專業化的知識。

返回頂端