您现在的位置是:首页 > 文章详情

ClickHouse 推出「懒」优化:查询速度提升高达 1500 倍

日期:2025-04-23点击:21

开源数据库ClickHouse在最新版本中推出了一项重大优化功能——懒物化(Lazy Materialization),该特性通过延迟读取列数据直到实际需要时才加载,显著提升了查询性能。根据官方测试,在某些场景下查询速度提升高达1500倍以上。

这项优化特别适用于大数据集的Top N查询场景。在实际测试中,一个原本需要219秒的查询在启用懒物化后仅需139毫秒即可完成,性能提升了1576倍。更令人惊喜的是,这一优化无需修改任何SQL代码,仅仅通过改变数据读取策略就实现了如此显著的性能提升。

ClickHouse开发团队以生动的方式解释了懒物化的工作原理——就像在机场得知航班取消就不用打包行李一样,ClickHouse现在也可以避免不必要的数据读取。具体来说,该优化建立在ClickHouse现有的多层I/O优化基础之上:首先使用主索引过滤出符合条件的数据块,然后通过PREWHERE进行「早期过滤」(early filtering),最后才是懒物化发挥作用,将大型列的数据读取推迟到实际需要时再进行。

为了展示这一优化的效果,ClickHouse团队使用了包含1.5亿条亚马逊用户评论的数据集进行测试。在一个需要处理大量文本数据的查询中,通过逐层启用优化,查询时间从最初的220秒降低到96秒(启用索引),再到61秒(启用PREWHERE),最终在启用懒物化后降至仅需181毫秒。

业界反响热烈。在Hacker News上,众多开发者对ClickHouse的技术实力表示赞赏。一位开发者表示:「ClickHouse是现代工程的杰作,对性能的追求令人敬佩。」不过也有人指出ClickHouse的管理层存在一些争议性做法,如在GitHub issues中删除对竞争对手的引用等。但大多数评论认为,有着来自Altinity、Tinybird、Cloudflare等多家公司贡献者的支持,ClickHouse的技术发展不会受到太大影响。

特别值得一提的是,与DuckDB的对比成为评论区的一个热点话题。有开发者认为如果ClickHouse能提供像DuckDB那样易用的体验将会更好。不过也有人指出,ClickHouse已经推出了chdb这样的嵌入式版本,在保持核心功能的同时提供了更好的易用性。另外,有评论提到DuckDB最近推出的UI完全托管在motherduck的服务器上,这可能暗示该项目正在向专有扩展方向发展。

从技术角度来看,这次优化再次证明了列式存储在某些场景下的巨大优势。正如一位评论者所说,看到现代硬件和软件能够在70毫秒内对1.5亿个值进行排序并返回前三名(仅使用3.59MB内存),确实需要更新我们对「慢查询」的认知。

不过也有开发者指出,这种性能优化并非ClickHouse独创。所谓的「延迟物化」(Late Materialization)技术在列式存储领域已经存在很长时间。ClickHouse的创新在于将这一优化策略与其他I/O优化技术有机结合,并在实际应用中取得了显著效果。

总的来说,这次更新展示了ClickHouse在性能优化方面的持续投入。虽然在易用性等方面还有改进空间,但其在大规模数据分析领域的技术实力毋庸置疑。作为一个在2021年从Yandex分拆出来的独立项目,ClickHouse正在以稳健的步伐向前发展。

原文链接:https://www.oschina.net/news/346134
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章