Spanner のインポートとエクスポートの概要

概要

Spanner のインポートとエクスポート機能を使用すると、Dataflow を使用して Spanner データベースとの間でデータを一括で移動できます。Avro または CSV ファイル形式を使用して、任意の Spanner データベースを Cloud Storage バケットにエクスポートできます。Avro ファイルまたは CSV ファイルから新しい Spanner データベースにデータをインポートすることもできます。

ユースケース

インポートとエクスポートの機能のユースケースは次のとおりです。

  • 一括読み込み: インポート機能を使用して、Spanner に一括でデータを読み込むことができます。
  • 長期バックアップとアーカイブ: データベースはいつでもエクスポートして、長期バックアップまたはアーカイブ用に選択した Cloud Storage バケットのロケーションに保存できます。また、ポイントインタイム リカバリを使用して、特定の過去のタイムスタンプからデータベースをエクスポートできます。

    Spanner は、障害復旧の高速化のユースケースでマネージド バックアップと復元も提供します。

  • 開発プロジェクトまたはテスト プロジェクトへのデータベースのコピー: データベースを本番環境プロジェクトからエクスポートし、開発プロジェクトまたはテスト プロジェクトにインポートして、統合テストやその他のテストに使用できます。

  • 分析のための取り込み: データベース エクスポートを使用して、BigQuery などの分析サービスにオペレーション データを一括で取り込むことができます。BigQuery が Cloud Storage バケットから Avro 形式のデータを自動的に取り込むことができるため、運用データを簡単に分析できます。

    BigQuery を使用してデータのコピーや移動を行わずに Spanner データのリアルタイム分析を行う場合は、Spanner 連携クエリを使用できます。

ファイル形式の比較

次の表は、Spanner データのインポートおよびエクスポート時の Avro ファイル形式と CSV ファイル形式の機能の違いを比較したものです。

適用される制限事項の情報を含む、これらの形式との間でのインポートまたはエクスポートを行う方法については、以下の次のステップをご覧ください。

能力 Avro 形式 CSV 形式
データベース全体をインポートまたはエクスポートする ×
データベース内の選択したテーブルのみをエクスポートする機能 ○* Yes†
以前にエクスポートされたテーブルをインポートする機能 ○* Yes†
過去のタイムスタンプでエクスポートする
Google Cloud CLI を使用したインポートまたはエクスポート あり
Google Cloud コンソールの Dataflow ページを使用してインポートまたはエクスポート あり
Google Cloud コンソールの [Spanner] ページを使用したインポートまたはエクスポート ○* ×

* 下記の「Avro のインポートとエクスポートに関する注意事項」をご覧ください。
† 以下の「CSV のインポートとエクスポートに関する注意事項」をご覧ください。

Avro のインポートとエクスポートに関する注意事項

Avro 形式でエクスポートするときは、エクスポートするテーブルのリストを指定できます。この方法でエクスポートされた子テーブルには、親テーブルが伴う必要があります。Spanner は、エクスポートされたファイルにデータベース スキーマ全体を保持します。

Avro 形式からインポートすると、Spanner はエクスポートされたデータベースの全体のスキーマ(すべてのテーブルを含む)を再作成します。元のエクスポートに含まれるテーブルは、エクスポートされたすべてのデータを受け取ります。他のすべてのテーブルは空のままです。

Google Cloud コンソールの Spanner ページでは、Avro 形式のインポートとエクスポートのオプションが制限されています。たとえば、ネットワークやサブネットワークのオプションは使用できません。より広範なオプションが必要な場合は、代わりに Dataflow ページを使用してください。

CSV のインポートとエクスポートに関する注意事項

Spanner では、一度に 1 つのテーブルのみを CSV 形式でエクスポートできます。エクスポートすると、スキーマはエクスポートされず、データのみがエクスポートされます。

CSV ファイルからインポートする前に、JSON マニフェストを手動で作成する必要があります。

料金

Spanner では、エクスポート ツールまたはインポート ツールの使用に対して追加料金は発生しません。データベースを Spanner にインポートする際に、データ ストレージに対して標準料金が課金されます。ただし、データベースのインポートとエクスポートに関連して以下の料金がかかる場合があります。詳細については、Spanner の料金ページをご覧ください。

次のステップ