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

NoSql参照データ

    あなたのデータは明らかにリレーショナルです:記事には著者がいます。 MongoDBのようなNOSQLストアでは、リレーショナルストアの場合とまったく同じ方法でデータをモデル化できますが、データベースには結合がないため、データベースを2回呼び出す必要があり、何も得られません。

    しかし...NOSQLストアでできることは、パフォーマンスを向上させるためにデータをいくらか非正規化することです(記事を表示するために必要なすべてを取得するための1回のラウンドトリップ)しかし、即時の一貫性を犠牲にして:常に正確な作成者をトレードオフします最終的に正確な著者名の名前。

    たとえば、記事でこれを使用できます:

    author: {firstName: "Smarty", lastName: "Pants", _id:DE342624EF }
    

    これで、記事を非常に高速に表示でき、誰かが名前を変更したときに、バックグラウンドタスクを開始して既存のすべての記事を更新するか、定期的な整合性スイープで修正されるのを待つことができます。

    多くの主要なWebサイトでは、すぐに一貫性を保つことができなくなりました。行った変更は、最終的にはサイトの他のユーザーにのみ表示されます。



    1. MongoDB-ネストされた配列のオブジェクトを更新します

    2. 配列のない埋め込みドキュメント?

    3. ソートされたオブジェクトのセットをredisに保存するにはどうすればよいですか?

    4. mongodbカーソルIDが無効なエラー