7

もちろん、マルチスレッドになるWebアプリケーションでLMDBを使用することを検討しています。

mdb_dbi_open に関する Symas のドキュメントには、「この関数は、複数の同時トランザクションから呼び出すことはできません。この関数を使用するトランザクションは、他のトランザクションがこの関数を使用する前に、(コミットまたは中止のいずれかで) 終了する必要があります」と記載されています。

これは、複数のスレッドが特定のデータベースに同時にアクセス (書き込み) できないことを暗示しているようです。

しかし、概要には、「書き込みは完全にシリアル化されています。一度にアクティブにできる書き込みトランザクションは 1 つだけです。これにより、ライターがデッドロックしないことが保証されます。」これは、私がそれについて心配する必要がないことを暗示しているようです。

私の質問は、書き込みトランザクションをシリアル化する必要がありますか、それとも LMDB が処理してくれるのでしょうか?

4

0 に答える 0