全部產品
Search
文件中心

PolarDB:Fast Import使用說明

更新時間:Jun 04, 2025

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資源充足時,訪問恢複狀態表的效率與正常表相當,但在叢集負載較高的情境下,訪問恢複狀態表的效率會受到限制,以降低對正常業務的影響。

  • 在恢複任務完成之前,僅允許以唯讀模式訪問恢複的目標表。

使用說明

下發庫表恢複任務

在下發庫表恢複任務之後,可通過頁面右上方的詳情連結進入到任務詳情頁面

image

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

image

唯讀快速存取

您可以通過查詢information_schema.fast_import_tablespaces表,擷取當前恢複任務中所有支援快速唯讀訪問的表資訊。

說明

當前正處於匯入狀態的表可以進行快速唯讀訪問,但在下面的查詢結果中不會顯示具體表名。您可以通過執行SHOW PROCESSLIST命令來查看包含dbms_rman.import的SQL語句,擷取當前正在恢複的表名。

SELECT * FROM information_schema.fast_import_tablespaces;

圖 1. 為處於恢複狀態的表可唯讀訪問全量資料。

image

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

image.png

常用問題

查詢恢複的目標表資料為空白?

確保當前任務已執行至“主節點庫表恢複步驟”,並滿足以下條件:

  • 表資訊存在於information_schema.fast_import_tablespaces列表中。

  • 或者正在執行dbms_rman.import SQL操作並且滿足其條件注意事項

如果表資料量非常大,查詢恢複狀態中的表是否有其他影響?

Fast Import特性主要用於快速校正和恢複資料。需要注意以下事項:

  • 查詢恢複中的表,其對資料庫叢集的影響與在正常表上執行相同資料量的查詢等效。

  • 不推薦對正在恢複的表執行連續的、長時間的大規模查詢操作。

對恢複的目標表做更新操作報錯?

information_schema.fast_import_tablespaces列表中的表以及正在執行dbms_rman.importSQL操作的表,表示這些表正處於恢複或即將進行恢複的狀態。這些表僅允許唯讀訪問,不支援任何更新或修改操作。

image

聯絡我們

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