RoRプロジェクトです。
写真をアップロードしたり、誰かに投票したり、誰かをフォローしたりなど、ユーザーのアクティビティを保存したいと考えています。アクティビティをリストするときは、友達のアクティビティもリストする必要があります。では、この場合、ドキュメント指向データベース (couchdb、mongo db)、グラフ データベース (neo4js)、またはその他のアプローチのどれを使用するのが適切でしょうか?
事前に助けてくれてありがとう:)
RoRプロジェクトです。
写真をアップロードしたり、誰かに投票したり、誰かをフォローしたりなど、ユーザーのアクティビティを保存したいと考えています。アクティビティをリストするときは、友達のアクティビティもリストする必要があります。では、この場合、ドキュメント指向データベース (couchdb、mongo db)、グラフ データベース (neo4js)、またはその他のアプローチのどれを使用するのが適切でしょうか?
事前に助けてくれてありがとう:)
アプリケーションの規模とアクティビティの量に応じて、非常にスケーラブルで高速な実際のアクティビティデータ用のCouchbase(CouchDBではない)とグラフ検出用のNeo4J(両方のデータベースを同時に)の組み合わせをお勧めします。私は、ソーシャルでリアルタイムの両方のアプリケーションで、この組み合わせを非常に効果的に使用しました。
私からの詳細情報が必要な場合は、直接私に連絡してください。アーキテクチャの決定や実装のヘルプを提供できます。
ええ、Neo4j は良い選択だと思います。Rails 3 のサポートは優れています。 /snapshot/data-modeling-examples.html、およびアクティビティ ストリームについては、Graphity などのさまざまなクールなアプローチがあります。 -ソーシャルネットワークのユーザー向けのトップkニュースフィード/
無限グラフを見てください。neo4j とは異なりスケーラブルです。100万ノードまで無料でダウンロードできると思います。
Sqliteの使用を検討してください。これはデータベースを模倣したフラットファイルであり、組み込みデータベースとして使用できます。