4

Berkeleyのドキュメント、Transactional(TS)およびConcurrent Datastoreバージョンのデータベースによると、複数のスレッドがデータベースにアクセス(および変更)する可能性があります。

これは、2つのプログラムをぎこちない「クライアント」にリンクさせて、問題なく同じデータベースファイルにアクセスさせることができることも意味しますか?

(別のデータベースサーバーの場合、これはもちろん問題ありませんが、バークレーの場合、データベースエンジンはプログラムと長くリンクされています)

ありがとう!

R

4

2 に答える 2

4

一部のドキュメントでは、複数のプロセスからだけでなく、複数のスレッドからも同じデータベースを同時に使用できると考えているようです。具体的には:

「複数のプロセス、または単一のプロセス内の複数のスレッドは、それぞれがBerkeley DBライブラリを使用すると同時に、すべてデータベースを使用できます。ロック、トランザクションロギング、共有バッファ管理、メモリ管理などの低レベルのサービスはすべてライブラリによって透過的に処理されます。」

大まかな読み取りでは、BDBが複数のプロセスからのアクセスを制御するために使用するものはわかりませんでしたが、ファイルシステムロックが使用されている場合、ネットワークファイルシステム上の複数のプロセスからのアクセスに問題が生じる可能性があります。

于 2009-11-17T23:12:49.683 に答える
4

第16章:リファレンスガイドのロッキングサブシステムは有望に見えます。

于 2011-10-19T08:55:44.597 に答える