我正在尝试创建一个社交应用程序,用户可以在其中关注他们的朋友,他们的个性化订阅也是实时的。问:图形数据库是解决这类问题的最佳选择吗?当数据达到数百万的时候,会有什么样的体验?另外,处理feeds的正确方法是什么,我们是否为每个用户保留Kafka流?我如何开始整个设置,关于over engineering,一个起点和流程。
发布于 2017-11-10 15:16:24
与往常一样,这完全取决于您如何使用这些技术。
Neo4j (图形数据库)可以存储相当大量的数据:
一个有一千万亿个节点的图形数据库?如此巨大的实体超出了技术专家现在试图做的事情的范围。但随着Neo Technology最新发布的Neo4j数据库,这样的图表在理论上是可能的。
Neo产品副总裁Philip Rathle说,人们可以使用今天宣布的Neo4j 3.0运行的图形的大小实际上没有限制。
“在Neo4j 3.0之前,图形大小被限制在数百亿条记录,”Rathle说。“即使他们可能没有数百亿个数据项可以实际存储在图形中,但仅仅是有一个上限就会让他们感到紧张。”
通过采用动态调整大小的指针,Neo4j现在可以向上扩展以运行客户可以处理的最大图形工作负载。该公司预计,一些客户将开始将这些额外的容量用于处理IoT数据、识别欺诈行为和生成产品推荐等方面。
来源:https://www.datanami.com/2016/04/26/neo4j-pushes-graph-db-limits-past-quadrillion-nodes/
从简单的东西开始,Neo4j听起来是一个很好的起点。一旦您开始遇到瓶颈或扩展问题,您就可以开始寻找其他解决方案。如果没有真实世界的数据,很难预测瓶颈在哪里。
大规模的实时提要很难构建,首先定义您希望的实时程度。1分钟还算实时吗?大概5分钟吧?您在此处选择的数字将直接影响您的技术选择。
无论哪种方式,都需要更多的信息来给出更详细的答案。
https://stackoverflow.com/questions/47216906
复制相似问题