Re: RFC: DB_PRIVATE フラグの削除

DB_PRIVATE は、データベースにアクセスするプロセスが 1 つだけであると仮定することで、いくつかの最適化を有効にする。特にこのフラグにより、db4 は OS が提供する重い flock や共有メモリーの代わりに pthread スタイルの mutex ロックを使用できる。参考:DB_ENV->open のドキュメント。

一般的な動機は、(a)DB_PRIVATE を削除し、(b)Bitcoin が db4 トランザクションを適切に使用すれば、db4 データベースを Bitcoin クライアントと並行して安全にアクセスできるということだ。コードが適切にアーキテクチャされていれば、db4 トランザクションは blk0001.dat のような非 db4 データを含むラップにも使用できるかもしれない。