Mooncake 工程技术博客
将 pg_mooncake 与 duckdb_mooncake 迁移至 DuckDB 2.0、pg_duckdb 1.2.0 与 pgrx 0.19.3
深度解析 duckdb_mooncake v0.0.2 与 pg_mooncake v0.3.0 适配 DuckDB 2.0 C++ 目录与过滤器接口、通过 dlsym 打通 LSN 一致性快照读取,以及修复 NULL 谓词下推列索引映射的工程实践。
pg_mooncake 0.3.0 发布:PGSTY 首版发布,全面适配 DuckDB 2.0、pgrx 0.19.3 与 PostgreSQL 14–18
pg_mooncake 0.3.0(偕同 duckdb_mooncake v0.0.2 与 moonlink v0.0.1)是 PGSTY 维护的首个正式版本,带来 DuckDB 2.0 / pg_duckdb 1.2.0 适配、跨 PostgreSQL 14–18 的 pgrx 0.19.3 支持、列存表 LSN 一致性快照读取以及完整的 RustSec 依赖安全加固。
Mooncake 正式加入 Databricks!
以正确的方式统一操作型数据疆域(Postgres / Lakebase)与智能分析数据疆域(Lakehouse)。
Mooncake 技术白皮书:面向 Apache Iceberg 的实时存储引擎
Mooncake 与 Moonlink 架构技术白皮书:深入解析 Arrow 内存写缓冲、位置删除向量、无冲突 Compaction 重映射、Puffin 原生索引与 NVMe 缓存。
不,单靠 Iceberg 拯救不了你的数据栈
Apache Iceberg 非常适合 Netflix 规模的批处理数据湖,但要想真正服务于实时业务,我们必须赋予它真正的数据库内核工程学:并发写入、无锁在线合并与原生索引。
可是,我的 Postgres(+ 数据湖仓)是免费的呀
Snowflake 和 Databricks 斥资数十亿美元收购各自的 Postgres。为什么说开源免费的 Postgres + Apache Iceberg 才是现代应用与 AI 智能体的终极技术栈?
HTAP 已死,精神长存
过去十年我一直在构建并拯救 HTAP 数据库。今天,单体 HTAP 数据库已经落幕,但它的精神正在实时数据湖仓(Lakehouse)中延续。
“在 Postgres 中做分析”究竟意味着什么?
从 Level 0 的索引调优到 Level 3 的实时 OLTP 堆表同步列存:深入剖析开发者对 Postgres 分析能力的真实需求演进。
pg_mooncake v0.2 架构前瞻:开箱即用的实时列存与逻辑复制
让开箱即用的 Postgres 实时分析成为现实:基于逻辑复制的堆表到列存表同步、高频小批量写入缓冲与 Apache Iceberg 集成。
如何让 DuckDB 在 Parquet 文件上的查询性能再上一个台阶
揭秘 pg_mooncake 如何借助 PostgreSQL 系统表、行组 MIN/MAX 裁剪与内存元数据缓存,在 ClickBench 上跑赢原生 DuckDB Parquet 扫描。
ClickBench 基准测试证明:Postgres 是一流的分析型数据库
凭借 pg_mooncake,PostgreSQL 成功闯入 ClickBench 全球前十——完全在 Postgres 进程内实现媲美专用 OLAP 引擎的分析性能。
S3 Tables 究竟是个啥?
我替你啃完了 AWS S3 Tables 的文档:剖析 S3 表存储桶如何让 Apache Iceberg 摆脱外部 Catalog,以及它对 Postgres 意味着什么。
PostgreSQL 中最简单的极速分析方式:pg_mooncake v0.1 正式发布
pg_mooncake 结束 Beta 测试正式发布 v0.1,为 PostgreSQL 带来原生列存表与 DuckDB 向量化执行。
pg_mooncake 🤝 Drizzle:用强类型 ORM 驱动分析查询
在 PostgreSQL 的 pg_mooncake 列存表上直接使用你最喜爱的 TypeScript ORM(Drizzle)编写强类型分析查询。
pg_mooncake + Neon:PostgreSQL 中的 Serverless 实时分析
通过将 Neon 的存算分离存储引擎与 pg_mooncake 的湖仓架构相结合,我们无意间打造出了最优秀的 Serverless 分析数据库。
pg_mooncake:基于列存表与 DuckDB 的 Postgres 极速分析引擎
pg_mooncake 将列存表与 DuckDB 向量化执行引擎引入 PostgreSQL,支持像普通表一样的事务性插入、更新与删除。
Mooncake:下一代搜索与分析系统
我们是 Zhou、Cheng 和 Pranav,过去十年一直在构建数据库系统。以下是我们打造下一代数据系统的核心原则。
Iceberg Meetup 参会随想
上个月我在 Snowflake 总部举办的 Iceberg Meetup 上做了一场演讲。以下是我在社区驱动开发、开放表格式早期现状与未来查询性能演进方面的几点思考。
将 pg_mooncake 与 duckdb_mooncake 迁移至 DuckDB 2.0、pg_duckdb 1.2.0 与 pgrx 0.19.3
深度解析 duckdb_mooncake v0.0.2 与 pg_mooncake v0.3.0 适配 DuckDB 2.0 C++ 目录与过滤器接口、通过 dlsym 打通 LSN 一致性快照读取,以及修复 NULL 谓词下推列索引映射的工程实践。
pg_mooncake 0.3.0 发布:PGSTY 首版发布,全面适配 DuckDB 2.0、pgrx 0.19.3 与 PostgreSQL 14–18
pg_mooncake 0.3.0(偕同 duckdb_mooncake v0.0.2 与 moonlink v0.0.1)是 PGSTY 维护的首个正式版本,带来 DuckDB 2.0 / pg_duckdb 1.2.0 适配、跨 PostgreSQL 14–18 的 pgrx 0.19.3 支持、列存表 LSN 一致性快照读取以及完整的 RustSec 依赖安全加固。
Mooncake 正式加入 Databricks!
以正确的方式统一操作型数据疆域(Postgres / Lakebase)与智能分析数据疆域(Lakehouse)。
Mooncake 技术白皮书:面向 Apache Iceberg 的实时存储引擎
Mooncake 与 Moonlink 架构技术白皮书:深入解析 Arrow 内存写缓冲、位置删除向量、无冲突 Compaction 重映射、Puffin 原生索引与 NVMe 缓存。
不,单靠 Iceberg 拯救不了你的数据栈
Apache Iceberg 非常适合 Netflix 规模的批处理数据湖,但要想真正服务于实时业务,我们必须赋予它真正的数据库内核工程学:并发写入、无锁在线合并与原生索引。
可是,我的 Postgres(+ 数据湖仓)是免费的呀
Snowflake 和 Databricks 斥资数十亿美元收购各自的 Postgres。为什么说开源免费的 Postgres + Apache Iceberg 才是现代应用与 AI 智能体的终极技术栈?
HTAP 已死,精神长存
过去十年我一直在构建并拯救 HTAP 数据库。今天,单体 HTAP 数据库已经落幕,但它的精神正在实时数据湖仓(Lakehouse)中延续。
“在 Postgres 中做分析”究竟意味着什么?
从 Level 0 的索引调优到 Level 3 的实时 OLTP 堆表同步列存:深入剖析开发者对 Postgres 分析能力的真实需求演进。
pg_mooncake v0.2 架构前瞻:开箱即用的实时列存与逻辑复制
让开箱即用的 Postgres 实时分析成为现实:基于逻辑复制的堆表到列存表同步、高频小批量写入缓冲与 Apache Iceberg 集成。
如何让 DuckDB 在 Parquet 文件上的查询性能再上一个台阶
揭秘 pg_mooncake 如何借助 PostgreSQL 系统表、行组 MIN/MAX 裁剪与内存元数据缓存,在 ClickBench 上跑赢原生 DuckDB Parquet 扫描。
ClickBench 基准测试证明:Postgres 是一流的分析型数据库
凭借 pg_mooncake,PostgreSQL 成功闯入 ClickBench 全球前十——完全在 Postgres 进程内实现媲美专用 OLAP 引擎的分析性能。
S3 Tables 究竟是个啥?
我替你啃完了 AWS S3 Tables 的文档:剖析 S3 表存储桶如何让 Apache Iceberg 摆脱外部 Catalog,以及它对 Postgres 意味着什么。
PostgreSQL 中最简单的极速分析方式:pg_mooncake v0.1 正式发布
pg_mooncake 结束 Beta 测试正式发布 v0.1,为 PostgreSQL 带来原生列存表与 DuckDB 向量化执行。
pg_mooncake 🤝 Drizzle:用强类型 ORM 驱动分析查询
在 PostgreSQL 的 pg_mooncake 列存表上直接使用你最喜爱的 TypeScript ORM(Drizzle)编写强类型分析查询。
pg_mooncake + Neon:PostgreSQL 中的 Serverless 实时分析
通过将 Neon 的存算分离存储引擎与 pg_mooncake 的湖仓架构相结合,我们无意间打造出了最优秀的 Serverless 分析数据库。
pg_mooncake:基于列存表与 DuckDB 的 Postgres 极速分析引擎
pg_mooncake 将列存表与 DuckDB 向量化执行引擎引入 PostgreSQL,支持像普通表一样的事务性插入、更新与删除。
Mooncake:下一代搜索与分析系统
我们是 Zhou、Cheng 和 Pranav,过去十年一直在构建数据库系统。以下是我们打造下一代数据系统的核心原则。
Iceberg Meetup 参会随想
上个月我在 Snowflake 总部举办的 Iceberg Meetup 上做了一场演讲。以下是我在社区驱动开发、开放表格式早期现状与未来查询性能演进方面的几点思考。
-
将 pg_mooncake 与 duckdb_mooncake 迁移至 DuckDB 2.0、pg_duckdb 1.2.0 与 pgrx 0.19.3
当 Mooncake Labs 在发布 v0.2.0 后暂停对 pg_mooncake 的公开更新时,该扩展停留在早期的 DuckDB 1.3.x / pg_duckdb 快照与 pgrx 0.12 上。与此同时,PostgreSQL 社区已经演进至 PostgreSQL 18、pgrx 0.19.3 以及基于 DuckDB v2.0.0 的 pg_duckdb 1.2.0。 本文将深入介绍我们将整个 Mooncake 技术栈——pg_mooncake …
当 Mooncake Labs 在发布 v0.2.0 后暂停对 pg_mooncake 的公开更新时,该扩展停留在早期的 DuckDB 1.3.x / pg_duckdb 快照与 pgrx 0.12 上。与此同时,PostgreSQL 社区已经演进至 PostgreSQL 18、pgrx 0.19.3 以及基于 DuckDB v2.0.0 的 pg_duckdb 1.2.0。 本文将深入介绍我们将整个 Mooncake 技术栈——pg_mooncake …
-
pg_mooncake 0.3.0 发布:PGSTY 首版发布,全面适配 DuckDB 2.0、pgrx 0.19.3 与 PostgreSQL 14–18
pg_mooncake 0.3.0(随同 duckdb_mooncake v0.0.2 与 moonlink v0.0.1 同步发布)是由 PGSTY 维护的 Mooncake 实时分析套件的首个正式版本: pgsty/pg_mooncake v0.3.0(MIT 许可证) pgsty/duckdb_mooncake v0.0.2(MIT 许可证) pgsty/moonlink v0.0.1(附带 PG_MOONCAKE LINKING & DISTRIBUTION EXCEPTION 的 …
pg_mooncake 0.3.0(随同 duckdb_mooncake v0.0.2 与 moonlink v0.0.1 同步发布)是由 PGSTY 维护的 Mooncake 实时分析套件的首个正式版本: pgsty/pg_mooncake v0.3.0(MIT 许可证) pgsty/duckdb_mooncake v0.0.2(MIT 许可证) pgsty/moonlink v0.0.1(附带 PG_MOONCAKE LINKING & DISTRIBUTION EXCEPTION 的 …
-
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 生来 …
-
不,单靠 Iceberg 拯救不了你的数据栈
人生总是充满了“理想与现实的落差”。今天我们就来聊聊数据社区的新宠——Apache Iceberg 的理想与现实。 理想:Iceberg 能解决我所有的数据痛点 平心而论,Iceberg 的核心设计理念非常漂亮: 将所有数据以 Parquet 等开放文件格式存放在对象存储中; 让任何计算引擎(DuckDB、ClickHouse、Spark、Snowflake 等)把这些文件当作一张真正的数据库表,直接用 SQL 查询; [持续演进中] 无需将数据导入特定系统的私有格式,就能直接获得优异的查询性能 …
人生总是充满了“理想与现实的落差”。今天我们就来聊聊数据社区的新宠——Apache Iceberg 的理想与现实。 理想:Iceberg 能解决我所有的数据痛点 平心而论,Iceberg 的核心设计理念非常漂亮: 将所有数据以 Parquet 等开放文件格式存放在对象存储中; 让任何计算引擎(DuckDB、ClickHouse、Spark、Snowflake 等)把这些文件当作一张真正的数据库表,直接用 SQL 查询; [持续演进中] 无需将数据导入特定系统的私有格式,就能直接获得优异的查询性能 …
-
可是,我的 Postgres(+ 数据湖仓)是免费的呀
友情提示: 你的 Postgres 和数据湖仓(Lakehouse)同样是自由且开源的——你完全不需要成为(或者像巨头一样挥霍数亿美金)才能拥有它们。 为什么是 Postgres + Lakehouse? 原因一:如果你相信 AI,这就是智能体(Agent)的标准技术栈 AI 智能体需要记忆——既需要即时响应的工作记忆(Working Memory),也需要海量的长期知识(Long-Term Knowledge)。 工作记忆必须像应用状态一样瞬时可达、可靠且精确。存放它的最佳位置是哪里 …
友情提示: 你的 Postgres 和数据湖仓(Lakehouse)同样是自由且开源的——你完全不需要成为(或者像巨头一样挥霍数亿美金)才能拥有它们。 为什么是 Postgres + Lakehouse? 原因一:如果你相信 AI,这就是智能体(Agent)的标准技术栈 AI 智能体需要记忆——既需要即时响应的工作记忆(Working Memory),也需要海量的长期知识(Long-Term Knowledge)。 工作记忆必须像应用状态一样瞬时可达、可靠且精确。存放它的最佳位置是哪里 …
-
HTAP 已死,精神长存
本文的灵感源自 Jordan Tigani 的经典博文《Big Data is Dead(大数据已死)》。事实上,Jordan 和我曾一起在 SingleStore 共事,联手打造过一套 HTAP 数据库。 黄金年代(1980 年代) 回到 80 年代,一套关系型数据库包揽了一切:白天跑在线事务(OLTP),下班后跑分析报表(OLAP)。像 Oracle V2 和 IBM DB2 这样的系统在同一台机器上同时承载 OLTP 和 OLAP——主要是因为当时的数据集还能装进几块磁盘里,而且计算硬件极 …
本文的灵感源自 Jordan Tigani 的经典博文《Big Data is Dead(大数据已死)》。事实上,Jordan 和我曾一起在 SingleStore 共事,联手打造过一套 HTAP 数据库。 黄金年代(1980 年代) 回到 80 年代,一套关系型数据库包揽了一切:白天跑在线事务(OLTP),下班后跑分析报表(OLAP)。像 Oracle V2 和 IBM DB2 这样的系统在同一台机器上同时承载 OLTP 和 OLAP——主要是因为当时的数据集还能装进几块磁盘里,而且计算硬件极 …
-
“在 Postgres 中做分析”究竟意味着什么?
当今数据库领域很少有方向比“扩展 Postgres 以支持分析查询”更炙手可热了。这其实也算不上什么全新的课题——在过去十年间,业界已经有过许多次尝试: 以下是我与大量客户交流后的核心总结——“Postgres 分析”对用户而言究竟意味着什么?以及为什么尽管我们在 pg_mooncake 第一阶段取得了一定成果,这个领域的终极难题在很长时间里依然悬而未决? Level 0:直接在现有 Postgres 堆表上跑分析查询 只要配合合理的索引、统计信息、查询调优与物化视图,原生 Postgres 能 …
当今数据库领域很少有方向比“扩展 Postgres 以支持分析查询”更炙手可热了。这其实也算不上什么全新的课题——在过去十年间,业界已经有过许多次尝试: 以下是我与大量客户交流后的核心总结——“Postgres 分析”对用户而言究竟意味着什么?以及为什么尽管我们在 pg_mooncake 第一阶段取得了一定成果,这个领域的终极难题在很长时间里依然悬而未决? Level 0:直接在现有 Postgres 堆表上跑分析查询 只要配合合理的索引、统计信息、查询调优与物化视图,原生 Postgres 能 …
-
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 …
-
ClickBench 基准测试证明:Postgres 是一流的分析型数据库
太长不看版(TL;DR): 经过几个月的深度优化,我们让 PostgreSQL 成功闯入了 ClickBench 全球前十——这个榜单长期以来一直被各种专门构建的 OLAP 分析数据库所统治。 更重要的是,所有计算均在 Postgres 进程内完成,所有表均由 PostgreSQL 直接管理——它绝不是一个简单的外部代理包装器。这就是 pg_mooncake 的故事。 什么是 ClickBench? ClickBench 是实时分析型数据库领域最权威的基准测试,最初由 ClickHouse 团队 …
太长不看版(TL;DR): 经过几个月的深度优化,我们让 PostgreSQL 成功闯入了 ClickBench 全球前十——这个榜单长期以来一直被各种专门构建的 OLAP 分析数据库所统治。 更重要的是,所有计算均在 Postgres 进程内完成,所有表均由 PostgreSQL 直接管理——它绝不是一个简单的外部代理包装器。这就是 pg_mooncake 的故事。 什么是 ClickBench? ClickBench 是实时分析型数据库领域最权威的基准测试,最初由 ClickHouse 团队 …
-
S3 Tables 究竟是个啥?
亚马逊在去年的 re:Invent 大会上发布了 S3 Table Buckets(S3 表存储桶)。一个既是 S3 存储桶、同时又是一张数据库表的东西?这到底是什么意思? 太长不看版(TL;DR): S3 Tables 让 Apache Iceberg 表可以脱离外部 Catalog(目录服务)独立存在。下面听我详细拆解。 Iceberg vs Delta Lake 等等,Iceberg 和 Delta Lake 不都是开放表格式吗?为什么要比较它们的底层元数据实现方式? 原因在于,由于元数据 …
亚马逊在去年的 re:Invent 大会上发布了 S3 Table Buckets(S3 表存储桶)。一个既是 S3 存储桶、同时又是一张数据库表的东西?这到底是什么意思? 太长不看版(TL;DR): S3 Tables 让 Apache Iceberg 表可以脱离外部 Catalog(目录服务)独立存在。下面听我详细拆解。 Iceberg vs Delta Lake 等等,Iceberg 和 Delta Lake 不都是开放表格式吗?为什么要比较它们的底层元数据实现方式? 原因在于,由于元数据 …
-
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)、缩容 …
-
pg_mooncake:基于列存表与 DuckDB 的 Postgres 极速分析引擎
pg_mooncake 将列存表(Columnstore Tables)与 DuckDB 向量化执行引擎引入 PostgreSQL,以实现极速分析查询。 它像普通 Postgres 表一样支持事务性的 INSERT、UPDATE 和 DELETE。底层数据以 Parquet 文件配合 Delta Lake(以及 v0.2+ 中的 Apache Iceberg)表元数据写入,因此也可以在 Postgres 外部直接查询。 为什么还需要另一个 Postgres 分析扩展? PostgreSQL 是当 …
pg_mooncake 将列存表(Columnstore Tables)与 DuckDB 向量化执行引擎引入 PostgreSQL,以实现极速分析查询。 它像普通 Postgres 表一样支持事务性的 INSERT、UPDATE 和 DELETE。底层数据以 Parquet 文件配合 Delta Lake(以及 v0.2+ 中的 Apache Iceberg)表元数据写入,因此也可以在 Postgres 外部直接查询。 为什么还需要另一个 Postgres 分析扩展? PostgreSQL 是当 …
-
Mooncake:下一代搜索与分析系统
我们是 Zhou、Cheng 和 Pranav。过去十年里,我们一直在 MemSQL(现名 SingleStore)研发数据库内核。 我们热爱复杂系统、硬核工程技术,当然还有——物理学 🙂 数据系统就像物理学一样,建立在若干基本公理之上。这些原则必须自洽且持久。 仅仅打造一个“技术指标上更好”的系统是徒劳的。一个数据系统的成败取决于它所秉持的架构原则,而在中途改变基因几乎是不可能的:闭源商业公司不可能摇身一变成为真正受社区拥戴的开源项目;绑定了私有存储格式的数据库也不可能轻易放弃自己的存储引擎、 …
我们是 Zhou、Cheng 和 Pranav。过去十年里,我们一直在 MemSQL(现名 SingleStore)研发数据库内核。 我们热爱复杂系统、硬核工程技术,当然还有——物理学 🙂 数据系统就像物理学一样,建立在若干基本公理之上。这些原则必须自洽且持久。 仅仅打造一个“技术指标上更好”的系统是徒劳的。一个数据系统的成败取决于它所秉持的架构原则,而在中途改变基因几乎是不可能的:闭源商业公司不可能摇身一变成为真正受社区拥戴的开源项目;绑定了私有存储格式的数据库也不可能轻易放弃自己的存储引擎、 …
-
Iceberg Meetup 参会随想
上个月,我在 Snowflake 总部举办的 Iceberg Meetup 上做了一场演讲。公开演讲从来都不是我的强项,而台下坐着 Snowflake CEO Sridhar 和 Tabular CEO Ryan 更是让人倍感压力。 那天是我创立 Mooncake Labs 的第 18 天,我在演讲中探讨了面向 Apache Iceberg 的通用索引框架(演讲幻灯片见这里)。以下是我从这次聚会中收获的几点启发: 1. 伟大的产品是其社区的映射 过去十年里,我一直在构建一款商业闭源数据库。每当收 …
上个月,我在 Snowflake 总部举办的 Iceberg Meetup 上做了一场演讲。公开演讲从来都不是我的强项,而台下坐着 Snowflake CEO Sridhar 和 Tabular CEO Ryan 更是让人倍感压力。 那天是我创立 Mooncake Labs 的第 18 天,我在演讲中探讨了面向 Apache Iceberg 的通用索引框架(演讲幻灯片见这里)。以下是我从这次聚会中收获的几点启发: 1. 伟大的产品是其社区的映射 过去十年里,我一直在构建一款商业闭源数据库。每当收 …