私は自分のウェブサイトを探していましたが、彼らが解決している問題を理解できませんでした。リレーショナルDBの問題は何ですか? JSONドキュメントに格納されるデータは、SQLデータベースに格納されたデータよりもどのように高速になりますか?リレーショナルDBに何が問題なのですが、mongoDBに切り替える理由
答えて
完全正規化されたリレーショナルDBでは、データの整合性(FK)を維持するために、すべての挿入で他のテーブル(およびそれ自身のテーブル)でいくつかのルックアップが必要になることがよくあります。これは一般的には良いことですが、時間がかかります。多くの場合、異なるテーブルの複数の行を一度に更新する必要があるため、さらにルックアップやトランザクションのオーバーヘッドが発生します。
データベースを照会すると、しばしば多くの異なる表を見て、それらをマージする必要があります。
一方、mongoDBドキュメントははるかに単純な構造です。すべてのコレクションは正規化されていない大きなテーブルのようなものですが、すべてのフィールドはオプションです(ただしインデックスは作成できます)ので、(同じ設定のリレーショナルDBと比較して)スペースのオーバーヘッドはほとんどありません。
サーバーからクライアント(データベースクライアント、エンドユーザークライアントではありません)への複雑なクエリとデータ保全ロジックを削除する代償として、柔軟性と速度を提供します。
両方とも用途がありますが、通常は「リレーショナルDBとは異なるものが必要ですか?」という質問があります。今日は "ドキュメントDBよりも複雑なものが必要でしょうか?"イモ、そして大多数のプロジェクトはそうしないでしょう。
私はあなたの仕事のためのリレーショナルデータベースに満足すれば、mongoDbに切り替える必要はないと思います。私はmongodbがrdbmsよりも簡単にスケーリングを行うと考えています。いくつかのタスクでは、mongodbの柔軟なスキーマから利益を得ることができると思います。具体的な作業のためにデータベースを使用して議論するのが理にかなっていると思います。
- 1. divを切り替えることができない理由
- 2. アプリケーションとフォーカスの切り替えに問題があります
- 3. クラスの切り替えに問題があります
- 4. ラジオボタンjQueryの切り替えの問題
- 5. tinymce切り替えの問題
- 6. openglesビュー切り替えの問題
- 7. Symfony:コンテキスト切り替えの問題
- 8. 多言語切り替えの問題
- 9. モバイルNavbarに切り替えるとログインモーダルに問題が発生する
- 10. mysqlデータベースに切り替える際にrake db:loadコマンドの問題
- 11. アクティビティの切り替えに関する問題 - Android
- 12. 切り替えシーンのJavaFXに関する問題
- 13. ブラウザの切り替えに関する問題Css3
- 14. リンクリスト内のノードを切り替える際に問題が発生するjava
- 15. 2つのクラスを切り替える際に問題が発生する
- 16. bashからzshへの切り替えに問題があります
- 17. 縦/横方向の切り替え時に問題が発生する
- 18. ASIHTTPRequestからAFNetworkingに切り替える - ASINetworkQueueの問題
- 19. 問題があるPythonに切り替えようとしています
- 20. mysqlデータベースのリレーショナル問題が
- 21. MongoDB db.authがユーザーを切り替えないのはなぜですか?
- 22. Cで共用体を使用してステートメントを切り替え、問題が発生しました。コードに何が問題なのですか?
- 23. homebrewで権限レベルを切り替える - 権限の問題
- 24. X86が32ビットプロテクトモードに切り替える
- 25. 他のビューの切り替えに切り替えるapp xcode
- 26. UNNotificationに切り替えたが、何の通知はもう
- 27. rvm経由で単一のコマンドをルビーに切り替える
- 28. CKeditorでexecCommand経由でwysiwygに切り替える方法
- 29. 私はデバッグに問題があり、何が理由であるのか分からない。C#
- 30. 第三者のウィンドウに切り替えてアプリケーションステージに切り替えると親ステージが表示されない