Data Management提供的結構設計功能,可以實現對目標庫表進行符合研發規範的表結構設計。您可按需自訂不同業務線的研發流程,保障多套環境(例如開發環境、測試環境、生產環境)之間結構的一致性。本文介紹邏輯表結構設計的方法。
背景資訊
分庫分表後需要保障一個分表的DDL變更在所有分區中同時生效,同時儘可能減少複雜操作。DMS提供的邏輯表結構設計基於邏輯庫、邏輯表的彙總,可以實現將分庫分表當做單個表進行透明操作,符合使用者訴求。
前提條件
支援的資料庫類型:
MySQL:RDS MySQL、PolarDB MySQL版、MyBase MySQL、其他來源MySQL。
OceanBase。
執行個體的管控模式為安全協同。更多資訊,請參見查看管控模式。
已有一個開發環境類型的邏輯庫作為設計階段的基準庫、一個生產環境類型的邏輯庫作為發布階段的目標庫。配置邏輯庫和設定執行個體環境類型的操作,請參見邏輯庫和更改執行個體環境類型。
說明MySQL預設的安全規則(mysql default)規定結構設計的研發流程中設計階段的庫環境為開發庫(dev),發布階段的庫環境為生產環境(product)。您可根據業務需求自行調整研發流程,具體操作,請參見結構設計。
您需要有基準庫和目標庫的變更許可權。
注意事項
基準庫與目標庫的類型需要保持一致。例如基準庫為MySQL,則目標庫的類型也需要為MySQL。
操作步驟
- 登入Data Management 5.0。
在頂部功能表列中,選擇 。
說明若您使用的是極簡模式的控制台,請單擊控制台左上方的表徵圖,選擇
。單擊頁面右上方的結構設計。
配置結構設計工單的基本資料,並單擊提交。部分參數說明如下:
配置
說明
變更基準庫
選擇安全協同模式的邏輯庫。邏輯庫的環境類型需要符合該資料庫安全規則的研發流程規範,關於研發流程,請參見結構設計。
變更相關人
搜尋並選擇變更相關人,變更相關人可查看工單,參與開發、評審並推動工作。
說明非相關人員則不能查看工單(管理員、DBA除外)。
建立邏輯表。
有兩種建立邏輯表的方式:
通過可視化方式:
單擊建立邏輯表。
在建立邏輯表頁面,分別單擊基本資料、列資訊、索引資訊,設定表的基本資料、列資訊和索引資訊。
單擊分錶拓撲,輸入邏輯表的運算式。關於邏輯表運算式,請參見邏輯表運算式。
說明修改邏輯表運算式會刪除原表,建立新表,風險比較大,無法復原,請謹慎操作。
單擊計算表拓撲分布,預覽建立表名和表的分布地址是否符合預期。若不符合則可以調整運算式後重試。
單擊儲存。
通過SQL建表語句:
單擊匯入SQL語句。
輸入建表
Create Table
或修改表Alter Table
的SQL語句,並單擊確定。例如,建立兩張表
orders_logic_[05]
、orders_logic_[06]
,SQL建表語句如下:CREATE TABLE `orders_logic_[05-06]` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'primary key', `gmt_create` datetime NOT NULL COMMENT 'create time', `gmt_modified` datetime NOT NULL COMMENT 'modify time', PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET=utf8 COMMENT='建立邏輯表';
在建立邏輯表:orders_logic_[05-06]頁簽,確認表結構資訊,確認無誤後,單擊儲存。
說明已有表的變更不能調整分表運算式。
在預檢測結果對話方塊中,查看預檢查結果。
預檢查通過:單擊確認無誤,提交保存。
預檢查結果中只有警告:單擊忽略警告, 繼續保存,或單擊關閉,按規範修改表結構後,重新單擊儲存。
預檢查結果中有錯誤:查看錯誤原因,單擊關閉,按規範修改表結構後,重新單擊儲存。
說明系統根據預設安全規則中的研發規範對建表語句進行校正,提示本次操作中存在的研發規範類錯誤和警告。
當前DMS的研發規範支援建立表、修改表欄位、修改表索引等多方面近40條規範,您可以在安全規則中進行自訂配置。
預檢查通過後,系統將自動跳轉至結構設計專案首頁頁簽,您可以在項目編輯的表頁簽中,查看修改、新增的表,編輯、刪除目標表等。
將修改、新增的表執行到基準庫中。
單擊執行變更到基準庫。
在執行變更到基準庫面板,選擇執行策略、灰階方式和灰階行動,單擊確定。
待審批完成後,系統會自動將修改、新增的表結構執行到基準庫中,在變更執行歷史頁簽中查看執行進度。
說明執行記錄會以每個分庫一條記錄進行分組執行。
您可以在基準庫的SQL視窗中,查看修改、新增的表結構是否符合預期。
預設的安全規則規定結構變更均需要提交審批工單,您也可以在安全規則中進行自訂配置,例如設定開發節點的變更為免審批、設定生產節點的變更審批人等。
單擊進入下一節點,在彈出的對話方塊中,再次單擊進入下一節點。
將修改、新增的表結構執行到生產庫中。
單擊執行變更到目標庫。
在執行變更到目標庫面板中,選擇目標庫,單擊確定。
說明您還可以單擊增加多套庫,將指令碼代碼批量執行到多套生產庫。
待審批完成後,系統會自動將修改、新增的表結構同步到目標生產庫中。您還可以在生產庫的SQL視窗中,查看修改、新增的表結構是否符合預期。
單擊進入下一節點,在彈出的對話方塊中,再次單擊進入下一節點。
整個流程結束,工單關閉後,您可以單擊各節點查看變更與發布記錄。
後續操作
建立邏輯表後,需要維護路由演算法。具體操作,請參見配置路由演算法。