优化 Neo4j 磁盘使用

Posted

技术标签:

【中文标题】优化 Neo4j 磁盘使用【英文标题】:Optimizing Neo4j disk usage 【发布时间】:2015-11-02 07:40:48 【问题描述】:

我正在使用 Neo4j 创建一个网络数据库,其中包括:-Taxi 公司(1 个节点),其中包含 -cities(1000 个节点),其中包含 -taxis(100节点/每个城市 - 总计 100,000-)。 - 每辆出租车每天计算两次“费用”,因此每辆出租车每天有 2 个节点(出租车节点与其费用有关因为这个关系属性是一个日期;因为当我想检索费用集合时,我会按日期匹配它们)因此每个城市将有两个“总费用”,即每个城市赚取的出租车总金额计算差异。 我需要这样做 6 个月(2 个节点 -> 每辆出租车 -> 200,000/天 -> 360,000,000 费用节点),这是很多节点和大量磁盘空间要存储在 HDD 上,所以我的问题:有没有办法优化如此大数据集的磁盘存储?或者有办法压缩它?

【问题讨论】:

【参考方案1】:

您可以使用Neo4j Hardware Sizing Calculator 估算存储所有这些数据需要多少空间。

现在优化磁盘空间没有意义,因为磁盘太便宜了。

Neo4j 已经为你做了某种压缩 - http://neo4j.com/docs/stable/property-compression.html

您也可以使用文件系统压缩,但它会对性能产生巨大影响。

【讨论】:

元素大小太大了(14B/节点,33B/Rel)有没有办法将这些大小配置为我在每个中放入多少数据?这只是我数据库的一个子集,原来可能包含 1-10M 出租车,每天收费 96(每 15 分钟一次)。

以上是关于优化 Neo4j 磁盘使用的主要内容,如果未能解决你的问题,请参考以下文章

用于优化分区 MySQL 表的磁盘使用情况

linux性能优化实战-磁盘子系统优化

ES 实战磁盘存储优化

ES 实战磁盘存储优化

MySQL优化3之索引使用

Elasticsearch性能调优之磁盘读写性能优化