【问题标题】:Reducing memory foot print in Apache Ignite 2.0减少 Apache Ignite 2.0 中的内存占用
【发布时间】:2017-06-01 08:07:32
【问题描述】:

我使用 Apache Ignite 2.0 作为键值存储。我的密钥是 10 到 15 位数字,值是一个整数。我打算存储大约 5 亿个这样的键值对。

在基准测试中,发现要存储 100 万个这样的 key-value 条目,内存利用率约为 90MB。只存储一个整数作为值,我不想投入这么大的内存。即,每条记录大约 90 字节,具有单个整数作为值。

有人可以说明如何减少 key.xml 中使用的内存开销。有没有配置?由于我不需要任何压缩,我可以减少使用 40Bytes 或其他一些元信息的 BinaryObjectImpl 吗?

或者,如果有人可以突出显示其他 kv 存储或技术,我可以探索以更少的内存占用来存储大量记录(甚至数十亿)。

更新: 我使用 example-cache.xml 作为我的配置,它按原样发货,没有任何更改。

提前致谢。

【问题讨论】:

  • 你是如何计算这个尺寸的?您是否尝试过再添加一百万个键值对并再次计算大小?

标签: key-value ignite key-value-store


【解决方案1】:

如果您只需要一个键值存储(没有数据网格),您是否尝试过 MapDB? http://www.mapdb.org/

它提供堆外存储并且可以很好地扩展。我们已经在几个缓存存储项目中成功使用了它。

【讨论】:

  • 您好史蒂夫,感谢您的回复。我检查了mapdb。我可以理解它是一个无限的 java 集合。但是我如何扩展。我没有看到任何聚类功能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-07
  • 2016-11-09
  • 1970-01-01
  • 2021-07-21
  • 2012-08-25
  • 1970-01-01
相关资源
最近更新 更多