-
Mooncake 正式加入 Databricks!
十三个月前,我们创立了 Mooncake,旨在将支撑 OpenAI 等科技巨头的数据智能技术栈带给每一个现代应用与每一位开发者——从第一行 Prompt 直到公司上市(IPO)。 今天,我们正式加入 Databricks。 我们的使命一如既往:让 Lakebase(Postgres)与数据湖仓(Lakehouse)融为一体。 在过去整整十年里,我们曾以为数据库的终极形态是一个能包揽一切的单体系统——同时兼顾高频更新、分布式事务与极速分析。在数据库行业里,这被称为 HTAP。但它始终未能真正普及 …
十三个月前,我们创立了 Mooncake,旨在将支撑 OpenAI 等科技巨头的数据智能技术栈带给每一个现代应用与每一位开发者——从第一行 Prompt 直到公司上市(IPO)。 今天,我们正式加入 Databricks。 我们的使命一如既往:让 Lakebase(Postgres)与数据湖仓(Lakehouse)融为一体。 在过去整整十年里,我们曾以为数据库的终极形态是一个能包揽一切的单体系统——同时兼顾高频更新、分布式事务与极速分析。在数据库行业里,这被称为 HTAP。但它始终未能真正普及 …
-
Mooncake 技术白皮书:面向 Apache Iceberg 的实时存储引擎
这篇技术白皮书假设读者已对开放分析表格式 Apache Iceberg 有所了解。Iceberg 是现代“数据湖仓(Lakehouse)”运动的核心基石,它允许用户: 将大规模数据集以开放文件格式(Parquet + 元数据)存储在廉价对象存储中; 使用 Spark、Trino、Flink、DuckDB 等多种计算引擎通过 SQL 直接查询; 获得 Schema 演进与时间旅行(Time Travel)等数据库级特性; 实现近乎无限的弹性扩展,彻底摆脱单一供应商锁定。 然而,Iceberg 生来 …
这篇技术白皮书假设读者已对开放分析表格式 Apache Iceberg 有所了解。Iceberg 是现代“数据湖仓(Lakehouse)”运动的核心基石,它允许用户: 将大规模数据集以开放文件格式(Parquet + 元数据)存储在廉价对象存储中; 使用 Spark、Trino、Flink、DuckDB 等多种计算引擎通过 SQL 直接查询; 获得 Schema 演进与时间旅行(Time Travel)等数据库级特性; 实现近乎无限的弹性扩展,彻底摆脱单一供应商锁定。 然而,Iceberg 生来 …
-
pg_mooncake v0.2 架构前瞻:开箱即用的实时列存与逻辑复制
在 v0.1 中,我们证明了 PostgreSQL 完全能够提供顶级的分析性能。通过将 DuckDB 向量化执行引擎与列存表相结合,pg_mooncake 成为了 Postgres 生态中唯一同时集成这两大能力的扩展。 实测成绩说明了一切:pg_mooncake 闯入了 ClickBench 全球前十,并打造出了最快的基于 Parquet 的执行引擎。 现在,在 v0.2 中,我们正在攻克下一个核心挑战——我们称之为**“开箱即用的分析(Out-of-the-Box Analytics)”**。 …
在 v0.1 中,我们证明了 PostgreSQL 完全能够提供顶级的分析性能。通过将 DuckDB 向量化执行引擎与列存表相结合,pg_mooncake 成为了 Postgres 生态中唯一同时集成这两大能力的扩展。 实测成绩说明了一切:pg_mooncake 闯入了 ClickBench 全球前十,并打造出了最快的基于 Parquet 的执行引擎。 现在,在 v0.2 中,我们正在攻克下一个核心挑战——我们称之为**“开箱即用的分析(Out-of-the-Box Analytics)”**。 …
-
如何让 DuckDB 在 Parquet 文件上的查询性能再上一个台阶
上周,我们在 PostgreSQL 上运行了 ClickBench 基准测试并成功闯入全球前十,证明了通过 pg_mooncake 扩展,Postgres 完全能够胜任严肃的大规模分析负载。 在成绩公布后,我们收到了许多开发者的提问:既然 pg_mooncake 内部嵌入了 DuckDB 并将数据存储为 Parquet 格式,为什么它在 Parquet 文件上的查询速度反而比直接使用 DuckDB 扫描还要快? 参见 X / Twitter 上的相关讨论。 最酷的地方在于:pg_mooncake …
上周,我们在 PostgreSQL 上运行了 ClickBench 基准测试并成功闯入全球前十,证明了通过 pg_mooncake 扩展,Postgres 完全能够胜任严肃的大规模分析负载。 在成绩公布后,我们收到了许多开发者的提问:既然 pg_mooncake 内部嵌入了 DuckDB 并将数据存储为 Parquet 格式,为什么它在 Parquet 文件上的查询速度反而比直接使用 DuckDB 扫描还要快? 参见 X / Twitter 上的相关讨论。 最酷的地方在于:pg_mooncake …
-
PostgreSQL 中最简单的极速分析方式:pg_mooncake v0.1 正式发布
我们在创业第 60 天向世界首次宣布了 pg_mooncake。 今天(第 131 天),pg_mooncake 正式结束 Beta 阶段,发布 v0.1.0。 pg_mooncake 的核心竞争力在于极致易用性与强悍性能。在 v0.1 中,我们在这两个方向上全力加码。 在 Postgres 中运行极速分析最简单的方式 凭借 Postgres 原生列存表,pg_mooncake 将开发者最熟悉的表语义带入分析场景。列存表不仅支持事务性的 INSERT、SELECT、UPDATE、DELETE 和 …
我们在创业第 60 天向世界首次宣布了 pg_mooncake。 今天(第 131 天),pg_mooncake 正式结束 Beta 阶段,发布 v0.1.0。 pg_mooncake 的核心竞争力在于极致易用性与强悍性能。在 v0.1 中,我们在这两个方向上全力加码。 在 Postgres 中运行极速分析最简单的方式 凭借 Postgres 原生列存表,pg_mooncake 将开发者最熟悉的表语义带入分析场景。列存表不仅支持事务性的 INSERT、SELECT、UPDATE、DELETE 和 …
-
pg_mooncake 🤝 Drizzle:用强类型 ORM 驱动分析查询
在 pg_mooncake 发布之初,有一件事出乎我们的意料:开发者们非常关心能否在分析型负载中继续使用熟悉的 ORM。我们经常收到两类典型需求: “我手头有一堆 Parquet 文件,我希望能在它们之上获得完整的 ORM 类型支持。” “我在事务数据库里用了 Drizzle / Prisma,我也希望能直接用它来写分析报表和仪表盘查询。” 我们始终坚信,Postgres 中的列式存储在外观和使用体验上必须像一张普通堆表。这正是 pg_mooncake 列存表的核心创新所在:你可以对它执行事务、 …
在 pg_mooncake 发布之初,有一件事出乎我们的意料:开发者们非常关心能否在分析型负载中继续使用熟悉的 ORM。我们经常收到两类典型需求: “我手头有一堆 Parquet 文件,我希望能在它们之上获得完整的 ORM 类型支持。” “我在事务数据库里用了 Drizzle / Prisma,我也希望能直接用它来写分析报表和仪表盘查询。” 我们始终坚信,Postgres 中的列式存储在外观和使用体验上必须像一张普通堆表。这正是 pg_mooncake 列存表的核心创新所在:你可以对它执行事务、 …
-
pg_mooncake + Neon:PostgreSQL 中的 Serverless 实时分析
pg_mooncake 在两个月前发布了 Beta 版,为 PostgreSQL 带来了列式存储与向量化查询执行引擎。 在过去两个月与早期用户的打磨过程中,我们突然意识到:我们无意间打造出了最优秀的 Serverless 分析数据库。故事是这样的: 1. pg_mooncake 🤝 Neon 存储引擎 Neon 在其底层存储引擎上做出了重大创新(推荐阅读 Nikita 关于这一架构的技术长帖)。正是依靠这套存储引擎,Neon 实现了真正的存算分离,进而带来了数据库分支(Branching)、缩容 …
pg_mooncake 在两个月前发布了 Beta 版,为 PostgreSQL 带来了列式存储与向量化查询执行引擎。 在过去两个月与早期用户的打磨过程中,我们突然意识到:我们无意间打造出了最优秀的 Serverless 分析数据库。故事是这样的: 1. pg_mooncake 🤝 Neon 存储引擎 Neon 在其底层存储引擎上做出了重大创新(推荐阅读 Nikita 关于这一架构的技术长帖)。正是依靠这套存储引擎,Neon 实现了真正的存算分离,进而带来了数据库分支(Branching)、缩容 …
-
Mooncake:下一代搜索与分析系统
我们是 Zhou、Cheng 和 Pranav。过去十年里,我们一直在 MemSQL(现名 SingleStore)研发数据库内核。 我们热爱复杂系统、硬核工程技术,当然还有——物理学 🙂 数据系统就像物理学一样,建立在若干基本公理之上。这些原则必须自洽且持久。 仅仅打造一个“技术指标上更好”的系统是徒劳的。一个数据系统的成败取决于它所秉持的架构原则,而在中途改变基因几乎是不可能的:闭源商业公司不可能摇身一变成为真正受社区拥戴的开源项目;绑定了私有存储格式的数据库也不可能轻易放弃自己的存储引擎、 …
我们是 Zhou、Cheng 和 Pranav。过去十年里,我们一直在 MemSQL(现名 SingleStore)研发数据库内核。 我们热爱复杂系统、硬核工程技术,当然还有——物理学 🙂 数据系统就像物理学一样,建立在若干基本公理之上。这些原则必须自洽且持久。 仅仅打造一个“技术指标上更好”的系统是徒劳的。一个数据系统的成败取决于它所秉持的架构原则,而在中途改变基因几乎是不可能的:闭源商业公司不可能摇身一变成为真正受社区拥戴的开源项目;绑定了私有存储格式的数据库也不可能轻易放弃自己的存储引擎、 …
-
我们学到的几条铁律
这篇文章的标题其实应该叫《我们用惨痛代价学到的几条铁律》。 在开启这段全新旅程之际,我们花了一些时间思考当今数据领域的底层公理——这些规律无论我们还是任何人都无法回避。 1. 只要 Postgres 能做的事,最终都会由 Postgres 来做 这一幕我们已经见过太多次了——最早是 JSON,接着是地理空间数据(PostGIS),而现在则是向量检索(pgvector)。 过去,性能曾经是决胜的主战场。在之前的职业生涯里,我们打过无数场性能战役,而且赢下了绝大部分。但不知为何,我们赢了战役,却没能 …
这篇文章的标题其实应该叫《我们用惨痛代价学到的几条铁律》。 在开启这段全新旅程之际,我们花了一些时间思考当今数据领域的底层公理——这些规律无论我们还是任何人都无法回避。 1. 只要 Postgres 能做的事,最终都会由 Postgres 来做 这一幕我们已经见过太多次了——最早是 JSON,接着是地理空间数据(PostGIS),而现在则是向量检索(pgvector)。 过去,性能曾经是决胜的主战场。在之前的职业生涯里,我们打过无数场性能战役,而且赢下了绝大部分。但不知为何,我们赢了战役,却没能 …