我正在尝试使用Batch-importer向Neo4j导入2000万个节点和2.5亿个关系。我有8GB的RAM。
以下是batch.properties
中的当前设置:
use_memory_mapped_buffers=false
neostore.nodestore.db.mapped_memory=500M
neostore.relationshipstore.db.mapped_memory=2000M
neostore.relationshipgroupstore.db.mapped_memory=10M
neostore.propertystore.db.mapped_memory=1G
neostore.propertystore.db.strings.mapped_memory=200M
neostore.propertystore.db.arrays.mapped_memory=0M
neostore.propertystore.db.index.keys.mapped_memory=15M
neostore.propertystore.db.index.mapped_memory=50M
batch_import.node_index.users=exact
batch_import.csv.quotes=false
cache_type=none
导入2000万个节点大约需要7分钟。
对于关系来说,导入1000万(根据控制台上的输出)需要13分钟。
意味着导入所有关系大约需要6个小时(250/10 * 13)。我们能改进吗?
答案 0 :(得分:0)
您应该尝试Neo4j 2.2.0-M03
附带的新导入工具它使用更少的内存,跨CPU更好地扩展。
如果您想使用我的批次导入程序:
通常它导入1M个节点/ s,大约100k到500k rels /秒。
你使用了多少堆?