問題タブ [berkeley-db-je]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 高速でスケーラブルな永続マップを推奨-Java
Javaアプリで使用するには、ディスクでバックアップされたMap構造が必要です。次の基準が必要です。
- 数百万(数十億)のレコードを保存できます
- 高速ルックアップ-マップでの操作の大部分は、キーがすでに存在するかどうかを確認するだけです。これと上記の1つが最も重要な基準です。頻繁に使用されるキーのメモリキャッシュメカニズムには効果的なものが必要です。
- 永続的ですが、トランザクションである必要はありませんが、何らかの障害が発生する可能性があります。つまり、定期的にディスクと同期でき、トランザクションである必要はありません。
- 単純なプリミティブ型を格納できますが、シリアル化されたオブジェクトを格納する必要はありません。
- 配布する必要はありません。つまり、すべてを1台のマシンで実行します。
- セットアップが簡単で、無料で使用できます。
- リレーショナルクエリは必要ありません
レコードキーは文字列またはlongになります。上記のように、読み取りは書き込みよりもはるかに頻繁に行われ、読み取りの大部分は単にキーが存在するかどうかを確認することです(つまり、キーに関連付けられたデータを読み取る必要はありません)。各レコードは1回だけ更新され、レコードは削除されません。
私は現在BdbJEを使用していますが、他のオプションを探しています。
アップデート
その後、セカンダリキーへの依存を減らすことで、既存のBDBセットアップでのクエリパフォーマンスが向上しました。一部のクエリでは、2つのセカンダリキーを結合する必要があり、それらを複合キーに結合することで、ルックアップの間接参照のレベルを削除しました。これにより、処理が大幅に高速化されます。
java - Berkeley DB JE - カーソル数を開く
開いているカーソルのリスト (または少なくとも現在開いているカーソルの数) を API に要求する方法はありますか?
security - 認証を設定するberkeleydbje
berkeley db Java Edition でデータベース アプリケーションにユーザー認証を設定する方法。
java - Berkeley DB JEBaseAPIのセカンダリデータベースとシーケンスに関する問題
とで構成されるクラスDocumentがId (int)
ありUrl (String)
ます。Id
にプライマリインデックスとにセカンダリインデックスを設定したいと思いUrl
ます。Idの自動インクリメントのシーケンスも必要です。そこで、SecondaryDatabaseを作成してから、シーケンスを作成します。シーケンスの初期化中に、例外が発生します。
シーケンスの初期化中に、セカンダリデータベースが強制的に更新されるようです。MyDocumentBidingのentryToObjectメソッドをデバッグすると、オブジェクトに変換しようとするバイトはランダムに見えます。
私は何が間違っているのですか?
java - BerkeleyDBCoreとBerkeleyDBJEのどちらを選択するか
JavaベースのWebアプリを設計していて、Key-Valueストアが必要です。Berkeley DBは私には十分に適しているように見えますが、Cで実装されているBerkeleyDBCoreと純粋なJavaで実装されているBerkeleyDBJavaEditionの2つのBerkeleyDBから選択できるようです。
問題は、どちらを使用するかをどのように選択するかです。Webアプリでは、スケーラビリティとパフォーマンスが非常に重要であり(誰が知っているか、私のアイデアが次のYouTubeになるかもしれません)、2つの間に意味のあるベンチマークを簡単に見つけることができませんでした。私はまだCoresJavaAPIに精通していませんが、JavaEditionsよりもはるかに悪い可能性があるとは信じがたいです。
他のKey-Valueストアの方がはるかに優れている場合は、それもお勧めします。小さいバイナリブロブを保存しています。キーはおそらくデータのハッシュ、またはその他の一意のIDになります。
database - BerkeleyDB の値のサイズだけを取得するには?
BDB に格納されている値の長さ (バイト単位) のみを取得する方法はありますか? データ配列全体は必要ありません。そのサイズだけが必要です。
database - Berkeley DB Java 版、Java の LGPL または BSD の代替品はありますか?
キーと値のペアで構成される巨大なデータセットを扱っています。クエリは常にキー スペース (キーは数値) に対する範囲クエリの形式であるため、永続的な B ツリーのような構造は状況を処理します。BDB-Java Edition を使用したいのですが、製品はクローズド ソースであり、私の会社は BDB-JE ライセンスを購入したくありません。GPL 以外の Java ベースのキー値ストレージ システムでの経験を共有していただけないでしょうか。
ありがとう、-A
performance - Berkeley DB Java Edition - 大量データのチューニング
10 億を超えるキーを Berkley DB にロードする必要があるため、事前にチューニングしてパフォーマンスを向上させたいと考えています。標準構成では、1,000,000 個のキーをロードするのに約 15 分かかりますが、これは遅すぎます。たとえば、Berkley DB の B+Tree (ノード サイズなど) を調整する適切な方法はありますか?
(比較として、tokyo キャビネットをチューニングした後、25 分で 10 億のキーをロードします)。
PS実行中のシステムに設定するパラメーターではなく、コードとしてのチューニングのヒントを探しています(jvmサイズなど...)
java - Berkeley DB を使用するすべてのオープン ソース アプリケーションは何ですか?
Berkeley DB とその使い方を学んでいます。誰かが BerkeleyDB を使用してオープン ソース アプリケーションを指摘できますか。
私は Java (BDB Java エディション) を使用していますが、他のプログラミング言語を参照することにもオープンです。
jta - Berkeley DB Java Edition for Distributed Transactions(XA)でのトランザクション分離レベルの設定
BDB JEアプリケーションで分散トランザクションを使用して、複数のBDBJE環境間でトランザクションを調整しています。トランザクション分離レベルをシリアル化可能に設定したい。分散トランザクションを開始するには、生成したXidを使用し、BDB JEのネイティブトランザクションクラスを避けて、グローバルに一意であることを確認する必要があります。開始するトランザクションブランチはThreadLocalであるため、操作のトランザクションフィールドにnullが渡されます。では、分離レベルを設定するにはどうすればよいですか?分離レベルはすでにデフォルトでシリアル化可能になっていますか?私のグーグルフーは何も上げていません...