我有一个关于将 Apache HBase 与 RAMdisk 一起使用的一般性问题。单个表中有大量数据,总共大约 25GB。有了这些数据,我正在使用 Java 程序进行一些基本的聚合。
由于我有足够的可用 RAM,我尝试使用 tmpfs 将此数据集放入 RAMdisk:
mount -t tmpfs -o size=40G none /home/user/ramdisk
然后我停止了 HBase,将数据文件夹的内容复制到 RAMdisk 中。最后,我创建了一个符号链接,将旧数据目录链接到新目录并再次启动 HBase。
它可以工作,但是当我现在处理聚合时,它变得比以前稍慢。
我可以想象使用 RAMdisk 没有那么大的影响,如果 HBase 压缩数据(激活了 Snappy 压缩)等等......但我无法猜测为什么更快的介质会导致更慢的访问数据。有足够的可用 RAM,因此这不会成为瓶颈。
也许有人对此有一般的想法或见解?