【问题标题】:Any key-value storages with emphasis on compression?任何强调压缩的键值存储?
【发布时间】:2015-05-12 09:24:22
【问题描述】:

是否有任何符合以下标准的键值存储?

  • 是开源的
  • 持久文件存储
  • 有复制和oplog
  • 具有可配置的压缩,可用于每秒存储 10-100 兆字节的原始文本
  • 在 windows 和 linux 上工作

所需的界面应至少包含:

  • 按文本或数字 ID 存储记录
  • 按 ID 检索记录

【问题讨论】:

  • 您打算在其中存储多少数据?
  • @MateuszDymczyk 几十 TB
  • 你最终使用了什么?我有完全相同的要求。

标签: compression distributed key-value-store


【解决方案1】:

wiredtiger 确实支持不同类型的压缩:

压缩注意事项

WiredTiger 分几个阶段压缩数据以保留内存和 磁盘空间。应用程序可以配置这些不同的压缩 算法来定制内存、磁盘和 CPU 之间的要求 消耗。块压缩工作以外的压缩算法 通过修改键和值的表示方式,从而减少 内存和磁盘上的数据大小。另一方面,块压缩 以二进制表示形式压缩数据,同时将其保存在 磁盘。

配置压缩可能会改变应用程序的吞吐量。为了 例如,在使用固态驱动器的应用程序中(其中 I/O 较少 昂贵),关闭压缩可能会增加应用程序 通过降低 CPU 成本来提高性能;在 I/O 成本高的应用中 更昂贵,打开压缩可能会增加应用程序 通过减少 I/O 操作的总数来提高性能。

WiredTiger 使用一些内部算法来压缩 存储的数据不可配置,但始终打开。例如, 运行长度通过存储顺序来降低大小要求, 存储中的重复值仅一次(具有关联的 计数)。

wiredtiger 支持不同类型的压缩:

  • 键前缀
  • 字典
  • 霍夫曼
  • 以及支持 lz4、snappy、zlib 和 zstd 等内容的块压缩。

查看documentation 以获取该主题的完整封面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    • 1970-01-01
    • 2011-06-28
    • 1970-01-01
    相关资源
    最近更新 更多