您可以使用下列任一方法,將大量資料匯入或匯出 Spanner:
- 使用 Dataflow 匯入或匯出任何 Spanner 資料庫。
- 使用 Avro 或 CSV 檔案格式,將任何 Spanner 資料庫匯出至 Cloud Storage 值區。
- 從 Avro 或 CSV 檔案將資料匯入新的 Spanner 資料庫。
用途
您可以在下列情況使用 Spanner 匯入和匯出功能:
- 大量載入:您可以將大量資料匯入 Spanner。
長期備份和封存:您可以隨時匯出資料庫,並儲存在所選的 Cloud Storage bucket 位置,以進行長期備份或封存。此外,您可以使用時間點復原功能,匯出過去特定時間戳記的資料庫。如果您需要復原速度較快但保留期限較短的災難復原技術,建議使用備份或時間點復原 (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 檔案
你一次只能以 CSV 格式匯出單一 Spanner 資料表。匯出時,系統不會匯出結構定義,只會匯出資料。
從 CSV 檔案匯入資料前,請先建立 JSON 資訊清單檔案。
定價
使用匯出或匯入工具時,Spanner 不會向您收取額外的費用;只有將資料庫匯入 Spanner 時,您才必須按照標準費率支付資料儲存空間的費用。不過,您可能需要支付其他與匯入及匯出資料庫有關的費用。詳情請參閱資料庫匯出和匯入定價。