JavaのGAEで構築されたアプリケーションで作業しています。 DatastoreServicesとEntityクラスを使用するか、オブジェクトのクラスを作成するか、PersistenceManagerを使用するかどうかを調べるのに問題があります。Java App Engine DatastoreServiceまたはPersistenceManager?
誰かがこの2つのサービスの違いを説明できますか?
JavaのGAEで構築されたアプリケーションで作業しています。 DatastoreServicesとEntityクラスを使用するか、オブジェクトのクラスを作成するか、PersistenceManagerを使用するかどうかを調べるのに問題があります。Java App Engine DatastoreServiceまたはPersistenceManager?
誰かがこの2つのサービスの違いを説明できますか?
これらのいずれかを使用する固定の理由がない場合は、Objectifyをご覧ください。これは、ストレージのためにはるかに優れたライブラリです。
SDKのDatastoreサービスは、Bigtable RPCと直接話せるようにする低レベルのサービスです。 Bigtableのデータ形式とAPIに変換し、BigtableのRPCメソッドを呼び出すコードを記述します。
JDO仕様とその永続性マネージャは、データクラスの作成とその格納と取り出しを扱うJava標準です。これは、直接データストアサービスよりも高いレベルの抽象化です。 GoogleはGAEで動作するようにJDO仕様を実装していますので、必要に応じて使用できます。
Objectifyは、エンタープライズJava標準ではないJDOに代わるものですが、はるかに簡単で楽しい使い方です。これはPython APIに非常によく似ており、非常に素晴らしく簡潔になっています。
PersistenceManager(JDO)がより多くのリソース(=より多くの金額)を消費し、遅くなるため、DatastoreServiceに投票しました。
http://gaejava.appspot.com/ - ここで比較できます。このテストを数回試してみてください。
素晴らしいアイデアと仕事!純粋な低レベルJava APIと比較してオーバーヘッドがより明確になるようにObjectifyを追加できますか? –
もちろん、DatastoreServiceまたはObjectifyを使用してJDOを使用する利点は、GAEへの配置に限定されないことです。すべての主要なRDBMSを含む多くのストレージエンジン用のJDO実装があります。 – WhiteFang34