AI为何需要基于Postgres和ClickHouse的数据层
本文探讨AI应用对数据层的新需求,指出AI加速数据增长且模糊了事务与分析工作负载的界限。Postgres和ClickHouse作为开源数据库的佼佼者,分别擅长实时事务和分析,通过CDC、pg_clickhouse扩展等集成,能提供统一的数据栈。作者认为最佳组合是各自发挥优势,而非单一系统。
在过去的几年中,我与数千家使用Postgres和ClickHouse的公司合作,见证了人工智能如何改变应用程序对数据库的需求。每一个AI应用本质上都是数据应用:代理产生海量操作数据,用户期望基于这些数据获得实时答案,往往在同一请求中实现。这改变了应用对数据库的要求。
本文旨在探索AI应用对数据层的实际需求,为什么Postgres和ClickHouse日益成为这些工作负载的自然组合,以及我们为开发者提供该组合所做出的投入。
简而言之:AI以前所未有的规模加速数据增长,并正在打破传统事务处理(OLTP)与分析处理(OLAP)之间的界限。满足这些需求需要最佳的开源数据库——Postgres和ClickHouse,各自擅长其设计目标,同时无缝协作。
AI的需求及其对数据格局的改变
AI原生应用生成的数据远超传统软件。每次提示、响应、工具调用、评估和用户交互都成为数据,推动数据量和查询并发量的爆炸式增长。一组数据表明,在使用Postgres和ClickHouse的AI原生公司样本中,六个月平均数据增长超过1000%,新增超过85TB数据。
此外,当AI从“vibe-coding”应用转向生产系统时,权衡也在改变。应用正做出关键决策,并在更大表面积和规模上运行,提高了数据层的可靠性和安全性门槛。
为跟上这些需求,AI需要一个能够实时摄取、处理和大规模查询数据的数据层,且始终可用和安全。快速配置和即时分支固然好,但若底层数据栈不快、不可靠或不安全,则意义不大。
AI需要OLTP与OLAP实时协作
基于LLM的应用、AI生成的洞察、异常检测、推荐引擎和自然语言界面都需要事务数据库与分析数据库之间更紧密的反馈循环。写入事务数据库的数据必须几乎立即可用于分析查询。
在这些场景中,传统的每小时或每分钟ETL模式已经不够。事务和分析数据库必须实时运行,从数据写入到可用于分析仅隔数秒。
开源基础和成本的重要性
AI基础设施也正在发生类似转变。随着团队对专有LLM锁定和不断上升的令牌成本越来越警惕,他们也在重新考虑数据栈的灵活性和经济性。开源数据库两者兼顾:提供自托管或托管部署、自由切换供应商以及通常更低的成本。
为什么Postgres + ClickHouse胜出
上述需求正在重塑AI原生公司的数据栈选择。Postgres和ClickHouse正日益成为默认选择,结合了最佳实时事务和分析能力,并基于强大的开源基础。
Postgres是全球最流行的开源事务数据库,提供坚实的事务支持,包括低延迟CRUD、ACID合规、丰富索引、完整SQL接口、强大的扩展框架以及广泛的ORM和应用生态系统。ClickHouse则是全球最快的分析数据库,提供列式存储、跳跃索引、增量物化视图、分布式缓存、原生JSON和全文搜索等专用功能。两者都已达到企业级标准。
它们共享相同的开源理念,拥有庞大活跃的社区。Postgres最近庆祝了30周年,ClickHouse则庆祝了10周年。
开发者喜爱Postgres和ClickHouse。Postgres拥有业内最丰富的工具和集成生态系统,而ClickHouse结合了熟悉的SQL、简单的本地开发和开箱即用的分析性能。它们共同提供了“开箱即用”的体验。这体现在其广泛采用上,从数万家初创公司到GitLab、Instacart和Cloudflare等企业。
用Postgres和ClickHouse统一OLTP和OLAP
我们的方法很简单:拥抱Postgres和ClickHouse作为OLTP和OLAP的领先开源数据库,并使它们之间的集成尽可能地无缝和原生。
我们投资了多个项目:数据移动方面有PeerDB(驱动ClickPipes for Postgres),提供秒级复制的CDC;查询方面有pg_clickhouse扩展,允许从Postgres直接查询ClickHouse;可观测性方面有pg_stat_ch,将Postgres查询遥测流到ClickHouse。我们还推出了由ClickHouse管理的Postgres服务。
比较最佳组合与统一存储架构
数据库行业在过去十年多次尝试将OLTP和OLAP统一到单一引擎。也有架构围绕统一存储和数据湖构建。这些方法在技术上很有趣,但将开发者绑定到专有平台,并要求单一系统优化根本不同的工作负载。OLTP和OLAP的存在是有原因的:行存储和列存储分别针对不同的访问模式。
同样,数据湖擅长数据仓库用例,但并非为实时、高并发客户和应用设计。可以在此基础上叠加操作能力,但仍受限于开放表格式和通用存储层,难以匹配例如MergeTree等专用引擎的性能。
这种区别也反映了我们在ClickHouse的策略:最佳组合。我们专注于使MergeTree成为实时分析的最佳引擎,同时为数据仓库用例围绕开放表格式持续创新。
AI的未来是一个最佳组合的数据栈
AI并没有使OLTP和OLAP区别消失,反而使其更加重要。定义这个时代的应用需要能够可靠捕捉每次交互的事务数据库、能够实时处理数据的分析数据库,以及两者之间的无缝集成。
我们相信未来不属于试图优化根本不同工作负载的单一专有平台,而是基于Postgres和ClickHouse的开放最佳组合数据栈,每个数据库各司其职,协同工作。这就是我们正在构建的愿景:从企业级CDC到pg_clickhouse,每一项投资都旨在使Postgres和ClickHouse对开发者而言像一个统一的集成栈。