DuckDB 在 OLAP 工作负载方面获得了显著的关注。它功能强大、灵活,并拥有功能丰富的 SQL 方言,非常适合与面向 OLTP 的关系型数据库配合用于分析场景。
今天,我们很高兴地宣布,PlanetScale 上的 Postgres 数据库现已支持 pg_duckdb 扩展,同时我们还与 MotherDuck 建立了合作伙伴关系。
DuckDB 可以作为独立的 OLAP 数据库运行,也可以通过 pg_duckdb 扩展与 Postgres 配合使用。该扩展将 DuckDB 的列式存储分析引擎直接集成到 Postgres 内部,使你能够通过 Postgres 连接无缝地结合 OLTP 和 OLAP 查询。
启用后,可以使用标准 Postgres 表格式创建表,也可以使用 DuckDB 向量化列格式创建临时表。查询可以选择性地通过 Postgres 引擎或 DuckDB 执行。pg_duckdb 还可以用于处理和查询流行格式的外部数据源,如 Apache Parquet 和 Iceberg。
将 DuckDB 作为内置扩展,使得 Postgres 和 DuckDB 格式之间的数据移动更加简单,并统一了将分析结果与其余关系型数据相结合的使用体验。
尽管 DuckDB 极其强大,但许多人更倾向于将分析计算与 OLTP 计算分离。这有助于确保繁重的分析查询不会对应用程序性能产生负面影响,反之亦然。
MotherDuck 是一个云数据仓库,与 DuckDB 深度集成并提供支持,是解决这一问题的完美方案。pg_duckdb 扩展支持将分析查询卸载到 MotherDuck 云端。分析查询可以从你的 PlanetScale Postgres 数据库内部执行,但分析查询的执行可以卸载到存储在 MotherDuck 云端的数据集上。结果随后可以返回 Postgres 进行进一步处理。
要将 DuckDB 和 MotherDuck 与你的 PlanetScale 数据库一起使用:
在数据库的 "Clusters" 页面的 "Extensions" 表中启用 pg_duckdb。

连接到你的 Postgres 数据库并运行 GRANT CREATE ON SCHEMA public to pscale_superuser; 以允许在 Postgres 中添加 MotherDuck catalog,并运行 CREATE EXTENSION pg_duckdb; 以创建扩展。
使用 CALL duckdb.enable_motherduck('YOUR_TOKEN'); 添加你的 MotherDuck token。
开始运行你的分析查询!
查看我们的文档和 MotherDuck 文档,了解有关如何将 pg_duckdb 与 MotherDuck 一起使用的更多信息。
转载声明:本文为转载整理,原文版权归原作者及原站点所有。
原文来源:PlanetScale Blog
原创地址:https://planetscale.com/blog/using-motherduck-with-planetscale
原文作者:PlanetScale Blog;如有侵权,请联系管理员删除。