Cassandra在读/写期间是否锁定数据目录中的文件?

时间:2013-03-20 23:19:01

标签: file operating-system filesystems cassandra

我知道在Cassandra上线时可以拍摄快照。这样做是在每个列族目录中创建一个快照子目录,并在其中放置列族的副本。但我不知道这是否可行,因为根本没有文件锁定,或者如果快照指令只是在复制之前等待文件解锁。

有谁知道Cassandra如何与数据目录中的文件进行交互?行为操作系统是否依赖?

1 个答案:

答案 0 :(得分:5)

首先,重要的是要认识到Cassandra数据目录中的所有文件都是一次写入。没有文件被修改,它被创建,然后最终与其他文件合并然后被删除。 (这就是Cassandra如何获得如此好的写入性能,因为写入的所有磁盘访问都是顺序的。)

另一件事是拍摄快照不会复制文件,它会创建一个硬链接。这是有效的,因为文件是只读的,因此不需要复制。

因此,不需要锁定文件。