データのインポートとエクスポートのベスト プラクティス

このページでは、Cloud SQL でデータをインポートおよびエクスポートする際のベスト プラクティスを示します。Cloud SQL にデータをインポートする詳細な手順については、データのインポートをご覧ください。

ご自身が管理する MySQL インスタンスで使用する Cloud SQL からデータをエクスポートするには、データのエクスポートをご覧ください。

インポートとエクスポートのベスト プラクティス

データをインポートおよびエクスポートする際に考慮すべきベスト プラクティスは、次のとおりです。

リクエスト元による支払いバケットを使用しない

Cloud SQL からのインポートとエクスポートに、リクエスト元による支払いが有効になっているバケットは使用できません。

SQL ダンプファイルの作成時に正しいフラグを使用する

データを SQL ダンプファイルにエクスポートするときに正しいフラグを使用しなかった場合、インポートが失敗する可能性があります。Cloud SQL にインポートする SQL ダンプファイルの作成については、SQL ダンプファイルの作成をご覧ください。

コスト削減のためデータを圧縮する

Cloud SQL では、圧縮ファイルと非圧縮ファイルの両方のインポートとエクスポートがサポートされています。特に大きいインスタンスをエクスポートするときは、圧縮すると Cloud Storage のストレージ スペースを大幅に節約でき、ストレージ コストの削減にもなります。

SQL ダンプファイルや CSV ファイルをエクスポートするときは、ファイル拡張子 .gz を使用してデータを圧縮します。ファイル拡張子 .gz のファイルは、インポートすると自動的に解凍されます。

InnoDB を使用する

InnoDB は、MySQL インスタンスでサポートされている唯一のストレージ エンジンです。

次のように sed スクリプトを使って mysqldump の出力をパイプでつなぐことで、MyISAM から InnoDB にテーブルを変換できます。

mysqldump --databases [DATABASE_NAME] \
-h [INSTANCE_IP] -u [USERNAME] -p [PASSWORD] \
--hex-blob --default-character-set=utf8mb4 | sed 's/ENGINE=MyISAM/ENGINE=InnoDB/g' > [DATABASE_FILE].sql

長時間にわたるインポートおよびエクスポート プロセスに関するヒント

インポート機能(Cloud Storage バケット経由)を使用した Cloud SQL へのインポートとエクスポートは、データベースのサイズによっては、完了するまでに長時間かかる場合があります。その結果、次の影響があります。

  • 長時間実行オペレーションを停止することはできません。
  • 各インスタンスに対して実行できるインポートまたはエクスポート オペレーションは、一度に 1 つのみです。

Cloud SQL のインポートまたはエクスポート機能をバッチサイズのより小さいデータで使用して、各オペレーションの完了に要する時間を短縮できます。

その他のヒントについては、Cloud SQL インスタンスでの問題を診断するをご覧ください。

次のステップ