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

スケーラビリティが関係ない場合のNoSQLとSQL

    非リレーショナルシステムとリレーショナルシステムで私が聞いている条件は他にもたくさんあります。個人的には違いをよりよく説明していると思うので、この用語はsql / no-sqlよりも好みます。また、「no-sql」サーバーのいくつかにはsqlアドオンがあるので、とにかく....どのような種類の同時実行パターンまたはトランザクションの分離システムに必要です。 relデータベースとnon-relデータベースの違いの1つは、「一貫性のある-常に」、「一貫性のある-ほとんど」、または「一貫性のある-最終的に」です。リレーションデータベースは通常、デフォルトで「一貫性のある-ほとんど」のカテゴリに分類され、いくつかの作業が必要です。また、多くのロックおよび競合状態は「一貫性のある-常に」である可能性があるため、誰もが常に最も正しい表現を確認しています。与えられたデータ。私が非関連データベースについて読んだり聞いたりしたことのほとんどは、それらが主に「一貫性がある-最終的に」であるということです。これは、データのインスタンスが多数存在する可能性があることを意味します。したがって、ユーザー「A」はインベントリに92個のウィジェットがあることを確認できますが、ユーザー「B」は79個を確認でき、誰かが実際に移動するまで調整されない可能性があります。倉庫から物を引っ張る。もう1つの問題はデータの可変性ですが、どのくらいの頻度で更新する必要がありますか?私がさらされた特定の非関連データベースでは、更新のオーバーヘッドが大きくなり、更新を組み込むためにデータセット全体を再生成する必要があるものもあります。

    念のために言っておきますが、non-rel / nosqlは、実際にユースケースに一致する場合は優れたツールだと思います。私が持っているプロジェクトのために今調べているものがいくつかあります。ただし、意思決定を行う際には、すべてのトレードオフを検討する必要があります。そうしないと、履歴書主導の開発になります。



    1. MongoDBInsertBatchJObject-シリアル化エラー

    2. $ mapmongodbのインデックスを持つ$concatフィールド?

    3. Meteor:予期しないmongo終了コード100。再起動。mongoサーバーを起動できません。

    4. MongoDb:$ push /$addtosetの違い