これが私がそれを最もよく処理すると思う解決策と一緒に考慮すべきいくつかの要因です:
開発時間-データストア管理者-バルクローダーを活用するには、スクリプトを作成し、バックアップサーバー、ストレージなどを維持する必要があります。
コスト-データストア管理者-YMMVですが、数千万のエンティティのバックアップでは、10億のタスクキュークォータの1%未満が使用されました。データストアの読み取り操作とストレージのコストは、アプリケーションによって異なります。ただし、2つのオプションの間で、読み取り操作は同じである必要があり、データストア管理者とBlobstoreストレージ($ 0.0043 / GB)のバルクローダーで送信帯域幅($ 0.12 / GB)を交換しています。
バックアップ期間-データストア管理者-ご想像のとおり、Googleのネットワーク内のBlobstoreにデータを書き込むmapreduceシャードは、エンティティデータを一度に1つずつストリーミングするよりもはるかに高速です。データストア管理者によるデータの完全バックアップには6時間未満かかります。バルクローダーを使用すると、3日以上かかります。
バックアップのメンテナンス-バルクローダー(今のところ) -バルクローダーとサーバーを使用すると、cronを作成して、バックアップとバックアップのメンテナンスを定期的に実行できます。たとえば、Rackspaceには、3日ごとにデータストアをバックアップし、最後の2つのバックアップを保持するサーバーがあります。Datastore Adminを使用すると、自動化されたソリューションが公開されるまで、手動でバックアップを実行し、古いバックアップを削除する必要があります(問題7040)。それでも、月に1回のバックアップの場合、Datastore Adminを使用して手動で行うコストは非常に低いため、お勧めします。
データの柔軟性-バルクローダー-バルクローダーを使用すると、すべてのデータを人間が読める形式のcsvファイルにエクスポートして、Excelでピボットしたり、ローカル開発環境のテストデータセットを作成したり、操作を別のアプリホスティングサービスに移動したりできます(例: AWS)必要な場合。
Precision Restore - Bulkloader -Bulkloaderは、選択したエンティティ(削除または上書きしたエンティティが正確にわかっている場合)および一括復元の復元を処理できます。データストア管理者は、特定の種類のすべてのエンティティに対してのみ一括復元を実行できます。
一括復元-データストア管理-データストア管理は、変更されたエンティティを更新するだけで、非常にコストのかかる書き込みを最小限に抑えます。シャーディングにより、このプロセスは単純なバルクローダーのアップロードよりもはるかに高速になります(ただし、多くのクライアント間でcsvバックアップデータを自分でシャーディングすることもできます)。
最終的に、Bulkloaderはより正確な制御を提供し、DatastoreAdminは一括バックアップ/復元を簡素化および高速化します。データストア管理者は新しく、いくつかの問題(7076)がありますが、状況を考えると、絶対にお勧めします。