冷查第一,再登榜首!Apache Doris 3.1 全面刷新 JSONBench 性能纪录

在半结构化数据分析领域,真正的挑战往往不在于"热数据",即常被访问、已加载至缓存的数据,而在于"冷数据" ------那些规模庞大、未被缓存,且需直接从磁盘读取的 JSON 文件。

在 9 月份发布的 Apache Doris 3.1版本中,对 Variant 引擎进行系统性优化,包括引入稀疏子列与子列模板化机制、优化列裁剪与路径索引、向量化 JSON 列裁剪引擎。这些改进推动 Doris 在冷查场景下实现性能及稳定性的全面突破。

与此同时,基于 Apache Doris 3.1 版本,在最新的 JSONBench 基准测试 中,获得在冷查性能第一的优异成绩,超越 ClickHouse、Elasticsearch 等同类数据库;热查询也获得第二的成绩;综合性能全面领先!

什么是 JSONBench

JSONBench 是最具代表性的 JSON 数据分析性能基准,由 ClickHouse 社区发起。该基准测试采用真实场景 Bluesky 数据集( 10 亿级 JSON 数据),包含多层嵌套、键值不固定的 JSON 结构,对数据库的查询优化、列存设计、解析引擎都是严苛考验,是业内公认的半结构化性能试金石。

Doris 冷查性能 Top 1

根据最新的内部测试与 JSONBench 官方公布结果, Apache Doris 3.1 冷查在 Q3--Q5 查询表现最佳,且在冷查询(无缓存)场景下性能远超其他所有对比系统,位居榜首,综合性能全面领先。

具体测试结果如下:

从榜单可以清晰地看到,Doris (分数 1.57) 具备压倒性的性能优势:其速度约是 MongoDB (分数 258.21) 的 164 倍,是 PostgreSQL (分数 1687.29) 的 1074 倍。同时,以近 2 倍的优势领先于 Elasticsearch (分数 3.01),成为更具竞争力的选择。

此外,Doris 在热查询下也表现优异,仅次于榜单发起者 ClickHouse,位居第二。

性能登顶的背后

Apache Doris 在冷查询场景下的卓越性能,得益于其在以下几方面的协同:

  • 高效 I/O 路径:通过 Path 级别列裁剪和延迟物化机制,冷读 JSON 子列时仅加载必需的数据,精确命中、减少数据读放大问题;
  • Variant 子列级索引:支持 JSON 路径索引(ZoneMap、BloomFilter 等稀疏索引)和谓词下推,支持文件级别裁剪,可加速过滤条件的定位;
  • 强大的查询引擎:具备高效的向量化执行引擎以及并发查询机制,显著提升查询效率;
  • 智能缓存策略:在冷查时,结合预读与页缓存,可提升系统整体吞吐。

同时,在 Doris 3.1 版本中,Doris 对 Variant 类型进行了系统性优化,使其在冷查场景下有更为可观的性能提升:

  • 稀疏子列(Sparse Sub-Column)机制:仅列式存储高频出现的 JSON 键,减少 I/O 与元数据开销;
  • **子列模板化(Schema Template)机制:**固定子列类型,确保索引命中更加稳定;
  • 列裁剪与路径索引优化:冷读时可精确定位目标子列,避免全字段扫描,并能实现更稳定的索引命中。

详情参考:Variant 数据类型

选择 Apache Doris

对于追求稳定、高效、低延迟的半结构化分析系统而言,Apache Doris 3.1 正在成为新的性能标杆。其核心价值体现在:

  • 秒级查询响应:在日志、埋点、事件数据分析场景中,实现秒级响应,支持实时探索;
  • 适用存算分离架构:即使在基于 S3、HDFS 的大规模存算分离架构中,冷查询性能依然强劲;
  • 极低 I/O 成本:在相同查询规模下,Doris 的冷查 I/O 成本相比 Elasticsearch 可降低 60% 以上;
  • 技术架构升级 :从上文可知,Doris 在 JSON 分析场景中,性能远超 MongoDBPostgreSQL 以及 Elasticsearch,是当下更具竞争力的半结构化数据分析的选择。
相关推荐
羊小蜜.10 分钟前
Mysql 01:基础查询(SELECT)全解——从单表到多字段的完整语法
数据库·mysql·查询
猿小喵23 分钟前
记录一次从库并行回放出现死锁的问题
数据库·mysql·tdsql
随风,奔跑30 分钟前
Redis
数据库·redis·缓存
IvorySQL32 分钟前
2MB 的 PostgreSQL work_mem,如何吃掉 2TB 内存?
数据库·postgresql·开源
桑榆肖物33 分钟前
有字幕,没配音?用浏览器自带语音能力,让网页视频直接“开口说话”
数据库·edge·音视频·tts
熬夜的咕噜猫1 小时前
MySQL主从复制与读写分离
网络·数据库·mysql
道清茗1 小时前
【MySQL知识点问答题】 备份技术、Invisible Indexes 和直方图的应用
数据库·mysql
芒果披萨1 小时前
sql存储过程
java·开发语言·数据库
jnrjian1 小时前
RAC 去除node的建议 dbca 和手动方法
数据库·oracle
TlYf NTLE1 小时前
redis分页查询
数据库·redis·缓存