Scylladb是否需要与数据集一样多的内存?

时间:2018-11-29 07:07:22

标签: scylla

看看Scylla is described on compose.com怎么说:

  

Scylla需要快速的IO和与总数据大小一样多的RAM。

但看着published architecture时,它似乎不需要多少总数据大小的RAM,而是刷新到磁盘上所需的数据:

  

Scylla将数据保留在磁盘上。最初写给Sylla   存储在内存中的内存表中,该内存表有时会刷新到   稳定在磁盘上并从RAM中删除。

对于吹捧极端性能的项目来说,传统上似乎不提任何获得性能所需的调整(例如,通过为基准关闭这些功能而牺牲数据安全性,或者不提及必须将RAM中的所有部件都安装到内存中以实现性能)。已发布的结果)。

我想知道是所有内容都需要放入ram,还是只有当它们都放入RAM时才获得基准测试结果,或者compose.com是错误的(或已过期)的情况)?

不幸的是,谷歌搜索这个问题并没有给出明确的答案,所以我认为关于SO的问题将防止其他人感到困惑。

3 个答案:

答案 0 :(得分:5)

根据Scylla docs,一个节点可能具有64GB-256GB的内存,但最多可以存储10TB。

让我们看一下我们通常在其上运行的current AWS instance

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

那是大约30:1的比例。

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

答案 1 :(得分:4)

我认为它们的意思是Scylla将使用系统中的所有可用内存(除非另有说明)。

Indeed Scylla是一个基于磁盘的系统,专门研究磁盘和内存比率非常高的密集节点,因此您不需要像数据集一样多的RAM。

答案 2 :(得分:3)

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

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