數(shù)據(jù)歸檔至專屬存儲
本文為您介紹如何將數(shù)據(jù)歸檔至專屬存儲中(存儲在DMS),以及刪除歸檔至專屬存儲的數(shù)據(jù)等操作。
前提條件
源數(shù)據(jù)庫類型為:
MySQL:RDS MySQL、PolarDB MySQL版、AnalyticDB MySQL 3.0。
說明MySQL數(shù)據(jù)庫賬號必須具有REPLICATION CLIENT權(quán)限。
PostgreSQL:RDS PostgreSQL、PolarDB PostgreSQL版。
MongoDB 3.6版本及以上。
說明目前MongoDB作為源庫進行數(shù)據(jù)歸檔正在公測中。
源數(shù)據(jù)庫的管控模式為穩(wěn)定變更或安全協(xié)同。
需要歸檔的源表必須存在主鍵或者唯一鍵。
說明建議源表中包含業(yè)務(wù)修改時間的字段,以便將業(yè)務(wù)修改時間作為歸檔的過濾條件。
費用說明
公測階段暫不收費。若使用此功能開始收費,則會提前通知。
注意事項
數(shù)據(jù)歸檔至專屬存儲無存儲量限制。
如果待歸檔的源表中存在三個列聯(lián)合主鍵(即三個相互關(guān)聯(lián)的列共同構(gòu)成該表的主鍵)或三個及以上的唯一鍵,可能會出現(xiàn)歸檔失敗的情況。建議您在歸檔前對擁有三個列聯(lián)合主鍵的源表進行充分測試,或者考慮使用DBS備份等其他歸檔方式。
數(shù)據(jù)歸檔
- 登錄數(shù)據(jù)管理DMS 5.0。
在頂部菜單欄中,選擇 。
說明若您使用的是極簡模式的控制臺,請單擊控制臺左上角的圖標,選擇
。在頁面右上角,單擊數(shù)據(jù)歸檔。
在新建數(shù)據(jù)歸檔工單頁面,配置以下信息:
配置項
是否必填
說明
歸檔目標
是
選中專屬存儲。
源數(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í)行。
說明歸檔后的數(shù)據(jù)格式為Parquet文件格式,且數(shù)據(jù)量會有所壓縮。
恢復(fù)已歸檔數(shù)據(jù)至源庫
費用說明
該功能免費使用。
使用限制
恢復(fù)到源庫的任務(wù)每次只能恢復(fù)一個,必須等待當前恢復(fù)完成后,才能執(zhí)行下一個任務(wù)。
僅源數(shù)據(jù)庫類型為RDS MySQL、PolarDB MySQL版、AnalyticDB MySQL 3.0可使用此功能。
操作步驟
進入數(shù)據(jù)歸檔工單列表頁面,視圖選擇工單視圖。
單擊目標工單視圖行操作列下的詳情。
在數(shù)據(jù)歸檔工單列表頁的執(zhí)行區(qū)域,單擊操作列下的恢復(fù)到源庫。
在對話框中,單擊確認。
此時歸檔的任務(wù)下會增加一個恢復(fù)的任務(wù)。系統(tǒng)自動執(zhí)行此任務(wù),您需要等待任務(wù)狀態(tài)從正在執(zhí)行變?yōu)?b data-tag="uicontrol" id="uicontrol-o3x-ert-88a" class="uicontrol">執(zhí)行成功,此過程耗時長短與您恢復(fù)的數(shù)據(jù)量有關(guān)。
重要執(zhí)行歸檔數(shù)據(jù)恢復(fù)到源庫操作后,系統(tǒng)會自動在源庫中創(chuàng)建臨時表,可能會造成源庫空間不足,請您謹慎操作。
查看已恢復(fù)的數(shù)據(jù)。
在該工單詳情頁的基本信息區(qū)域,單擊變更庫名稱,在彈出的提示框上單擊查詢。
雙擊目標表名稱,單擊執(zhí)行。
您可在SQL Console頁面下方的執(zhí)行結(jié)果區(qū)域,查看已恢復(fù)的數(shù)據(jù)。
刪除已歸檔至專屬存儲的數(shù)據(jù)
刪除已歸檔數(shù)據(jù)的操作不可逆,請謹慎使用。
物理刪除單次或周期歸檔工單中已歸檔至專屬存儲的數(shù)據(jù),可釋放數(shù)據(jù)占用的存儲空間。
注意事項
刪除歸檔數(shù)據(jù)后,不可進行歸檔后查詢數(shù)據(jù)、恢復(fù)已歸檔數(shù)據(jù)至源庫操作。
操作步驟
進入數(shù)據(jù)歸檔工單列表頁面,視圖選擇工單視圖。
選擇目標工單,單擊操作列下的詳情。
進入數(shù)據(jù)歸檔工單列表頁面,在執(zhí)行區(qū)域,單擊目標任務(wù)操作列下的更多 > 刪除。
在彈出的對話框中,單擊確認。
常見問題
Q:邏輯庫進行數(shù)據(jù)歸檔查詢時會將所有邏輯庫的表合并到一個物理表中嗎?
A:會。邏輯庫在進行數(shù)據(jù)歸檔時,會將所有邏輯庫的表都合并到一個物理表內(nèi),因此在歸檔視圖頁面中,查詢?nèi)我庖粋€邏輯表就可以查詢到邏輯庫中所有表的數(shù)據(jù)。
Q:同一個工單內(nèi)進行了多次歸檔,即周期歸檔,在進行數(shù)據(jù)查詢時,可以查詢指定時間段的數(shù)據(jù)歸檔嗎?
A:可以。同一個工單的周期歸檔會根據(jù)歸檔的時間生成不同時間段的歸檔數(shù)據(jù),所以可以通過創(chuàng)建數(shù)據(jù)歸檔的時間,判斷并查詢指定時間段的歸檔數(shù)據(jù)。
Q:如何查詢某張表周期性歸檔的所有數(shù)據(jù)、查詢同一張表跨工單歸檔的所有數(shù)據(jù)?
A:進入邏輯數(shù)倉功能頁面,在數(shù)據(jù)源頁簽下,選擇
,展開目標數(shù)據(jù)庫,雙擊目標表名或工單號,此時SQL窗口會自動填充查詢SQL,單擊執(zhí)行,可在執(zhí)行結(jié)果區(qū)域查看歸檔數(shù)據(jù)。Q:在RDS數(shù)據(jù)庫歸檔至專屬存儲過程中,勾選了源表數(shù)據(jù)清理后,產(chǎn)生的備份臨時表數(shù)據(jù)會占用多少源庫空間?
A:臨時表數(shù)據(jù)最多會占用源庫中已占用空間的一倍。