私はmongodbを使ったことはありませんでしたが、テーブル間の関係がないため、不快感を感じます。以前は、マルチテーブルクエリでは、私は結合を使用しますが、私はmongodbを使用している場合は、このようにすべてのマルチコレクションクエリが必要と思われる:コレクションをクエリし、次に別のオブジェクトIDを使用してクエリします。私はこの状況、RDBまたはmongodbに適合するためにどちらが良いか分かりませんか?mongodbを使って大規模なSNSサイトのデータベースに適していますか?
答えて
...この方法では、すべてのマルチコレクションクエリが必要と思われます。コレクションをクエリし、次にobjectidを使用して別のクエリを実行します。
これは、大きなRDBMSシステムではかなり一般的です。顧客が1台のコンピュータと注文がある別のコンピュータがある場合、この同じパターンを使用することになります。
どちらのシステムも、Btreeインデックスを使用して適切なデータを検索しています。サーバーの観点から見ると、JOINメソッドは「クエリコレクションA /クエリコレクションB」メソッドと同じくらい高価です。
正直言って、ほとんどの大きなシステムでは、Memcacheがクエリの前に置かれています。だから、いくつかのSQLクエリに続いて、いくつかのMemcacheクエリを実行することになります。
私はmongodbを使用したことはありませんが、テーブル間の関係がないため、私に不快感を与えます。
現在、世界最大のソーシャルネットワークはSQLテクノロジで動作しているため、明らかに実行できます。もちろん、IGNはMongoDBに社会全体の枠組みを書いていました。
両方の技術が適切であり、両方ともトレードオフがあります。
"世界最大のソーシャルネットワークは現在SQLテクノロジで動作しています"。あなたが参照しているソーシャルネットワークが不思議です。明確にしていただけますか?私はこの主張に疑いを持っています:) – kheya
Facebookは実際にMySQL(https://launchpad.net/mysqlatfacebook/)の独自のバージョンを維持しています。実際、私はそれに専念したエンジニアのうちのいくつかに会ったことがあります(*はい、MySQLエンジニアを雇っています*)。今、私が上記のことを裏付けるために、彼らは基本的に内部的にカサンドラ(AFAIK)を放棄していますが、Memcacheをたくさん使います。 –
- 1. web2pyは大規模な公開Webサイトに適していますか?
- 2. のLucene:IndexSearcher.searchは()私は非常に大規模なデータベースを持っている非常に大規模なデータベース
- 3. RESTは大規模な3NFモデルに適しています
- 4. CodeIgniterは大規模アプリケーションに適していますか?
- 5. Ruby on Railsは大規模プロジェクトに適していますか?
- 6. Elasticsearchを使用したMongoDBの大規模なコレクションの索引
- 7. 大規模なWebサイトのログインテーブルのヘルプ
- 8. Sybase:大規模データベースから小規模データベースへのダンプ/ロード
- 9. Pythonはプロトタイプ作成に適しており、大規模なデプロイメントには適していませんか?
- 10. 大規模なWebサイトのデータベースI/Oボトルネックを軽減する最適な方法は何ですか?
- 11. Androidで大規模なデータベースを扱う
- 12. iOSと大規模なデータベースを扱う
- 13. gethostbyname、インターネットに大規模に接続していますか?
- 14. 大規模なシステムでは、データベースに外部キーを使用していますか?
- 15. 大規模データベース - 1TB以上
- 16. TFSは小規模プロジェクトに適していますか?
- 17. 大規模なWebサイト - 複数のデータベースまたは複数のテーブル?
- 18. 大規模サイト用のCSSの整理
- 19. 大規模なWebサイトでのイメージの命名規則
- 20. C#を使用して大規模なバイナリデータをSQL DBに保存します
- 21. node.jsは中規模/大規模なビジネスWebアプリケーションに対応していますか?
- 22. どのように大規模な設計データベースを設計しますか?
- 23. Rubyを使用して大規模なディレクトリシステムを自動化
- 24. Structuremap、AutoFac、またはNinjectは、大規模なWebアプリケーションに適していますか?
- 25. 大規模なWebサイトではbcryptは有効ですか?
- 26. 大規模なMongoDBコレクションのライブデータを照会 - Nodejs
- 27. 大規模な条件を避けて適切なViewModelを選択する
- 28. 大規模データベースでのクエリを使用したActiveDirectoryパフォーマンス
- 29. 大規模なWebサイトでは、どのデータベースを自由に選択できますか?
- 30. 大規模データベース用のMySQLクライアント
あなたの状況を本当に説明していないので、「この状況に合っている」方が良いかどうかはわかりません。さらに、いずれの方法でもデータの格納と検索を行うことができます。これらのシステムは非常に異なるシステムであることを正しく認識していますが、データの保存と取得の両方を行います。したがって、答えは42です。 – deceze