問題タブ [berkeley-db]
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 を使用して Berkeley DB にレコードを挿入する
Java で Berkeley DB を構築し、そこにレコードを挿入するためのサンプル コードが見つからないようです。サンプルはありますか?また、Berkeley DB Java Edition のことでもありません。
performance - 高性能BerkeleyDBシステムを導入するためのベストプラクティス
Berkeley DBを使用して、単純なKey-Valueストレージシステムを作成したいと考えています。キーはSHA-1ハッシュになるため、160ビットのアドレス空間にあります。Berkeley DB Webサイトからのかなりよく書かれたドキュメントのおかげで、私は単純なサーバーを動作させています。ただし、優れたパフォーマンスと柔軟性を得るために、このようなシステムをセットアップする最善の方法についていくつか質問があります。うまくいけば、誰かがBerkeley DBの経験が豊富で、私を助けてくれるでしょう。
最も単純なセットアップは、単一のDBを処理する単一のスレッドを持つ単一のプロセスです。挿入と取得は、トランザクションを使用して、この1つのDBで実行されます。
代替案1:単一プロセス、複数スレッド、単一DB; 挿入と取得は、プロセス内のすべてのスレッドによって、このDBで実行されます。
- 複数のスレッドを使用すると、パフォーマンスが大幅に向上しますか?DBが1つあるので、1つのディスク上にあるので、あまりブーストされないと思います。しかし、Berkeley DBがメモリに多くのものをキャッシュしている場合、おそらく1つのスレッドが実行され、キャッシュから応答でき、別のスレッドがディスクの待機をブロックしているのでしょうか。私はGNUPth、ユーザーレベルの協調スレッドを使用しています。私はPthの詳細に精通していないため、Pthを使用して、別のユーザーレベルのスレッドがブロックされているときにユーザーレベルのスレッドを実行できるかどうかもわかりません。
代替案2:単一プロセス、1つまたは複数のスレッド、複数のDB。各DBはキーの160ビットアドレス空間の一部をカバーします。
- 複数のDBを使用することには、いくつかの利点があります。それらを異なるディスクに配置でき、競合が少なくなり、必要に応じてDBを異なる物理ホストに移動/パーティション分割するのが簡単になります。誰かがこのセットアップの経験があり、重要な利点を見ていますか?
代替案3:それぞれが1つのスレッドを持つ複数のプロセスは、それぞれがキーの160ビットアドレス空間の一部をカバーするDBを処理します。
- これには、複数のDBを使用するという利点がありますが、複数のプロセスを使用しています。これは2番目の選択肢よりも優れていますか?並列処理を取得するためにユーザーレベルのスレッドではなくプロセスを使用すると、SMPキャッシングの動作が向上する(無効化が少ないなど)と思いますが、すべてのプロセスオーバーヘッドとコンテキストスイッチで強制終了されますか?
誰かがオプションを試し、ポジティブまたはネガティブな結果を見たかどうか聞いてみたいです。
ありがとう。
svn - Subversion リポジトリ タイプ
リポジトリが BerkeleyDB を使用しているか FSFS を使用しているかを確認するにはどうすればよいですか?
database - 異なる BerkeleyDB バージョンの違いは何ですか? また、どちらを選択すればよいですか?
多くのことが BDB に依存しています。サーバー用のパッケージ済みソフトウェアをインストールしようとすると、各ソフトウェアが異なるバージョンの BerkeleyDB を必要とするようです。しかし、それらをコンパイルすると、特定の BDB バージョンを指定できるようです。(関連するソフトウェアには、Postfix、OpenLDAP、および Cyrus IMAP が含まれます。)
私はときどき Python プロジェクトで BDB を使用しますが、異なるバージョンが作成されたデータベース ファイルにどのような影響を与えるかわかりません。
すべての異なる Berkeley DB バージョンの違いを知りたいです。バージョンの違い、API やファイル形式の違い、バージョン間の非互換性などに関する情報を見つけるのは難しいようです。
少なくとも次のバージョンが存在することを知っています。
1.85 (歴史的なバージョン?)
2.x
3.x
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
5.0
sqlite - Berkeley DB SQL は SQLite と比較してどのくらい高速ですか?
Oracle は最近、SQLite への Berkeley DB バックエンドをリリースしました。私はたまたま数百メガバイトの SQLite データベースを持っており、「パフォーマンス、同時実行性、スケーラビリティ、および信頼性の向上」の恩恵を受けることができますが、Oracle のサイトには改善の測定値がないようです。ここでベンチマークを行った人はいますか?
perl - Berkeley DB に挿入すると、Perl からワイド文字の警告が表示されるのはなぜですか?
Berkeley DB で実験を行っています。DB a からコンテンツを削除し、キーと値のペアを DB b に再挿入するだけです。ただし、この DB b にキーと値のペアを挿入すると、ワイド文字エラーが発生します。ヘルプ?
java - 純粋なJavaからBDBにアクセスすることは可能ですか?
BDBデータベースである「cert8.db」mozillaファイルにアクセスしようとしています。言語、その中にはJavaのバインディングがあることは知っていますが、マルチプラットフォームアプリを構築しようとしているので、このようなJNIの使用は問題になると思います。
前もって感謝します。
c++ - ハッシュアクセスを使用して、多くのキーと値のペアを berkeley db にすばやく挿入します
多くのタプル (約 18 GB のキーと値のペア) を含む berkeley db でハッシュを構築しようとしていますが、すべてのテストで、挿入操作のパフォーマンスが時間の経過とともに大幅に低下します。パフォーマンスをテストするために、次のスクリプトを作成しました。
おそらく、しばらくすると「put」操作に時間がかかる理由と、これを修正する方法を教えてください。
助けてくれてありがとう、アンドレアス
php - PHPでberkeleydbを使用した経験のある人はいますか?
他のアプリケーションが共有するいくつかのberkeleydbファイルにアクセスして書き込む必要があります。
これをPHPで使用することについては、実際には何も見つかりませんでした。あまり人気がないようです。
誰かが物事を動かすために使用できるかもしれないリンクやリソースを持っていますか?
ありがとう!
c++ - Berkeley DB、C++ STL インターフェイスを使用した一括読み取り
C++ STL API を Berkeley DB 4.8 に使用しています。また、begin() を使用して作成された db_map または db_multimap const イテレーターの一括取得を使用できますが、マルチマップの場合は find() (または lower_bound()) から作成されたものは使用できません。 )。
find() の単一アイテム ランダム アクセスの使用は、一括取得を使用するのはもったいないことですが、find() のポイントから btree の順序で多くのレコードにアクセスしたいので、一括取得が役立ちます。基礎となる C++ API はそれを許可しているように見えますが、STl API から可能ですか?