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

MongoDBでトランザクションの不足を回避するにはどうすればよいですか?

    4.0以降、MongoDBにはマルチドキュメントACIDトランザクションがあります。計画では、最初にレプリカセットの展開でそれらを有効にし、次にシャーディングされたクラスターを有効にします。 MongoDBのトランザクションは、開発者がリレーショナルデータベースで使い慣れているトランザクションのように感じられます。これらはマルチステートメントであり、同様のセマンティクスと構文(start_transactionなど)を備えています。 およびcommit_transaction )。重要なのは、トランザクションを有効にするMongoDBへの変更は、トランザクションを必要としないワークロードのパフォーマンスに影響を与えないことです。

    詳細については、こちらをご覧ください。

    分散トランザクションがあるからといって、表形式のリレーショナルデータベースのようにデータをモデル化する必要があるという意味ではありません。ドキュメントモデルの力を取り入れ、データモデリングの優れた推奨プラクティスに従ってください。



    1. phpでアップサートした後にmongodb_idオブジェクトを取得します

    2. Redis `SCAN`:一致する可能性のある新しいキー間のバランスを維持し、最終的な結果を妥当な時間で確保するにはどうすればよいですか?

    3. MongooseError-10000ms後に操作`users.findOne()`のバッファリングがタイムアウトしました

    4. Mongoidを使用する代わりにRubyから直接MongoDBをクエリする方法は?