3

当我在 Cassandra 中删除一个表时,它几乎永远不会发生。

据我所知,这是因为它首先创建了表的快照。但是,我不明白的是,他们说快照是通过使用 Copy on Write 创建硬链接来完成的。所以……为什么还要花那么长时间?创建硬链接后,您会删除原始文件,这应该需要一秒钟,对吧?

在我的虚拟机甚至我的主计算机上,删除一个表可能需要几分钟!!!

4

1 回答 1

7

一分钟有点高,我认为快照不会花那么长时间。您可能看到的是在拍摄快照之前刷新内存表,而刷新可能会导致压缩。

尝试禁用 yaml 文件中的“auto_snapshot”属性,然后再次检查需要多长时间。还要检查 sstables 的数量,因为没有快照 C* 会删除所有这些,只要它们的数量足够低,性能应该没问题,但是当你有大量 sstables 时,文件系统的unlink操作速度将是你的瓶颈。

于 2016-09-14T10:25:31.677 回答