Databricks周二宣布,将收购Electric公司。Electric是基于WASM技术的Postgres项目PGlite及Electric同步引擎背后的初创公司。此次收购的背景,是智能体应用正在深刻改变开发者使用数据库的方式。
Electric团队将并入Neon——即Databricks去年斥资约10亿美元收购的无服务器Postgres公司,也是其Lakebase数据库服务的基础。双方未披露此次交易的具体条款。
PGlite是一个基于WebAssembly(WASM)的完整Postgres数据库,可在浏览器、Node.js进程,或智能体用于执行代码的沙箱环境中运行,并支持动态扩展加载,包括主流的Postgres向量扩展pgvector。据双方介绍,PGlite的每周下载量在过去一年间从100万次增长至1300万次。
然而,真正引发Databricks收购兴趣的,是Electric的同步引擎。该引擎维护一个中央Postgres数据库,能够以近实时的方式与浏览器标签页、移动应用或智能体进行同步。Databricks将这一模式比作Figma或Google Docs的多人协作模型,只不过应用对象换成了Postgres数据库及使用它的智能体。
Neon团队在其公告中指出,"冲突解决、部分复制、断线重连等复杂问题使得实时同步从零构建极为困难",这也正是Databricks选择直接收购Electric而非自行研发的原因所在。
关于Electric的未来走向,公司创始人James Arthur和Valter Balegas表示,"此前所有开源内容将继续保持开源",涵盖同步引擎、PGlite、Durable Streams和TanStack DB。不过,Electric的托管服务未能延续,"Electric Cloud正在关停",云端用户需自行托管或迁移至其他服务商。
此次收购是Databricks持续扩展数据库版图的最新举措,此前已相继完成对Neon及事务处理初创公司Mooncake的收购。
在Databricks团队看来,传统非智能体应用通常是多个客户端共享同一数据库,数据库是技术栈中最为持久的组件。但智能体工作负载正在改写这一格局。
Databricks的Ippokratis Pandis、Nikita Shamgunov和Reynold Xin在近期一篇探讨智能体开发如何改变数据库的文章中写道:智能体在Lakebase上创建的数据库数量,目前已是人类用户的约四倍;平均每个项目拥有约10个数据库分支,部分项目的分支迭代次数甚至超过500次。在Lakebase上的某些应用类型中,数据库计算的平均存活时间不足10秒。
智能体习惯于像分支代码一样分支数据库,而Neon的架构正是围绕这一模式构建的。实际运行中,一个编程智能体会启动一个沙箱,在其中实例化PGlite,完成构建与测试后,要么直接丢弃,要么将结果同步至Lakebase分支。由于Lakebase将存储与计算分离,并以Postgres页面格式将数据存于对象存储中,创建分支本质上只是一次开销极低的写时复制元数据操作。
"随着编程智能体将创建成本降为零,应用数量将爆炸式增长,且大多数都是小型应用,"Neon团队写道。即便是能缩容至零的无服务器数据库,也对最小可行应用的运行成本设定了下限。"如果每个应用都需要固定的最低算力,那'应用丰裕时代'便无从实现。"
值得一提的是,PGlite并非起源于Electric,而是由Neon联合创始人Stas Kelvich发起的一项实验——他将Postgres编译为WASM,探索其在客户端运行的可能性。Electric接手了这项工作,并将其打造成一个可投入生产的项目。Arthur和Balegas写道:"那个代码仓库成为了PGlite的基础。"正如Databricks公告所言,此次收购"让同一创意的两个部分重新合而为一"。
Q&A
Q1:PGlite是什么,它和普通Postgres数据库有什么不同?
A:PGlite是一个基于WebAssembly(WASM)的完整Postgres数据库,最大的不同在于它可以直接运行在浏览器、Node.js进程或智能体沙箱环境中,不需要独立的数据库服务器。它还支持动态扩展加载,包括向量扩展pgvector。目前每周下载量已达1300万次,是轻量级、嵌入式Postgres场景的主流选择。
Q2:Databricks收购Electric之后,Electric Cloud用户该怎么办?
A:根据官方公告,Electric Cloud托管服务将正式关停,现有云端用户需要选择自行托管Electric同步引擎,或迁移至其他服务提供商。不过,Electric此前开源的所有项目——包括同步引擎、PGlite、Durable Streams和TanStack DB——均将继续保持开源,用户可自由使用。
Q3:为什么智能体应用需要每个智能体拥有独立的数据库?
A:传统应用是多个客户端共享一个数据库,但智能体工作负载完全不同。智能体在执行任务时会频繁创建、分支、销毁数据库,Databricks数据显示智能体创建的数据库数量是人类用户的四倍,部分项目分支迭代超500次,且数据库计算存活时间有时不足10秒。为每个智能体提供独立的轻量级数据库,能大幅降低成本并提升灵活性。
