读写时,Cassandra是否锁定数据目录中的文件



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

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

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

另一件事是,快照不复制文件,它创建一个硬链接。这是因为文件是只读的,所以不需要复制。

相关内容

最新更新