nosql - 具有良好磁盘压缩的分布式键值存储?
问题描述
我需要一个简单的键值存储,具有良好的磁盘压缩能力,并且在谷歌搜索方面运气不佳。在评估存储时,似乎没有太多人关注磁盘大小。
我需要能够使用短字符串键放置/获取大小在 1k 到 100k 之间的持久二进制对象。每个密钥需要存储在至少 2 个节点上以实现冗余。可用性比一致性更重要。我不需要事务、SQL 查询或类似的东西。磁盘空间对于扩展我的系统很重要。
有什么建议么?
解决方案
我最终使用 Google 协议缓冲区稍微压缩了我的对象,并将它们存储在 Apache Ignite 中,并打开了 zstd 压缩。这似乎运作良好。磁盘大小约为原始 csv.gz 源数据的 80%。
推荐阅读
- azure - Azure Pipelines YAML:如何摆脱“构建后:获取源”步骤?
- javascript - 构建或打包 nodejs 脚本,使其自包含
- r - 如何更改核密度级别图上的阴影颜色
- node.js - 无法为 nodejs web3 推送到 heroku - 它正在尝试找到 web3@1.0.0-beta.42 postinstall
- rust - 如果没有要返回的内容,如何从泛型函数返回有意义的内容?
- qt - 用 Qt 实现 3D 着色器到 2D 对象?
- java - JVisualVM 的堆转储中的“大小”是如何计算的
- sql - 如何加入不同的 CONCAT 表达式?
- sql - SQL 加法公式
- sql - 如何修复 SQL 中的语法 END AS?