我正在尝试创建一个社交应用,用户可以在其中关注他们的朋友,他们的个性化Feed也是实时的。 问题:图表数据库是迎合此类问题的最佳选择。数据达到数百万时的体验是什么。此外,什么是进行Feed的正确方法,我们是否为每个用户保留Kafka流?如何从过度工程,起点和流程开始整个设置。
答案 0 :(得分:0)
与往常一样,它完全取决于您如何使用这些技术。
Neo4j(图形数据库)可以存储相当大量的数据:
具有千万亿个节点的图形数据库?这样一个可怕的实体是 超出了技术专家现在所做的范围。但随着 来自Neo Technology的Neo4j数据库的最新版本,如此 图在理论上是可行的。
人们可以对图表的大小实际上没有限制 Neo副总裁表示,今天宣布推出的Neo4j 3.0 产品Philip Rathle。
“在Neo4j 3.0之前,图表大小限制在数百亿 记录,“拉斯勒说。 “即使他们可能没有数百亿 数据项实际存储在图表中,只是有一个上限 他们很紧张。“
通过采用动态大小的指针,Neo4j现在可以扩展运行 客户可以投入的最大图表工作负载。该 该公司预计其部分客户将开始增加额外费用 对于诸如处理物联网数据,识别等内容的能力 欺诈,并产生产品推荐。
来源:https://www.datanami.com/2016/04/26/neo4j-pushes-graph-db-limits-past-quadrillion-nodes/
从简单的事情开始,Neo4j听起来像是一个很好的起点。一旦你开始遇到瓶颈或扩展问题,你就可以开始寻找其他解决方案了。如果没有现实世界的数据,很难预测你的瓶颈在哪里。
大规模的实时Feed难以构建,首先要定义您希望实时的实时性。 1分钟仍然被认为是实时的吗?也许5分钟? 您在此处选择的数字将直接影响您的技术选择。
无论哪种方式,都需要更多信息来提供更详细的答案。