尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Apache Doris 压缩算法怎么选:三步落地,存储省 40%
Apache Doris 压缩算法怎么选三步落地存储省 40%【免费下载链接】dorisApache Doris is a real-time analytics and hybrid search database for AI agents.项目地址: https://gitcode.com/GitHub_Trending/doris/doris季度复盘存储账单涨了 30%BE 节点容量告警又响了。翻遍集群配置才发现所有表还在裸跑默认压缩。好消息是Apache Doris 压缩算法选型其实只要改一个 FE 参数 建表时加一行 PROPERTIES热表切 LZ4、归档表切 ZSTD存储普遍能再省 20%~40%。三种算法一句话记住它们的脾气先别背参数记三个形象ZSTD 像压缩饼干——同样的空间装下最多的货代价是制作压缩时多花点力气。技术事实它是三者中压缩率最高的算法解压速度与压缩等级解耦等级调高只多花写入 CPU不影响查询侧。LZ4 像快递闪送——东西原样快进快出几乎不占你精力。技术事实LZ4 压缩解压都是 O(n) 线性速度写放链路里 CPU 开销最低代价是压缩率平平。Snappy 像临时便签——随手一贴撕下来也不费劲。技术事实面向小块内存数据设计单块 256KB 一次压完不追求压缩率追求的是零负担。算法压缩率压缩/解压速度内存占用典型场景ZSTD最高压缩中等解压快中冷数据归档、历史分区LZ4中等极快低实时写入、高频查询热表Snappy较低快极低临时表、中间结果源码细节Doris 支持的压缩类型枚举定义在 gensrc/thrift/AgentService.thrift 的 TCompressionType 中SNAPPY、LZ4、LZ4F、LZ4HC、ZLIB、ZSTD建表时写哪个名字底层就路由到对应编解码器。写路径细节LZ4HC 的等级由 BE 参数LZ4_HC_compression_level默认 9控制Snappy/LZ4 按 256KB 的块粒度压缩定义见 be/src/common/config.cpp。按你的场景选别按参数选如果你是实时接入的热表——Kafka 流式导入、写入后马上被查询——选 LZ4。它压缩解压都快写放大和查询延迟都低压缩率稍差的那点空间用 SSD 补比用 CPU 补划算。如果你是历史归档的冷表——月分区、季报表写完基本只读——选 ZSTD。这类数据查询频次低压缩多花的 CPU 摊到查询里几乎无感而压缩率能比 LZ4 再压出一截账单立省。如果你是临时表和中间结果——跑批产出、跑完即删——选 Snappy 甚至 NO_COMPRESSION。数据生命周期以小时计省下的那点空间还没进账单就没了别让压缩白白吃掉 CPU。拿不准用自己的一真实表跑一把仓库自带的 benchmark别拍脑袋# 编译 be/benchmark 后对真实数据页做编解码基准 ./doris_benchmark --benchmark_filterPlainPage/Compress五分钟改完配置第一步改全局默认。压缩默认值是 FE 侧配置改这一行、重启 FE之后新建的表就全部走 ZSTD# conf/fe.conf default_compression_type ZSTD第二步表级覆盖。热表单独指定 LZ4建表时加一个 PROPERTIES 即可粒度到表不跟全局抢CREATE TABLE user_behavior ( user_id BIGINT, action STRING, event_time DATETIME ) PROPERTIES (compression LZ4);第三步验证效果。查 information_schema 里每列的压缩前后字节数压缩比一目了然SELECT table_name, column_name, compressed_data_bytes, uncompressed_data_bytes, uncompressed_data_bytes / compressed_data_bytes AS ratio FROM information_schema.COLUMNS_DATA_SIZES WHERE database_name analytics_db ORDER BY ratio;字段说明compressed_data_bytes是落盘字节数uncompressed_data_bytes是解压后字节数两者比值即实际压缩比——拿这个数和选算法前的预估对比验证 ZSTD/LZ4 是否真省了空间。一个容易踩的坑改压缩参数只对之后新写入的数据生效存量 segment 保持原样segment 是自描述的。要让老数据也换算法得走表重建或分区重写别指望改个配置就回缩。更多参数说明可查 Apache Doris 官方文档 的 Configuration 一节。上线前先做这三件事先做快照备份。对目标库执行BACKUP DATABASE ... TO ...压缩算法变更一旦要回滚走restore比重导业务数据快得多——这是你的回滚方案。挑低峰期执行。重建分区或重写数据会同时产生额外的压缩 CPU 和 IO 写放大高峰期做等于把导入和查询一起拖慢凌晨窗口执行白天再验证。验证效果要拿数说话。对比两个指标存储量比值压缩前后data size之比ZSTD 通常落在 0.6~0.8和查询 P99 延迟变化——压缩率没提多少但 P99 涨了说明算法选重了回退即可。✅【免费下载链接】dorisApache Doris is a real-time analytics and hybrid search database for AI agents.项目地址: https://gitcode.com/GitHub_Trending/doris/doris创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Python爬虫与MapReduce实战:打造招聘数据可视化大屏

Python爬虫与MapReduce实战:打造招聘数据可视化大屏

简介:这是一份高分毕业设计项目,基于Python爬虫与MapReduce分析构建招聘信息大数据可视化系统,面向软件工程、计算机科学、人工智能、通信工程等专业的在校学生与教师,可广泛应用于毕业设计、课程设计、项目初期立项演示及个人学习…

📅 2026/9/11 19:35:49
MySQL的元数据是什么意思?

MySQL的元数据是什么意思?

MySQL的元数据是什么意思?当我们谈论“元数据”时,我们其实是在谈论“关于数据的数据”。就像你去图书馆找书,每本书都有一个标签,告诉你书名、作者、出版社等信息,这些信息就是这本书的“元数据”。在MySQL中&#xf…

📅 2026/9/11 19:35:49
Midscene完整指南:用一句自然语言驱动界面自动化

Midscene完整指南:用一句自然语言驱动界面自动化

Midscene完整指南:用一句自然语言驱动界面自动化 【免费下载链接】midscene GUI Agent for E2E Testing 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene Midscene 是一个开源的视觉 UI 自动化框架,核心思路简单:截个屏&…

📅 2026/9/11 19:30:49
MORE NEWS

更多资讯

📰

奥创中心单文件平替:GHelper 帮你管风扇曲线、GPU 模式与充电上限

奥创中心单文件平替:GHelper 帮你管风扇曲线、GPU 模式与充电上限 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, …

📰

OpenProject 开源项目管理软件:甘特图、看板与工时跟踪,一套自托管搞定

OpenProject 开源项目管理软件:甘特图、看板与工时跟踪,一套自托管搞定 【免费下载链接】openproject OpenProject is the leading open source project management software for product, project and portfolio management. A powerful Jira alternati…

📰

Apache Doris 压缩算法怎么选:三步落地,存储省 40%

Apache Doris 压缩算法怎么选:三步落地,存储省 40% 【免费下载链接】doris Apache Doris is a real-time analytics and hybrid search database for AI agents. 项目地址: https://gitcode.com/GitHub_Trending/doris/doris 季度复盘&#xff0c…

📰

Python爬虫与MapReduce实战:打造招聘数据可视化大屏

简介:这是一份高分毕业设计项目,基于Python爬虫与MapReduce分析构建招聘信息大数据可视化系统,面向软件工程、计算机科学、人工智能、通信工程等专业的在校学生与教师,可广泛应用于毕业设计、课程设计、项目初期立项演示及个人学习…

📰

MySQL的元数据是什么意思?

MySQL的元数据是什么意思?当我们谈论“元数据”时,我们其实是在谈论“关于数据的数据”。就像你去图书馆找书,每本书都有一个标签,告诉你书名、作者、出版社等信息,这些信息就是这本书的“元数据”。在MySQL中&#xf…

📰

Midscene完整指南:用一句自然语言驱动界面自动化

Midscene完整指南:用一句自然语言驱动界面自动化 【免费下载链接】midscene GUI Agent for E2E Testing 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene Midscene 是一个开源的视觉 UI 自动化框架,核心思路简单:截个屏&…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬