正在加载陈远的个人网站

DuckDB 2.0 有望让直读 S3 性能媲美本地数据库

DuckDB 2.0 或将绕过缓存层,让直接读取 S3 对象存储的性能接近读取数据库。

架构与基础设施研发效能行业观察

来源摘录

DuckDB’s upcoming 2.0 release looks to make reading files from S3 comparable to just reading a database. Even with Lakehouses, reading directly from object storage is a performance bottleneck. It’s not fast. There’s normally a caching layer involved. But I’m seeing DuckDB 2.0 changing all that.

深度解析

是什么

这是一条纯观点推文。作者 Hoyt Emerson 预判:DuckDB 即将发布的 2.0 版本,会把「直接读取 S3 上的文件」的体验拉到「读取一个数据库」的水平,即对象存储上的数据可以像本地表一样被高效查询。

背景与意义

当前数据架构的普遍痛点是:即便采用 Lakehouse(如 Iceberg、Delta Lake 一类湖仓形态),数据物理上仍放在对象存储中,而对象存储的读取延迟和吞吐天然不如本地磁盘或专用数据库,直接查询往往性能不佳。业界主流做法是叠加一层缓存(caching layer)来弥补,但这引入了额外组件、一致性与运维成本。作者认为 DuckDB 2.0 正在改变这一格局——其高效的向量化执行与对远程文件读取的优化,可能让「无缓存的直读」变得可用甚至快。

关键洞察

若成立,意义在于:查询引擎与存储之间的边界进一步模糊,「文件即数据库」的分析模式将大幅降低数据平台复杂度,中小规模分析场景可能不再需要专门的缓存层或落库流程。

边界与风险

需注意这是作者基于前瞻信息的个人判断(用词为 looks to、I'm seeing),并非官方基准测试;实际性能高度依赖文件格式、网络条件与查询模式,结论仍待 2.0 正式发布后的实测验证。