【问题标题】:What is the status on Neo4j's horizontal scalability project Rassilon?Neo4j 的横向可扩展性项目 Rassilon 的状态如何?
【发布时间】:2013-12-10 12:40:16
【问题描述】:

只是想知道是否有人知道有关 Rassilon 项目的任何信息,该项目是 Neo4j 专注于提高 Neo4j 水平可扩展性的副项目?

它于 2013 年 1 月首次发布 here

我特别想了解更多关于何时取消图形大小限制以及何时可以跨集群分片。

【问题讨论】:

    标签: neo4j bigdata


    【解决方案1】:

    节点和关系限制在 2.1 中消失,这是 2.0 之后的下一个版本(现在有一个候选版本)。

    Rassilon 肯定还在。也就是说,这项工作并没有优先于诸如 2.0 中的重要新功能包之类的事情。原因是现在的 Neo4j 具有极强的扩展能力,使用下面概述的各种架构特性(带有一些实时示例):

    www.neotechnology.com/neo4j-scales-for-the-enterprise/

    当前架构中有很多巧妙之处,可以让图表在不分片的情况下很好地执行和扩展。因为一旦开始分片,就注定要遍历网络,这是一件坏事(对于延迟、查询可预测性等)。所以虽然有一些非常大的图表,主要是出于写入吞吐量的原因,必须 为超级规模(通过分片)权衡性能,令人高兴的是大多数图表不需要这种妥协。只有在 1% 的情况下才需要分片,这意味着几乎每个人都可以吃到自己的蛋糕。目前在生产客户中有 Neo4j 集群,他们的图表中有 1B+ 个个体,支持具有数千万用户的 Web 应用程序。这些使用相对较小(但非常快速、非常高效)的集群。为了让您了解我们经常看到的各种性价比:我们有用户告诉我们,单个 Neo4j 实例可以与 10 个 Oracle 实例一样工作,只是速度更快。

    经过良好调整的 Neo4j 集群可以支持每秒超过 10K 的事务写入,以及每秒任意高的读取次数。读取吞吐量随着实例的弹性插入而线性扩展。缓存分片是一种设计模式,可确保您不必将整个图形保存在内存中。

    【讨论】:

    • 正如您所说,“Neo4j 集群每秒可以支持超过 10K 的事务写入”,但我不这么认为。就我而言,如果每秒有 200 个事务写入请求,我会遇到锁定错误。不好的是数据库在那之后无法处理任何其他请求。
    • 有人可以回复@Avinash 的问题吗?这真的是可扩展性问题,还是他面临的一些问题!
    • 我必须说,Neo4j 不是生产就绪数据库。不幸的是,我不得不切换数据库。
    • 在没有 neo4j 响应的情况下,我在这里猜测:每次写入都会为查询时间“无索引邻接”付费 - 真实世界 ID(银行/IP/电话/电子邮件 ID) ) 需要在索引中查找以在插入时转换为 neo4j 的内部指针。还需要在向节点添加边时写入锁,这可能会导致多线程写入死锁。我怀疑某些声称的写入速度是针对关闭索引/事务的初始批量加载,而不是针对正在进行的增量添加的实际场景。见neo4j.com/docs/operations-manual/current/tools/import
    猜你喜欢
    • 2018-10-16
    • 2023-03-07
    • 2017-01-18
    • 1970-01-01
    • 2021-11-05
    • 2016-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多