您可以使用下列任一方法,將大量資料匯入或匯出 Spanner:
- 使用 Dataflow 匯入或匯出任何 Spanner 資料庫。
- 使用 Avro 或 CSV 檔案格式,將任何 Spanner 資料庫匯出至 Cloud Storage 值區。
- 將 Avro 或 CSV 檔案中的資料匯入新的 Spanner 資料庫。
用途
您可以將 Spanner 匯入和匯出功能用於下列用途:
- 大量載入:您可以將大量資料匯入 Spanner。
長期備份和封存:您隨時可以匯出資料庫,並將其儲存在所選的 Cloud Storage 值區位置,以便長期備份或封存。此外,您也可以使用時間點復原功能,從過去的特定時間戳記匯出資料庫。如果您想採用可提供更快速復原作業但保留時間較短的災難復原技術,不妨考慮使用備份或時間點復原 (PITR)。
將資料庫複製到開發或測試專案:您可以從實際工作專案匯出資料庫,然後匯入開發或測試專案,用於整合測試或其他實驗。
擷取數據以進行數據分析:您可以匯出資料庫,將大量營運資料擷取至 BigQuery 等數據分析服務。BigQuery 可自動從 Cloud Storage 儲存桶擷取 Avro 格式的資料,讓您更輕鬆地針對營運資料執行數據分析。如果您想使用 BigQuery 即時分析 Spanner 資料,但不想複製或移動資料,可以改用 Spanner 聯合查詢。
比較匯入和匯出功能,以備份及還原
Spanner 的匯入和匯出功能在許多方面與備份和還原功能相似。下表說明這兩者之間的相似之處和差異,協助您決定要使用哪一個。
備份與還原 | 匯入及匯出 | |
---|---|---|
資料一致性 | 備份和匯出的資料庫都具有交易一致性和外部一致性。 | |
效能影響 | 備份不會影響執行個體的效能。Spanner 會使用不占用執行個體伺服器資源的專屬工作來執行備份作業。 | 匯出作業會以中等優先順序執行,盡可能減少對資料庫效能的影響。詳情請參閱「工作優先順序」。 |
儲存格式 | 使用專屬的加密格式,可快速還原。 | 同時支援 CSV 和 Avro 檔案格式。 |
可攜性 | 您可以在與來源資料庫相同的執行個體中建立備份。 建立備份後,如果您需要跨區或跨專案備份,可以複製備份至其他區域或專案中的執行個體。接著,您可以從備份還原新資料庫,並將其傳送至同一專案中的任何執行個體。還原的執行個體應與備份儲存的執行個體設定相同。 |
匯出的資料庫會儲存在 Cloud Storage 中,且資料可遷移至任何支援 CSV 或 Avro 的系統。 |
保留 | 備份最多可保留一年。 | 匯出的資料庫會儲存在 Cloud Storage 中,並且預設會保留至刪除為止。您可以自訂生命週期和保留政策。 |
定價 | 備份費用會根據每單位時間使用的儲存空間,向您的 Spanner 專案收費。詳情請參閱「定價」一節。 | 匯入和匯出作業會使用 Cloud Storage 和 Dataflow,因此相關的帳單處理方式較為複雜。詳情請參閱「資料庫匯出和匯入定價」。 |
還原時間 | 還原作業會在兩個作業中進行:還原和最佳化。資料庫會直接掛載備份,而不需要複製資料,因此還原作業可快速完成。還原作業完成後,資料庫即可供使用,但在進行最佳化時,讀取延遲時間可能會稍微增加。詳情請參閱「還原功能的運作方式」。 | 匯入速度較慢。您必須等待所有資料寫入資料庫。 |
比較檔案格式
下表比較匯入及匯出 Spanner 資料時,Avro 和 CSV 檔案格式的功能差異。
功能 | Avro 格式 | CSV 格式 |
---|---|---|
匯入或匯出整個資料庫 | 是 | 否 |
可匯出資料庫中所選資料表 | 是 | 是 |
可匯入先前匯出的資料表 | 是 | 是 |
匯出特定時間戳記的資料 | 是 | 是 |
使用 Google Cloud CLI 匯入或匯出 | 是 | 是 |
使用 Dataflow 匯入或匯出 | 是 | 是 |
使用 Spanner 匯入或匯出 | 是 | 否 |
Avro 檔案
匯出 Avro 格式時,您可以指定要匯出的表格清單。以這種方式匯出的任何子項資料表都必須搭配其父項資料表。Spanner 會在匯出的檔案中維護整個資料庫結構定義。
從 Avro 格式匯入時,Spanner 會重新建立已匯出的資料庫的整個結構定義,包括所有資料表。原始匯出作業中包含的資料表會收到所有匯出資料,其他資料表則會保持空白。
Google Cloud 控制台的 Spanner 頁面提供有限的 Avro 格式匯入和匯出選項。舉例來說,您無法設定網路和子網路選項。如需更多選項,請改用 Dataflow。
限制
您無法將區域群組匯出及匯入至 Avro 格式。
CSV 檔案
您一次只能匯出單一 Spanner 資料表,且格式為 CSV。匯出時,系統只會匯出資料,不會匯出結構定義。
從 CSV 檔案匯入資料前,您必須建立 JSON 資訊清單檔案。
定價
使用匯出或匯入工具時,Spanner 不會向您收取額外的費用;只有將資料庫匯入 Spanner 時,您才必須按照標準費率支付資料儲存空間的費用。不過,您可能需要支付其他與匯入及匯出資料庫有關的費用。詳情請參閱「資料庫匯出和匯入定價」。