关于分片方面,他说2014年第一次发布将会有第一个解决方案.
有没有人知道是否完成,如果没有知道它的状态?
谢谢!
解决方法
现在我们刚刚发布了Neo4j 2.0(实际上是2.0.1今天!),我们正在开始一个2.1版本,主要面向(甚至更多)性能和可扩展性.这将使图形的上限增加到有限数量的实体,并改进各种其他事情.
让我首先设置一些上下文,然后回答你的问题.
正如你从本文中可以看到的,Neo4j当前的水平扩展架构允许读取缩放,写入全部都将被执行并扇出.这样可以有效地进行无限制的读取缩放,并可以每秒进行数万次写入.
实际上,生产Neo4j客户(包括Snap Interactive和Glassdoor),其社交图表中有大约十亿人,在所有情况下都是一个活跃而且受到严重打击的网站,由相对较为温和的Neo4j集群(否超过5个实例).所以这是一个关键特征:今天的Neo4j具有令人难以置信的计算密度,因此我们经常看到处理大量生产工作负载的相当小的集群,具有非常快的响应时间.
关于当前架构的更多内容可以在这里找到:www.neotechnology.com/neo4j-scales-for-the-enterprise/
客户列表(其中包括沃尔玛和eBay等公司)可以在这里找到:neotechnology.com/customers/世界上最大的包裹运输公司之一使用Neo4j实时路由所有包裹,每个路由操作的峰值高达3000个第二,零停机. (这可以说是图表数据库和NOsql数据库的世界上最大和最关键的任务 – 尽管不幸的是我不能说是谁.)
所以在某种意义上说,如果你还不如沃尔玛或者eBay那么大,那么你可能会很好.这太简单了一点.有1%的情况下,您将事务写入工作负载维持在每秒100秒.然而,即使在这些情况下,将所有数据加载到实时图中通常也是不正确的.我们通常建议人们做一些聚合或过滤,并且只将更重要的东西带到图表中. Intuit给了一个很好的谈话.他们将十亿个B2B交易过滤到一个小得多的每月总交易关系中,总计数和货币数量按方向进行.
进入分片…这些天,Sharding已经受到很多人气的欢迎.这主要是由于其他三类NOsql,其中连接是反模式.大多数查询涉及读取或写入单个离散数据.正如加入是键值存储和文档数据库的反模式一样,分片是图形数据库的反模式.我的意思是…当您的所有数据在单个实例的内存中可用时,会发生最好的性能,因为当您阅读和写入时会在网络上来回跳动,这会在很大程度上减慢事情,除非你真的很聪明,如何分配你的数据…甚至那时.我们的方法有两个方面:
1)尽可能多的聪明的东西,以支持极高的读取和写卷而无需诉诸分片.这可以让您获得最佳和最可预测的延迟和效率.换句话说:如果我们能够很好地支持你的需求而不用分片,这将永远是最好的方法.上面的链接介绍了一些这些技巧,包括部署模式,可以让您在内存中分割数据,而无需将其分割在磁盘上(我们称之为缓存分片).类似的路线上还有其他的技巧,更多的是在派克斯
2)将辅助体系结构模式添加到支持分片的Neo4j中.为什么最好避免分片?随着越来越多的人发现更多的图形用途,数据量不断增加,我们认为最终将是一个重要且不可避免的事情.这将允许您运行所有的Facebook,例如,在一个Neo4j集群(一个非常大的)中,不仅仅是图表的社会部分,我们今天可以处理.我们已经做了很多工作,并开发了一种我们认为平衡许多考虑因素的架构.这是一个多年的努力,虽然我们可以非常轻松地发布一个Neo4j的版本,天真地(毫无疑问是真正的流行),我们可能不会这样做.我们想做对,这相当于火箭科学.