没有硬盘的嵌入式系统上的Cassandra

时间:2013-08-01 22:08:17

标签: cassandra

我一直在探索将Cassandra用于我们的嵌入式平台,并且宁愿根本不使用它。在我的研究中,我无法找到任何配置选项来关闭磁盘使用情况。我理解没有在磁盘上提交日志的缺点,因此没有写入持久性。

简而言之,让Cassandra完全运行内存数据库,其中有足够的RAM专用于容纳它本身保存的所有数据(基于所使用的分区),还有一些用于缓存数据以及Cassandra使用的其他元数据。假设如果本地缓存超出可用RAM,它将使用某种LIFO语义来清除从其他节点缓存的旧数据。

让Cassandra在没有磁盘的情况下完全在内存中运行的任何选项/库?

感谢。 RG

2 个答案:

答案 0 :(得分:1)

一种选择是安装由RAM支持的文件系统。您可以使用tmpfsRAM disk。它们之间的一个区别是tmpfs已经是一个文件系统,但如果你使用原始RAM磁盘,你只能获得一个块设备,所以你必须用文件系统单独格式化它。

答案 1 :(得分:0)

如果您使用的是mariadb,您可以将Cassandra替换为另一个数据后端。我怀疑是否有一个特定的'被驳回的选项,因为这不是它的预期用途。

我不会使用tmpfs或类似的,因为你的RAM要求基本上会加倍。您将拥有数据库存储的内存缓存和“磁盘”上的副本。使用专为仅内存操作而设计的数据库后端是您最好的选择。如果由于某种原因必须使用tmpfs,请将缓存降至最低,以避免存储两个副本。 tmpfs是缓冲区缓存,所以存储它并不比从Linux磁盘缓存中拉出来慢,并且旨在避免撞到旋转磁盘的上层缓存层正在浪费内存。