Scylla “锡拉卜”是否需要与数据集一样多的内存?

Scylla “锡拉卜”是否需要与数据集一样多的内存?,scylla,Scylla,看看它是怎么说的: “锡拉”需要快速IO和与总数据大小一样多的RAM 然而,看看这个问题,它似乎不需要太多的RAM作为总数据大小,因为它刷新到磁盘: “锡拉”将数据保存在磁盘上。对“锡拉”的写入最初是 在内存表中的RAM中累积,在某个时候会被刷新到 sstable在磁盘上并从RAM中删除 对于吹捧极端性能的项目来说,传统做法似乎是不提及获得该性能所需的任何调整(例如,通过关闭基准测试的这些功能来牺牲数据安全性,或者不提及必须在RAM中适应所有内容才能获得发布的结果) 我想知道是不是所有的东西都需

看看它是怎么说的:

“锡拉”需要快速IO和与总数据大小一样多的RAM

然而,看看这个问题,它似乎不需要太多的RAM作为总数据大小,因为它刷新到磁盘:

“锡拉”将数据保存在磁盘上。对“锡拉”的写入最初是 在内存表中的RAM中累积,在某个时候会被刷新到 sstable在磁盘上并从RAM中删除

对于吹捧极端性能的项目来说,传统做法似乎是不提及获得该性能所需的任何调整(例如,通过关闭基准测试的这些功能来牺牲数据安全性,或者不提及必须在RAM中适应所有内容才能获得发布的结果)

我想知道是不是所有的东西都需要融入ram,还是只有当它们都融入ram时,你才能得到基准测试结果,还是compose.com完全错了(或者过时了)


不幸的是,用谷歌搜索这个问题并没有给出一个明确的答案,所以我认为在so上提问可以防止其他人感到困惑

我认为他们的意思是,“锡拉”将使用系统中所有可用的内存(除非另有规定)

事实上,“锡拉”是一个基于磁盘的系统,专门用于具有非常高的磁盘内存比的密集节点,因此您不需要像数据集那样有那么多的RAM。

根据,节点可能有64GB-256GB的内存,但最多有10TB的存储空间

让我们看一看我们通常运行的:

i3.8xl:244 GiB内存,7.6 TB磁盘

这个比例大约是30:1


这在很大程度上取决于您的用例和YMMV,但这是一个典型的部署节点。

我们可以尝试在Compose的站点上解释错误,但这是一个错误-Scylla不需要与数据大小一样多的RAM。当然,拥有尽可能多的RAM是好的,任何未使用的RAM都将用于缓存数据,但这不是要求,甚至不是建议。同一页上的其他语句甚至建议使用10:1的磁盘:RAM比率,这当然与建议使用1:1的比率有很大不同


应该通知Compose他们的文档中有错误

最后,看看Compose的页面,看起来他们保持了10:1的比例:“磁盘与RAM的比例保持在10:1,因此通过增加分配给部署的磁盘,您就增加了分配给部署的RAM。额外的资源在5GB存储/510 MB内存块中可用。”另一个大型密集节点示例,AWS i3en.24xlarge和i3en.metal支持768 GiB RAM和60 TB数据,磁盘与RAM的比率为78:1。