腾讯音乐为何用 Apache Doris 替换 Elasticsearch

国内大厂的技术栈迁移往往牵动人心。最近,腾讯音乐内容库从 Elasticsearch 迁移到 Apache Doris 的实践引起了关注。这并非简单的换库,而是将搜索与分析统一到一个引擎上,背后是成本与性能的双重考量。

从 ES 到 Doris:统一引擎的吸引力

Elasticsearch 在全文检索领域是经典选择,但腾讯音乐内容库的场景可能更复杂。内容库不仅需要搜索,还需要分析,比如统计、聚合等。如果搜索用 ES,分析用其他引擎(如 ClickHouse),就会形成两套系统,数据同步、资源管理都是麻烦。Apache Doris 的优势在于它同时支持全文检索(通过倒排索引)和高效的分析查询,这样就能用一套系统搞定两类需求。

腾讯音乐的实践表明,Doris 解决了 ES 在资源隔离上的痛点。在 ES 中,搜索和分析任务可能互相干扰,导致性能不稳定。而 Doris 通过资源隔离机制,让不同负载各得其所,提升了整体稳定性。

快手也在转向 Doris:湖仓一体的趋势

无独有偶,快手也在从 ClickHouse 向 Apache Doris 演进,目标是湖仓一体。快手的数据量巨大,ClickHouse 在查询速度上很快,但湖仓分离架构(数据湖与数仓分开)带来了额外的数据移动成本。Doris 的自动物化视图和缓存优化,能减少重复计算,加速查询,从而支撑湖仓一体的架构。

这两个案例都指向一个趋势:国内大厂在寻求更统一、更高效的引擎。Doris 作为国产开源项目,正在成为 ES 和 ClickHouse 的有力替代者。

为什么值得关注

对于技术决策者来说,腾讯音乐和快手的实践提供了参考。如果你的业务同时涉及搜索和分析,且对资源隔离有要求,那么 Doris 可能是一个值得评估的选项。它减少了系统数量,降低了运维成本,同时通过优化提升了性能。当然,迁移并非易事,需要评估现有系统的兼容性和团队的技术储备。但至少,这些案例证明了 Doris 在大型生产环境中的可行性。

技术选型没有银弹,但看到头部公司的实际落地,能让我们更理性地判断。


参考链接:

参考来源