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 の料金ページをご覧ください。
次のステップ
- Spanner から Avro へのデータベースのエクスポート方法を確認する
- Spanner Avro ファイルのインポート方法を確認する
- CSV 形式のデータのインポートとエクスポート方法を確認する
- Spanner 以外のデータベースからデータをインポートする方法を確認する