HBase の適切な Java ORM 実装は誰でも知っています。これはRubyにとって本当に素敵に見えます
http://www.stanford.edu/~sqs/rhino/doc/
しかし、Java用のものは見つかりませんでした。
ありがとう。
HBase の適切な Java ORM 実装は誰でも知っています。これはRubyにとって本当に素敵に見えます
http://www.stanford.edu/~sqs/rhino/doc/
しかし、Java用のものは見つかりませんでした。
ありがとう。
最近、Hbase 上の ORM である kundera-2.0.4 の新しいリリース。インデックス作成、クロスデータストアの永続化など、非常に便利な他の多くのものを提供します.
試してみることをお勧めし ます https://github.com/impetus-opensource/Kundera
実行可能な jar は次の場所にあります。
HBase の強みは、動的な列を静的な列ファミリーに保持することです。HBase を使用してアプリケーションを開発した経験から、セルの修飾子と値を決定するのは SQL ほど簡単ではないことがわかりました。
たとえば、アクセス パターン、著者の編集、アプリ レイヤー キャッシュの実装に応じて、著者と同じ数の本を本テーブルに保存することを選択する場合があります (つまり、著者は 2 つのテーブル、著者テーブル、および本テーブルに存在します)。 ) または著者 ID のみ。さらに、作成者のコレクションを XML/JSON として 1 つのセルに保存することも、個々の作成者の個別のセルに保存することもできます。
このことを理解した上で、Hibernate などの本格的な ORM を作成することは非常に難しいだけでなく、実際には決定的ではない可能性があると結論付けました。そこで私は、iBatis が Hibernate を行うのと同じように、別のアプローチを取りました。
それがどのように機能するかを説明してみましょう。このために、こことここのソース コードを使用します。
以上です。それらの使用方法については、こちらをご覧ください。基本的に、CommonReadDao、CommonWriteDao を使用して、HBase との間でデータを読み書きします。共通の read dao は、マルチスレッドの行からオブジェクトへの変換をクエリで実装し、マルチスレッドの ID による取得、ID による取得を実装し、Hibernate Criteria のような API を使用して Scan 経由で HBase にクエリを実行します (集計関数は使用できません)。Common write dao は、楽観的/悲観的ロック、セル オーバーライド/マージ チェック エンティティ (非) 保存、更新、削除などの存在を確認するなど、いくつかの追加機能を備えた一般的な書き込み関連コードを実装します。
この ORM は内部目的のために開発されたものであり、私は首をかしげていたため、まだいくつかのドキュメントを作成できません。しかし、もし興味があれば、私に知らせてください。
Hibernate OGM は、SQL データベース以外の優れたソリューションです。やってみて。
datanucleus について: JPA または JDO を API として使用し、hbase をバックエンド ストアとして使用できます: http://www.datanucleus.org/plugins/store.hbase.html
これを試すことができます: http://code.google.com/p/hbase-ormlite/。これは Java の HBase の orm です。
HBase ORM - Surus を使用してい ます https://github.com/mushkevych/surus/wiki
おそらく言及する価値がある