见字如面,我是一臻

90后新手奶爸,探索Doris x AI
❝凌晨三点的报警声,大概是每个数据人都经历过的2梦。 若你负责的系统管理着数PB级数据,日均查询量冲到5000万次,集群数量超过40个,资源规模还在以每年80%的速度疯狂增长时,任何一个微小的架构缺陷都会被业务的高速发展放大成致命伤... 你当如何应对? 不妨来看看
小米基于Apache Doris的实践。

回过头看,小米在2019年引入Apache Doris时,整个技术栈还是个大杂烩。
数据湖体系、OLAP引擎一大堆,每个都有自己的脾气和用法。

业务方想查个数据,得先搞清楚这数据在哪,再选对应的引擎,学习成本高得离谱。这就像你家里有十把不同的锤子,每把只能钉一种钉子,光是记清楚哪把锤子配哪种钉子就得花不少功夫。
早期的存算一体架构在资源利用率上也是个老大难问题。
你想建个高可用生产级的Doris集群,3FE+3BE是标配,这对小业务来说简直就是杀鸡用牛刀。
每个小业务都独立建集群?那集群数量得爆炸,运维团队直接累死。共享集群?资源争抢、隔离困难、计费模糊,这些问题一个都绕不开。
更让人抓狂的是部署效率。
物理机模式下,从申请资源到集群上线,怎么也得折腾一周。
业务那边催得火急火燎,你这边还在等机器、初始化、发布,那种感觉就像你在高速公路上开着老爷车,后面的车都在按喇叭,你只能干着急。
这些都不是团队技术不行,而是小米业务发展太快带来的幸福烦恼。
当你的数据规模从TB级冲到PB级,查询量从每天几万涨到几千万,原本能扛住的架构突然就带不动了。这不就有点像,你原本开的是辆家用车,突然要拉货,再怎么改装也变不成卡车。

Apache Doris 3.0的到来,就像是给这场持久战送来了决策一击。
存算分离这个架构,直接把计算层和存储层解耦了,BE节点变成无状态,配合Kubernetes的弹性能力,想扩就扩想缩就缩,再也不用为了高可用硬凑3FE+3BE的配置。
小业务也能按需申请资源,大业务高峰期也能快速扩容,资源利用率直接起飞。
最狠的是湖仓一体的原生支持。

以前数据在Iceberg、Paimon这些湖里,想查还得先导到Doris,现在直接联邦查询就完事了。
Doris不再是那个只能当外仓的角色,而是升级成了统一的查询引擎层,底下连着各种湖仓格式,上面通过缓存和物化视图给热点数据加速。
这好比你原本得把菜从冰箱拿到厨房才能炒,现在直接在冰箱上装了个灶台,想炒就炒。

TPC-DS 1TB的测试数据很能说明问题。
Doris对比Trino,不管是复杂多表关联还是高并发场景,全面领先。
小米内部的实际业务查询更是夸张,Doris对数据湖的查询效率比Trino高了3到5倍。
这种级别的性能提升,不是优化几个SQL能搞定的,是架构层面的降维打击了。

异步物化视图这个功能,直接把广告业务的痛点给治了。
以前要把明细数据聚合成小时级数据,得开发一套复杂的调度任务,维护成本高得吓人。
现在只要在Doris里声明个物化视图定义,系统自动搞定增量同步、数据聚合、更新调度这些脏活累活。
最6的是,用户还是用原来的SQL查原始表,Doris会自动识别并改写成查物化视图,完全透明。
这种你只管写SQL,剩下的交给我的体验,才是技术该有的样子。

统一查询网关的优化也很到位。
把不同引擎的权限认证统一到网关层,用户不用再管引擎权限,SQL改写能力还能帮用户在不同引擎间平滑切换。
传输协议换成Arrow Flight SQL和ADBC后,传输效率比JDBC高了10倍以上,真实业务场景下查询耗时少了36%,Kyuubi实例内存用量直接砍半。
这种级别的优化,用户体验非常明显。

运维效率的提升更是肉眼可见。
基于Kubernetes的精细化调度,资源申请从机器级别变成了核心、内存、磁盘这些细粒度维度,想怎么配就怎么配。
集群扩容从一周缩短到分钟级,新集群创建还能自动注册到元数据中心,查询网关自动识别接入。
这种自助化的体验,让业务方不用再等平台排期,想用就用。
看完小米这个案例,最让人感慨的不是Doris有多强,而是技术演进从来都不是一蹴而就的。
从2019年引入Doris到2025年全面拥抱3.0+,中间经历了多少次架构调整、多少次深夜排查、多少次方案推翻重来,只有亲历者才知道。
存算分离、湖仓一体这些概念听起来很美好,但真正落地到生产环境,支撑起数PB级数据和5000万日均查询,需要的是对业务的深刻理解和对技术的极致追求。
小米团队没有盲目追新,而是在2.1和3.0+版本并行运行,逐步收敛,这种稳扎稳打的节奏才是技术团队该有的样子。
对于正在做技术选型的同行,这个案例最大的启示或许是:不要被现有的架构框住,但也不要为了新而新。当你的业务规模到了某个临界点,原本能凑合的方案就会变成瓶颈,这时候就要有勇气推倒重来。但推倒重来不是从零开始,而是站在前人的肩膀上,用更先进的技术解决更复杂的问题。
Apache Doris在小米的实践,与其说是技术的迭代,不如说是务实精神的实践。be,再炫酷的架构,扛不住业务的真实需求,都是空谈。
各位小伙伴觉着呢?

完