我使用Apache Ignite 2.0作为键值存储。我的密钥是10到15位数字,值是一个整数。我打算存储大约5亿个这样的键值对。
在基准测试中,发现存储100万个这样的键值条目,内存利用率约为90MB。要存储一个整数作为值,我不想投入如此巨大的内存。即,每个记录大约90Bytes,其中包含单个整数值。
有人可以说明如何减少密钥中使用的内存开销。有配置吗?由于我不需要任何压缩,我可以减少使用40Bytes或其他元信息的BinaryObjectImpl吗?
或者如果有人可以在其他kv商店或技术上突出显示,我可以探索存储大量记录(甚至数十亿)并且内存占用较少的记录。
更新: 我使用example-cache.xml作为我的配置,它按原样发送,没有任何更改。
先谢谢。
答案 0 :(得分:0)
如果您只需要一个键值存储(没有数据网格),您是否尝试过MapDB? http://www.mapdb.org/
它提供了堆外存储并可以很好地扩展。我们已成功地在几个缓存存储项目中使用它。