MongoDB のドキュメントと MongoDB cookbookで説明されているように、MongoDB の上に 2PC プロトコルを実装しました。
基本的に、これは問題なく機能します。これで、基本的に私が望んでいたオール オア ナッシングのセマンティクスが得られました。
残念ながら、すべてが「分離レベル」で実行されるようuncommitted read
になりました(MongoDBには分離レベルがまったくないことを知っているため、引用符が付いています)。
私がしたいのは、分離レベルを実装することですcommitted read
。non-repeatable read
そしてphantom reads
、これが最適であり、「シリアル化可能」でもあります。
ただし、これを行う方法については少しもわかりません。Committed read
とにかく最も簡単なオプションのようです。
これを達成する方法に関する追加情報をどこで見つけることができるかについて、アイデア、ヒント、リンクなどはありますか?