sql >> データベース >  >> NoSQL >> MongoDB

Mongoidイベントによって生成されたActiveRecordオブジェクトを分析するときにRspecテストがランダムに失敗する

    通常のMongodbセットアップでは、データベースの書き込みが正常に戻ってからそのデータを読み取ることができるようになるまでに遅延が発生する可能性があります。これには2つの理由があります:

    • パフォーマンスを向上させるために、データがディスクにコミットされる前に「安全でない」書き込みが返される可能性があります。
    • Mongodbはレプリカセットを使用しており、レプリケーションの遅延があります。通常、読み取りは負荷分散の形式としてレプリカに分散されるため、安全な書き込みを使用している場合でも、書き込みたばかりのサーバーとは異なるサーバーから読み取りを行っている可能性があり、書き込みたばかりのデータが表示されない可能性があります。

    Mongoidを使用して書き込んだデータをいつでもすぐに読み戻すことができるようにするには、データベースセッションオプションのconsistency: :strong, safe: trueを設定する必要があります。 、どちらもデフォルトではありません。



    1. ハウツー:Apache HBase RESTインターフェースを使用する、パート3

    2. MongoDBとDynamoDB:知っておくべきこと

    3. SpringBootFrameworkでJedisConnectionFactoryベースのタイムアウトを構成する方法

    4. MongoDB C#ドライバーバージョン2で$定位置演算子を使用する方法