我可以找到具有128MB RAM的廉价VPS主机,我想知道这是否足以为一个小型数据库运行一个crate节点,最初用于测试。 (我不是在寻找推荐的内存,而是最小内存,因为没有遇到内存不足的异常.Crate应该是唯一的服务在节点中。)
答案 0 :(得分:2)
可以在这样的环境中运行Crate。不过,我不推荐它。无论如何,您需要采取一些预防措施:
在Alpine 3.3顶部具有128 MB RAM的虚拟机上,我在磁盘上安装了openjdk8-jre
(您必须在/etc/apk/repositories
中启用社区存储库)。我下载了Crate 0.54.7 tarball并将其解压缩。我设置CRATE_HEAP_SIZE=64m
,因为这是可用内存的推荐一半。
我创建了一个表" demo"
DROP TABLE IF EXISTS demo;
CREATE TABLE demo (
data string
);
并填写了10,000条10 KB随机字符串的记录,每条记录都有一个缓慢的bash脚本:
head -c7380 /dev/urandom | uuencode - | grep ^M | tr -d '\n\047'
这花费了几分钟(大约20条记录/秒),但是对于批量插入,它应该方式更快,只需要几秒钟。
根据管理用户界面的报告,净数据量约为100 MB,磁盘总量为287 MB。
操作系统,已安装的软件和数据在磁盘上共声称为820 MB。
我配置了两倍的内存量作为交换空间并获得了以下足迹(Crate进程本身没有数据占用大约40 MB):
# free
total used free shared buffers cached
Mem: 120472 117572 2900 0 652 6676
-/+ buffers/cache: 110244 10228
Swap: 240636 131496 109140
对所有10,000条记录(SELECT count(*) FROM demo WHERE data LIKE '%ABC%'
)进行全文搜索大约需要1.9秒。
总结:是的,它是可能的,但是如果你真的这样做了,你会丢失很多功能。您的结果将在很大程度上取决于您实际运行的查询类型。
答案 1 :(得分:1)