Java中更好地压缩位图、位集。通常用作快速数据结构,如果没有压缩它们可能会使用太多内存。RoaringBitmap性能往往优于传统的压缩位图,例如 WAH、EWAH 或 Concise。特点:
- 非常快的随机访问
- 良好的压缩比
- 快速计算
- 快速序列化
它将数据分成 2^16 个整数的块(例如,[0, 2^16), [2^16, 2 x 2^16), ...)。在块中,它可以使用未压缩的位图、简单的整数列表或运行列表。无论它使用什么格式,它们都允许您快速检查值是否存在(例如,使用二进制搜索)。
这将如何改善您的整体系统:
- 要传输的数据更少——不仅从客户端到服务器,而且在 ES 节点之间。
- 更少的内存使用——我们的客户端将使用更少的内存,但最重要的是,ES 节点也将使用更少的内存。
- 更少的磁盘空间——如果这些列表需要保存在数据库中的某个地方,使用 RoaringBitmaps 保存它可以节省大量空间。
- 高效查找——Roaringbitmaps 对于内存中查找来说非常高效和快速
@Override |
插件库Github