1

アプリケーションにGoogleDatastoreを使用していますが、レポートの目的で、GAEDatastoreからGoogleCloudSQLにデータを移行したいと考えています。

どのようなオプションがありますか?(私は10万を超えるエントリを持っており、延期された仕事でそれを行うには多くの時間がかかります)。

4

1 に答える 1

1

質問を読むと、2つの部分からなる問題があるようです。1)過去のすべてのデータをCloud SQLに1回エクスポートする、2)2つのデータベースの同期を維持するために何らかの定期的なETLプロセスを設定する。

ドキュメントを読んだことに基づく1回限りのダンプの場合、ここにいくつかのオプションがあるようです。

  1. Bulkloaderを使用してすべてのデータをCSVにエクスポートし、それをローカルMySQLインスタンスにロードし、mysqldumpを生成し、このチュートリアルに従ってCloud SQLにロードするか、CloudSQLインスタンスに接続してロードするスクリプトを作成します。一度に1つのトランザクションをデータ化します。
  2. アプリケーション内にプログラムでプロセスを作成して、特定のデータをCloud SQLインスタンスに書き込むタスクと、CloudSQLdbに接続してデータを書き込む別のワーカーを公開します。

個人的には、メインアプリケーションにスローアウェイコードを追加していないので、bulkloader / local mysql/mysqldumpルートを使用します。問題が発生した場合は、CloudSQLインスタンスをクリアして再起動するだけです。

ETLピースの場合、ほぼリアルタイムでアクセスできるため、タスクキュールートのいずれかをお勧めしますが、キューの実行速度を制限することでコストを制御できます。

編集:この記事は興味深いかもしれません-GAEから別のDBへのデータ移行について説明しています:http : //www-cs-students.stanford.edu/~silver/gae.html(意味のあるコンテンツは暴言の部分の後にあります...)

于 2012-12-20T21:29:57.707 に答える