Reddit.comに似たWebアプリケーションを構築したいと思っています。ここには、多レベルのコメントとたくさんの読み書きがあります。特にnosqlとmongoDBがこれに適したツールであるかどうか疑問に思っていましたか?nosqlはコメントシステムのようなマルチレベルフォーラムのための適切なツールですか?
答えて
コメント - これは本当にnosqlデータベースにとっては間違いありません。あなた自身への複数の結合を避ける。それはあなたのシステムがスケールアウトできることを意味します!
mongodbを使用すると、すべての階層を1つのドキュメントに保存できます。いくつかの人々は、ここで原子的なアップデートの問題があると言うことができますが、コメントツリー全体をロードして元に戻すことができるので問題はないと思います。どのようにしても、後でシステムを簡単に再設計して、アトミックな更新をサポートし、並行性の問題を回避できます。
あなたはこれを行う方法についてのチュートリアルやガイドを知っていますか?私は、私がどのようにジョインすることなくこれをやっていくかについて、私の頭を包み込むことはできません。私はユーザーのコレクションとコメントのコレクションを持っていると言うことができます。ユーザーを更新すると、コメントコレクションでユーザー情報がどのように更新されますか? – DavidW
@ user720943:こちらをご覧ください - > http://groups.google.com/group/mongodb-user/browse_thread/thread/3f35c3fb28891b52 –
初めからアトミックアップデートでシステムを書かないのはなぜですか? –
Reddit自体にはCassandraが使用されています。 「reddit.comと似たようなもの」が必要な場合は、そのソース(https://github.com/reddit/reddit/wiki)を見てください。
Cassandra 0.7リリースについてDavid King(ketralnis)said earlier this yearは次のように述べています。「大規模なWebサイトを実行することは、ユーザーベースの拡張とインフラストラクチャの拡張の間で絶えず競争しています。 Apache Cassandraが提供する透過的なスケーラビリティは、私たちが限られたリソースでそれを可能にした理由の大部分を占めています。インフラストラクチャの規模をさらに拡大することができます。
しかし、Rick Branson notesは、RedditがCassandraの機能をフルに活用していないので、最初からやり直したいと思ったら、別のやり方をしたいと思っています。
- 1. iphone app devのための適切なツールを選択
- 2. シンプルなXMLインターフェイス用の適切なツール
- 3. Djangoは私がやろうとしていることのための適切なツールですか?
- 4. IBM WebSphereの適切な「ワークフロー」ツールとは何ですか?
- 5. コメントシステム(Facebookのような)の実装
- 6. UICollectionViewControllerのための適切なMVVMアーキテクチャは何ですか
- 7. GUIウィンドウプログラム用の適切なツール
- 8. Webアプリケーションを開発するための適切なツール/プログラムの選択
- 9. VSソリューションディレクトリから自動的にクリーンアップを行うための適切なツールはありますか?
- 10. ログイン後のページの更新とスクラブを自動化するための適切なツールは何ですか?
- 11. サーバサイドネットワーキングのための適切なJavaScriptフレームワーク?
- 12. レールアプリケーションのための適切なRESTfulルーティング?
- 13. アンドロイドのための適切なマルチタスキング
- 14. タイムドリダイレクトのための適切な方法
- 15. whileループのための適切なjavascript
- 16. クラスのメタ面を扱うための適切なインターフェースは何ですか?
- 17. GCPクラウドは、大容量の.csvファイルを処理するための適切なツールですか?
- 18. Nagiosは、ファイルの日付に基づいて監視するための適切なツールですか?
- 19. Haskellのグローバルフラグを適切に扱うための適切な方法
- 20. gitの大きな変更のための適切なワークフローは何ですか?
- 21. Reactコンポーネントでリダイレクトを行うための適切なライフサイクルステージは何ですか?
- 22. 単純なファイルコピーのための適切なJava Configは何ですか
- 23. RabbitMQで交換交換を行うための適切なルーティングキー
- 24. ツール選択 - このインスタンスではセロリが適切なシステムですか?
- 25. C++のためのvirtualenvのようなツールはありますか?
- 26. GHCのためのdistccのようなツールはありますか?
- 27. RxJava:どのように適切なスケジューラ
- 28. iPhone - 私のアプリのための適切なオーディオプレーヤーは何ですか?
- 29. スカラ用の中間層サービスのための適切なアプリケーションコンテナは何ですか?
- 30. このための適切なMvcContrib 3の構文は何ですか?
@Sentinel、複数レベルのコメントを表示するように指示できますか?私は本当にそれを感謝します – DavidW
http://stackoverflow.com/questions/6431570/when-to-use-nosql-and-which-one – sdolgy