PolarDB MySQL版提供的Fast Import特性,允許使用者在下發庫表恢複任務後,等待約5~10分鐘(和恢複資料量大小無關)即可查詢恢複任務中庫表的全量資料,無需等待恢複任務完成。
情境概述
Fast Import 特性與庫表恢複新流程相容,查詢操作可與恢複任務同時進行。
Fast Import特性可以加速以下兩種情境:
當資料或表被誤刪除,且無法確定具體時間點時,傳統的恢複任務可能需要等待很長時間才能完成。通過Fast Import特性,使用者無需等待恢複任務結束即可快速查詢和校正資料。
當少量資料被誤刪除,但所在表規模較大時,Fast Import特性支援使用者通過
INSERT ... SELECT ...的方式,快速從恢複任務的表中提取所需資料,並將其插入到被誤刪資料的表中,從而提升操作效率。
版本限制
適用的資料庫引擎版本為MySQL 8.0.1,且小版本需為8.0.1.1.49及以上版本。您可以通過查詢版本號碼來確認叢集版本。
注意事項
目前該功能在灰階中,如需使用,您可以聯絡我們加入白名單,啟用該功能。
僅支援file-per-table配置(預設配置),非壓縮且非加密表,在恢複任務執行過程中查詢資料。
恢複任務表的數量在1000以下,系統會預設啟用
Fast Import特性,從而支援在恢複過程中查詢全量資料。說明恢複任務數量在1000以上,系統不會啟用
Fast Import特性。管理工作流程會自動根據您當前下發任務判斷來是否開啟Fast Import特性。僅支援在讀寫(RW)節點和唯讀(RO)節點執行查詢操作。如果存在列存唯讀(RO)節點,可使用HINT文法強制路由到讀寫(RW)或者行存唯讀(RO)節點,否則可能會查詢不到資料。
當
buffer pool資源充足時,訪問恢複狀態表的效率與正常表相當,但在叢集負載較高的情境下,訪問恢複狀態表的效率會受到限制,以降低對正常業務的影響。在恢複任務完成之前,僅允許以唯讀模式訪問恢複的目標表。
使用說明
下發庫表恢複任務
在下發庫表恢複任務之後,可通過頁面右上方的詳情連結進入到任務詳情頁面

在任務詳情頁面可看到任務的即時進度,在步驟4結束後可通過show databases或 show tables等操作確認恢複任務已建立目標庫/表,此時即可查詢目標庫/表的全量資料。

唯讀快速存取
您可以通過查詢information_schema.fast_import_tablespaces表,擷取當前恢複任務中所有支援快速唯讀訪問的表資訊。
當前正處於匯入狀態的表可以進行快速唯讀訪問,但在下面的查詢結果中不會顯示具體表名。您可以通過執行SHOW PROCESSLIST命令來查看包含dbms_rman.import的SQL語句,擷取當前正在恢複的表名。
SELECT * FROM information_schema.fast_import_tablespaces;圖 1. 為處於恢複狀態的表可唯讀訪問全量資料。

圖 2. 為其他已開啟快速存取的表可以唯讀訪問全量資料。

常用問題
聯絡我們
若您對Fast Import有任何疑問,可通過DingTalk搜尋群號入群諮詢。您可以直接@群內專家,並附上您要諮詢的問題。同時群內也有PolarDB MySQL版小助手24*7小時線上回答您的問題。DingTalk群號:28000021116。
