0

我正在寻找有关选择和配置用于存储 neo4j 数据库的 Linux 文件系统的建议。当然,应该始终使用自己的工作负载进行测试,但总的来说,对于哪种文件系统性能最好有什么建议吗?

基于此页面http://grokbase.com/t/gg/neo4j/131grvg09k/best-filesystem-for-new-neo4j-persistant-storage,如果我正确理解neo的写入模式,则首选xfs。

我还阅读了手册中的两个 Linux 特定页面,但似乎都没有为选择文件系统提供指导。

  • docs.neo4j.org/chunked/stable/configuration-linux-notes.html
  • docs.neo4j.org / 分块 / 稳定 / linux-performance-guide.html

如果在为 HDD 和 SSD 选择文件系统方面存在差异,请提及您对两者的看法。如果对 EC2 / EBS 有特殊考虑,我也很想知道,因为这是我目前正在运行的地方。

如果重要的话,这里是关于我计划容纳的图表类型和工作负载的信息: * 产品目录样式图表,具有数以亿计的具有大小属性​​的节点,以及数十亿的关系。* 主要用途 - 遍历 100-500K 节点子集以回答查询(所需的亚秒级响应) * 通过批量上传定期更新 100-500K 节点(20-30 分钟即可)

非常感谢!

4

2 回答 2

1

如果您的应用程序主要是读取驱动的,那么选择正确的文件系统我不会费力。您应该专注于选择适合您的文件存储的 MMIO 缓存。如果缓存预热,读取操作将不会访问 IO 子系统。

然而,在写入操作方面,SSD 的工作方式通常比 HDD 的性能要高得多。Ext4 似乎是 Neo4j 使用最广泛的文件系统。在 EC2 上,您可能会从使用 SSD 支持的实例中受益——但这取决于您的写入操作量。

一般来说,最好的做法是生成一个与所考虑的生产系统大小大致相同的图形数据库并事先运行检查。过早的优化大多是一件愚蠢的事情。

于 2013-06-15T12:37:29.880 回答
0

我不确定 Neo4j 的具体细节,但 MongoDB 在 XFS 上工作得更好。Ext3/4 没有正确处理分配稀疏文件(XFS 上 30 秒 vs 0.1 秒),也没有快速删除许多文件。

也就是说,关于基准测试的建议是好的。在 BTRFS 准备好生产之前,我不会担心除了 ext4 和 XFS 之外的任何其他文件系统。

于 2013-06-15T14:54:58.500 回答