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

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

ユースケース

インポートとエクスポートのユースケースには、次のものがあります。

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

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

  • 分析用に取り込む: データベースのエクスポートを使用して、運用データを 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 では、一度に CSV 形式にエクスポートできるテーブルは 1 つのみです。エクスポートするときに、スキーマはエクスポートされず、データのみがエクスポートされます。

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

料金

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

次のステップ