Apache Zookeeper 设置的模糊文档

Ambiguous documentation for Apache Zookeeper setup

在这个 link、Official Zookeeper doc,我发现引述含糊不清。

ZooKeeper stores its data in a data directory and its transaction log in a transaction log directory. By default these two directories are the same. The server can (and should) be configured to store the transaction log files in a separate directory than the data files. Throughput increases and latency decreases when transaction logs reside on a dedicated log devices.

它说事务日志文件应该将事务日志存储在一个单独的目录中。然后它说专用设备是最佳的?为什么默认将数据目录文件和事务日志文件存储在同一位置?我相信我很困惑,因为我可能不明白他们所说的 "directory" 是什么意思。当我听到目录时,我会想到文件夹。当他们说目录时,他们是指硬件存储设备吗?如果这些文件存储在同一设备但不同的文件夹中,我不希望吞吐量增加和延迟减少。如果文件存储在不同的设备上,我希望吞吐量会增加,延迟会减少。

我是否正确解读了他们的文档?将事务日志和数据文件简单地存储在单独的文件夹中不会提高性能。它们只是意味着如果将它们存储在不同的硬件存储设备上就会有这些收益对吗?

你是对的。要点是将事务日志放在专用设备上,因为 ZooKeeper 需要 fsync 到该磁盘。这部分的任何延迟都可能导致严重的问题。

从 ZK 配置的角度来看,单独的目录只是实现这一点的先决条件。