2

我是 cassandra 的新手,现在我正在尝试制作生产服务器。在文档中,我读到数据和提交日志应该在单独的驱动器上(顺便说一句,我使用硬盘),我认为提交日志将增加到许多 Gb 的数据,我创建了 2 个硬盘驱动器(均为 100Gb),首先是数据(sstables)在第二个提交日志上。但现在在配置中我看到: commitlog_total_space_in_mb: 4096,我认为这应该是“最大堆大小”。如果 commitlog 达到了这个限制,那么 memtables 的大小似乎会增加,需要刷新到磁盘,并且 memtables 中包含的数据也会从 commitlog 中删除。

所以请告诉我我是否正确:commitlog 就像堆的备份,不能增加到数百 Gb?

而且我不需要为此创建 100Gb 硬盘驱动器,4Gb 分区就足够了(在另一个硬盘驱动器上,与存储数据(sstables)的位置不同)?

4

1 回答 1

5

commitlog 就像堆的备份,不能增加到数百 Gb?

提交日志是用于存储在 memtables 中的数据副本的临时存储。这是为了防止断电或服务器在 memtables 可以写为 SSTables 之前崩溃。一旦内存表被刷新到磁盘,提交日志段就会被删除。

堆上的其余数据(缓存、动态数据等)永远不会存储在提交日志中。所以你的提交日志通常会比你的堆小得多。

而且我不需要为此创建 100Gb 硬盘驱动器,4Gb 分区就足够了(在另一个硬盘驱动器上,与存储数据(sstables)的位置不同)?

较小的分区会很好,但您可能希望在 4 GB 以上留出一点空间。

于 2013-04-14T20:39:41.447 回答