2011年9月9日金曜日

Google App Engine for JavaのHigh Replication Datastoreの使用

前回までの翻訳で述べられている通り、
Google App Engine for Javaのデータストアには2種類あり、
そのうちの1つを選択して使用します。

今回から、2種類のデータストアのうちの
High Replication Datastore(高レプリケーションデータストア、HRD)の
使用方法についてのドキュメントの翻訳です。

原文はこちらです。

Using the High Replication Datastore (高レプリケーションデータストアの使用)

高レプリケーションデータストアは、データを複数のデータセンターに同期して保存することにより、読み書きについてのより高い可用性を提供します。バックエンドが変更されていますが、データストアAPIには全く変更はありません。使用しているデータストアがどちらであるかに関わらず、同じプログラミングインターフェイスを使用します。
高レプリケーションデータストアはより高いレプリケーションのためにより多くのコストがかかります(billing page for pricing detailsを参照)。高いコストのため、主に高い可用性を必要とするクリティカルなApp Engineアプリケーションを作成している開発者向けに高レプリケーションデータストアをお勧めしています。
しかしながら、高レプリケーションデータストアでは、エンティティグループに跨るクエリ(言い換えると、非エンシェスタクエリ)は古い結果を返す場合があります。高レプリケーション環境で一貫性の強いクエリの結果を返すために、単一のエンティティグループ上でクエリを発行する必要があります。このクエリのタイプは、エンシェスタ(祖先)クエリと呼ばれています。
エンシェスタクエリは、全ての操作はグループ全体に適用されることにより、エンティティグループが一貫性の単位であるために機能します。エンシェスタクエリはエンティティグループ全体が更新されるまでデータを返しません。このように、エンティティグループ上のエンシェスタクエリから返されるデータは強い一貫性を持ちます。
アプリケーションが強い一貫性を持つ結果に依存している場合、アプリケーションがエンティティを保存する方法を変更する必要がある場合があります。このページでは、高レプリケーションデータストアに保存されたデータを使用するためのベストプラクティスについて論じています。サンプルゲストブックアプリケーションを使って、マスター/スレーブと高レプリケーションデータストアがそれぞれどう機能する見てみましょう。

インストール不要・無料のKaede翻訳ツール:
http://kaedetrans.appspot.com/

0 件のコメント:

コメントを投稿