考虑我的图表中将有以下内容:
100 Million nodes, More than 1 Billion connections/relationships
Node properties: around 10 properties, mix of int, doubles, strings, HashMaps etc.
Relationship properties: around 10 double values and 2-3 string (with avg 50 chars) values现在,假设我想要通过查询每个节点上的邻居一次来更新所有节点和关系属性值。也就是说,
step1: search a node, say X, with given Id,
step2: get it's neighbours,
step3: update node properties of X and all relationship properties between X and it's neighbors.对所有节点重复这3个步骤一次。在给定以下系统配置的情况下,更新所有节点一次需要多长时间(对我来说大约时间可以,可能以秒/分钟/小时为单位):
Two dual core processors, 3.0 GHz each, 4*4 GB memory, 250 GB Hard disk space.上述数据大概需要多少存储空间?
请帮助我提供任何近似的,样本性能(时间和存储)分析。任何示例性能分析都将帮助我可视化我的需求。谢谢。
发布于 2013-02-26 11:07:42
节点/关系的大小考虑非常简单。每个节点为9个字节,每个关系为33个字节。
9B x 100M = 900 Million Bytes =~ 858.3 Megabytes for nodes
33B x 1B = 33 Billion bytes =~ 30.7 Gigabytes for relationships至于计算,很难衡量。Neo4j缓存与磁盘上的内容不是1比1,所以您的存储空间可能约为31 it,但您需要更多的空间才能将其存储在缓存中。然而,neo4j在磁盘上存储信息的方式对于这种类型的遍历是有效的,因为它们在链表中存储节点的所有关系和属性,因此通过迭代器访问它们比搜索一种类型的关系更有效。
这将很难给你一个估计,但我会说,因为你正在经历重复的关系,什么可以适合在RAM和磁盘上,等等。我的猜测是几个小时(<6小时)。考虑到您的系统和大小要求。
https://stackoverflow.com/questions/15074593
复制相似问题