同數(shù)據(jù)庫歸檔
當數(shù)據(jù)庫中表的數(shù)據(jù)量過大時,可能會影響查詢數(shù)據(jù)速率,在不考慮將數(shù)據(jù)遷移到其他數(shù)據(jù)庫的情況下,您可以將數(shù)據(jù)庫中的歷史數(shù)據(jù)或使用頻率低的冷數(shù)據(jù)歸檔在當前數(shù)據(jù)庫下的其他表中。同時,結(jié)合DMS提供的歸檔時清理源表功能,幫助您提升數(shù)據(jù)庫性能和查詢速度。本文為您介紹如何在同一數(shù)據(jù)庫下進行數(shù)據(jù)歸檔。
前提條件
數(shù)據(jù)庫類型為MySQL系列:RDS MySQL、PolarDB MySQL版、AnalyticDB MySQL 3.0。
說明MySQL數(shù)據(jù)庫賬號必須具有REPLICATION CLIENT權(quán)限。
實例已錄入DMS。具體操作,請參見云數(shù)據(jù)庫錄入和他云/自建數(shù)據(jù)庫錄入。
需要歸檔的表必須存在主鍵或者唯一鍵。
說明建議表中包含修改時間的字段,以便將業(yè)務(wù)修改時間作為歸檔的過濾條件。
注意事項
使用該功能不限制實例的管控模式。
若在數(shù)據(jù)歸檔過程中選擇了自動清理源庫表數(shù)據(jù),請注意源庫表空間的預(yù)留情況,避免由于空間不足導(dǎo)致歸檔過程中出現(xiàn)異常。
實例的管控模式為安全協(xié)同或穩(wěn)定變更,才可執(zhí)行周期歸檔任務(wù)。若您僅需要單次執(zhí)行歸檔任務(wù),則不限制數(shù)據(jù)庫的管控模式。
費用說明
同數(shù)據(jù)庫歸檔操作,不需要購買目標數(shù)據(jù)庫,所以不涉及費用。
數(shù)據(jù)歸檔
- 登錄數(shù)據(jù)管理DMS 5.0。
在頂部菜單欄中,選擇 。
說明若您使用的是極簡模式的控制臺,請單擊控制臺左上角的圖標,選擇
。在頁面右上角,單擊數(shù)據(jù)歸檔。
在新建數(shù)據(jù)歸檔工單頁面,配置以下信息:
配置項
是否必填
說明
任務(wù)名
是
請輸入明確、清晰的任務(wù)名,方便后續(xù)查詢。
歸檔目標
是
選中同庫歸檔。
源數(shù)據(jù)庫
是
搜索并選擇數(shù)據(jù)庫。
歸檔配置
是
表名:選擇需要歸檔數(shù)據(jù)的表。
過濾條件(可選):輸入歸檔數(shù)據(jù)的過濾條件。例如,
gmt_modified<='${6_month_ago}'
。說明如果您需要使用時間變量,例如,歸檔6個月前的數(shù)據(jù),可以先進行變量配置。
單擊添加(可選),添加多個源表。
歸檔表映射
否
您可以通過歸檔表映射查看歸檔后的表名、列和分庫鍵等歸檔表信息。
變量配置
否
如果在歸檔配置中使用了自定義變量,則需要在此配置變量。
例如,時間變量為
6_month_ago
,時間格式為yyyy-MM-dd,偏移量設(shè)置為-6月。如果當前日期為2021-8-12,則變量${6_month_ago}
的值為2021-02-11。配置時間變量的更多信息,請參見配置時間變量。后置行為
否
若您選中清理原表已歸檔數(shù)據(jù)(delete-無鎖),則在歸檔完成后,系統(tǒng)將自動執(zhí)行歸檔后的源表數(shù)據(jù)刪除操作,可以通過無鎖數(shù)據(jù)變更的
DELETE
語句完成。但刪除源表的同時,源庫中會生成存儲此次歸檔數(shù)據(jù)的備份臨時表,請保證源庫空間充足,避免空間容量不足引發(fā)實例不可用問題。清理備份臨時表:您可以在確認數(shù)據(jù)歸檔完成且數(shù)據(jù)無誤后,通過新建普通數(shù)據(jù)變更工單,清理源庫中的備份臨時表。
若您未選中清理原表已歸檔數(shù)據(jù)(delete-無鎖),則需要在數(shù)據(jù)歸檔成功后,手動進行源表數(shù)據(jù)刪除和空間優(yōu)化。
清理源表數(shù)據(jù):通過新建普通數(shù)據(jù)變更工單清理數(shù)據(jù)庫中已歸檔的數(shù)據(jù)。新建普通數(shù)據(jù)變更工單,請參見普通數(shù)據(jù)變更。
源表空間優(yōu)化:通過新建無鎖變更工單完成源表空間優(yōu)化。新建無鎖變更工單,請參見通過無鎖變更工單實現(xiàn)無鎖結(jié)構(gòu)變更。
運行方式
是
選擇運行方式,當前支持:
單次執(zhí)行:工單審核通過后,僅單次運行歸檔任務(wù)。
周期調(diào)度:工單審核通過后,可根據(jù)部署的周期調(diào)度執(zhí)行歸檔任務(wù)。具體配置,請參見周期調(diào)度。
單擊提交申請。
工單審批通過后,系統(tǒng)自動執(zhí)行數(shù)據(jù)歸檔任務(wù),等待歸檔任務(wù)執(zhí)行完成。
若任務(wù)執(zhí)行失敗,您可在工單的執(zhí)行區(qū)域,單擊操作列下的詳情,查看歸檔任務(wù)日志,找出任務(wù)執(zhí)行失敗的原因。若是由于網(wǎng)絡(luò)或數(shù)據(jù)庫連接失敗等偶然發(fā)生的問題,您也可以單擊斷點重試,嘗試重新執(zhí)行。
當出現(xiàn)任務(wù)執(zhí)行完成,表示已成功歸檔。歸檔后,您可以查詢歸檔數(shù)據(jù)。
查詢歸檔數(shù)據(jù)
在數(shù)據(jù)歸檔過程中,DMS會自動在當前數(shù)據(jù)庫下創(chuàng)建一張前綴為tmp、后綴為工單號的表,用于存儲歸檔數(shù)據(jù)。
例如,將orders_test表的部分數(shù)據(jù)歸檔到同庫后,會在該庫中自動生成tmp_orders_test_121****表。
在數(shù)據(jù)歸檔工單列表頁面,單擊歸檔視圖。
單擊目標行操作列下的查詢。
頁面會自動跳轉(zhuǎn)到SQL窗口。
在左側(cè)表列表中雙擊目標表名,單擊執(zhí)行。
雙擊表名默認選中SELECT語句(默認查詢20條),若需要查詢更多,可修改LIMIT(限制返回行數(shù))后的值。
說明安全協(xié)同模式數(shù)據(jù)庫默認返回行數(shù)為200行,系統(tǒng)規(guī)定查詢返回行數(shù)上限為3000行。若需要調(diào)整查詢返回的行數(shù),可由管理員在
的基礎(chǔ)配置項中修改。若您需要查詢更多數(shù)據(jù),且不受安全規(guī)則限制,可將數(shù)據(jù)導(dǎo)出至本地進行查詢分析。具體操作,請參見數(shù)據(jù)庫導(dǎo)出。