Neo4j + Redis?好还是不好?

3

我正在开发一个带有社交网络功能的音乐应用程序。我希望使用Neo4j和Redis来驱动我的数据库。在Neo4j中,我将存储用户信息和所有其他信息(帖子、评论等),在Redis中则是缓存数据。请问是否有任何建议或见解?


你的问题太宽泛了。实际上,你的问题是什么? - zenbeni
3个回答

5

简短回答:这要看情况。

较长的回答:

我假设您刚开始使用该应用程序,并希望快速了解是否值得投入(时间/金钱)。

如果您想运行查询,例如“哪些用户评论了同一首歌”,则需要将此数据放入Neo4J。一般来说,您在那里拥有的连接数据越多,您可以回答的问题就越有趣。因此,我会倾向于将数据放入Neo4j中。而且,只查询一个数据库比在多个数据库上聚合数据更容易实现。

如果您获得了足够的用户,他们产生的数据量开始影响Neo4j,则可以将实际的评论文本或帖子放入redis,并通过Neo4j引用其ID。但是到那时,您已经知道它值得做,并且这是一个相当可管理的重构和数据迁移。


3
Neo4j是一种图形数据库,但它不支持分片(水平分区)。使用Neo4j的好处是您可以存储图形数据结构并轻松运行Neo4j查询语言的图形算法。这可能有助于分析某些社交网络属性。坏处是,因为Neo4j不支持分片,数据库的容量仅限于单个节点。随着数据大小的增加,性能可能会受到影响。
Redis始终对缓存数据有用,这可能是一个不错的选择。

谢谢,我想我会将所有用户信息存储在每个节点中,而所有其他信息将存储在Redis数据库中。 - Samuel Williams

0

依我之见,我会尝试将所有内容存储在neo4j中,使用相同的大小写。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接