2

这是一个 RoR 项目。

我们要存储用户活动,例如上传照片、投票给某人、关注某人等。列出活动时,我们还需要列出您朋友的活动。那么,在这种情况下使用什么更好:面向文档的数据库(couchdb、mongo db)、图形数据库(neo4js),或者其他方法?

感谢您提前帮助伙计们:)

4

4 回答 4

2

根据您的应用程序的规模和活动量,我建议将 Couchbase(而不是 CouchDB)用于可扩展且快速的实际活动数据的组合,以及用于图形发现的 Neo4J(同时使用两个数据库) . 我在我的社交和实时应用程序中非常有效地使用了这种组合。

如果您想从我这里获得更多信息,请随时直接与我联系,我可以提供架构决策或实施帮助。

于 2012-08-02T21:44:06.040 回答
2

是的,我认为 Neo4j 是一个不错的选择,Rails 3 支持非常好,请参阅https://github.com/andreasronge/neo4j,甚至可以在http://docs.neo4j.org/chunked中查看带有密码的社交示例/snapshot/data-modeling-examples.html,对于活动流,有各种很酷的方法,如 Graphity,请参阅http://www.rene-pickhardt.de/graphity-an-efficient-graph-model-for-retrieving -the-top-k-news-feeds-for-users-in-social-networks/

于 2012-08-02T15:31:30.930 回答
1

看看无限图。与 neo4j 不同,它具有可扩展性。我认为他们可以免费下载 100 万个节点。

于 2012-08-05T05:56:18.157 回答
-3

考虑使用 Sqlite。它是一个平面文件模拟数据库,可以用作嵌入式数据库。

于 2012-08-02T11:33:27.080 回答