资讯动态

Apache Doris压缩算法怎么选:3步定下ZSTD、LZ4还是Snappy

发布时间:2026/9/11 1:34:48 来源:尧图企业网站定制
Apache Doris压缩算法怎么选3步定下ZSTD、LZ4还是Snappy【免费下载链接】dorisApache Doris is a real-time analytics and hybrid search database for AI agents.项目地址: https://gitcode.com/GitHub_Trending/doris/doris同一张表我只改了一个属性磁盘占用就少了近一半——这不是段子而是 Apache Doris 压缩算法选型的日常。如果你一直纠结该选 ZSTD、LZ4 还是 Snappy看完这篇三分钟就能拿到一份可以直接照着做的答案每个算法干什么的、什么场景选哪个、怎么三步配完。三种算法一句话画像ZSTD、LZ4、Snappy 各干各的活打包行李是最好的类比ZSTD 是真空压缩袋。压得最小但抽气和复原都费劲适合放很久不再打开的数据。LZ4 是往箱子里快速塞衣服的人。压得不狠但塞进去和拿出来都极快适合一直在写、一直在查的数据。Snappy 是只装当天衣物的人。速度居中、资源开销最低适合日志、中间结果这类短命数据。ZSTD LZ4 Snappy 区别一句话压缩比越高CPU 代价越大。选型看数据多久被摸一次而不是看谁压得小。三种算法的底层压缩实现见 BE 侧 block_compression.cpp原理细节这里不展开。按场景对号入座实时写入、历史归档、日志类怎么选如果你的数据是实时写入、查询要求低延迟流式接入、实时大盘就选 LZ4。如果你的数据是历史归档、周期报表平时很少被碰、存储预算是主要成本就选 ZSTDDoris 压缩比越高越省钱。如果你的数据是量大但保留期短的日志、临时中间结果希望 CPU 和内存占用尽量低就选 Snappy。一个反直觉的提醒热数据别盲目追求最高压缩比。压得越狠每次读取要多花 CPU 解压QPS 一高查询延迟反而更差。压缩比要服务于查询不是反过来。三步落地Doris 存储压缩配置最小操作总共就做三件事。① 设全局默认。在 fe.conf 里加一行之后新建的表默认按它走default_compression_type zstd② 建表时覆盖。某张表想跟全局不一样就在建表属性里单独指定CREATE TABLE orders ( order_id BIGINT, created_at DATETIME ) PROPERTIES (compression lz4);③ 确认生效。建完跑一句输出里看到 compression lz4 就成了SHOW CREATE TABLE orders;上线前检查清单5 项自查 ✅变更安排在业务低峰期先在单个分区或备表上验证改动存量表的压缩方式前先把备份做掉上线后同时观察 Doris 压缩比和查询耗时别只看一个冷热分区拆开配热分区 LZ4冷分区 ZSTD大文本字段可尝试更大的块大小数值字段保持默认即可别等存储吃满才动手。这周就挑一张你早就想换算法的表先备份再把上面三步跑一遍一周后回来对比结果。更多参数细节见 官方文档入口。【免费下载链接】dorisApache Doris is a real-time analytics and hybrid search database for AI agents.项目地址: https://gitcode.com/GitHub_Trending/doris/doris创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价