专栏名称: AustinDatabases
PostgreSQL ACE ,PolarDB 3年, OceanBase 极速学习ING, MongoDB 8年经验, MySQL OCP, SQL SERVER, MCITP,REDIS ,做一个合格的数据库架构师
目录
相关文章推荐
运维  ·  资源节省 81%,作业帮 MySQL ... ·  昨天  
FM1031济南交通广播  ·  设6座车站!山东这条高铁,预计明年年底通车 ·  2 天前  
51好读  ›  专栏  ›  AustinDatabases

天上的“PostgreSQL” 说 地上的 PostgreSQL 都是“小垃圾”

AustinDatabases  · 公众号  ·  · 2025-03-06 06:00

正文

开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, OceanBase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,可以解决你的问题。加群请联系 liuaustin3 ,(共2760人左右 1 + 2 + 3 + 4 +5 + 6 + 7 + 8 +9)(1 2 3 4 5 6 7群均已爆满,,开8群200+ 9群)


从来生死都看淡,专和老天对着干

Austindatabases公众号已经开启了,AI 文章分析,AI 文章问答,比如你想知道AustinDatabases 里面,说了多少种数据库,那些是讲 MySQL,那些是PostgreSQL, 那些是OB ,POLARDB ,MongoDB ,SQL Server, 阿里云的,问他他会列出来,同时如果有问题不明白,可以将文章的文字粘贴到公众号提供的专用AI ,公众号将通过众多文章(目前1300多篇)来进行尝试性的解释。使用方法,直接到微信公众号中点击服务,选择AI问答。如下示例
图片



图片


POSTGRESQL 数据库可以处理OLTP+OLAP,是完全可以,集成了DUCKDB的POSTGRESQL,可以在一个数据库里面,进行OLTP+OLAP的工作,也就是第一个行列混插的数据库。 当然这个数据库是 阿里云POSTGRESQL RDS,一个疯狂的产品。

废话不说,我们先看效果。

           List of relations
 Schema |    Name    | Type  |  Owner   
--------+------------+-------+----------
 public | test_table | table | postgres
(1 row)

duckdb_test=> select count(*) from test_table;
  count   
----------
 10000000
(1 row)

Time: 622.994 ms
duckdb_test=> SET rds_duckdb.execution = on;                                    
SET
Time: 3.626 ms
duckdb_test=> select count(*) from test_table;
  count   
----------
 10000000
(1 row)

Time: 12.148 ms

上面的例子,对同样的表进行count(*)操作结果却是不同的,使用了622ms ,一个使用了12ms。

什么原因导致的这个结果,这就是duckdb in PostgreSQL RDS,我们都知道duckdb在OLAP中的功能,且是一个列存的数据库系统。作为一个传统数据库的使用者,实际上最大需求就来自于传统数据库POSTGRESQL 是否能支持OLAP + OLTP ALL IN ONE ,POSTGRESQL。

这样的产品是我们需要的,通过打开一个开关就可以将我查询的语句转换到列存取查询,这是逆天的改革。

使用方法也很简单,登录到POSTGRESQL RDS产品P13 -17 都可以,然后将 rds_duck写入到shared_preload_libraries 参数中,重启数据库。

OK POSTGRESQL 改造为OLAP + OLTP = POSTGRESQL RDS 的工作就完成了。

登录到你的RDS 产品直接,运行

duckdb_test=> create extension rds_duckdb;
CREATE EXTENSION
Time: 54.836 ms
duckdb_test=> SELECT rds_duckdb.duckdb_version();
WARNING:  Trying to execute an operation with non-duckdb tables((null)), fallback to PG.
WARNING:  If you don't want to use DuckDB anymore, set rds_duckdb.execution = off;
 duckdb_version 
----------------
 v1.1.1
(1 row)

Time: 3.968 ms
duckdb_test=> 

然后你的POSTGRESQL RDS 产品就直接变成了OLTP + OLAP = POSTGRESQL RDS的数据库了。(此事此刻我都听见他在说 其他数据库都是小垃圾了,WO WO WO come down ,Don't be too pushy )

事情是怎么回事,阿里云的POstgreSQL 开发了一个新的功能,将DUCK_DB 作为extension 插入到POSTGRESQL 13 14 15 16 17 的版本中,在你使用POSTGRESQL 的时候,系统将自动判断你的语句是否适合duck_db来操作,如果不能就退回给行式引擎。

且在POSTGRESQL 数据库中打开和关闭这个功能只需要。






    
SET rds_duckdb.execution = on;

同时可以调整AP的加速参数,调整使用的线程数和使用内存的限制

SET rds_duckdb.worker_threads = 32;
SET rds_duckdb.memory_limit = 16384;

这里我仅仅做了一个简单的测试,测试结果当然是核爆级别的,历史上第一次一个数据库,一个开源的数据库产品,一个开源的数据库产品可以自动切换行,列数据库引擎,在执行SQL的时候。

当然在一个数据库里面能同时进行行列引擎服务一个SQL的其他数据库也有,POLARDB FOR MYSQL 以及POLARDB FOR POSTGRESQL。 但 但 但,他们都是要加“积木”的,也就是需要使用 IMCI 节点,或矢量节点参与的,而这个RDS 产品的POSTGRESQL 在一个开源的数据库上可以融合两个数据库引擎来进行SQL的处理,将这一切简单化。

不要和我提 GAUSSDB ,TDSQL-C ,他们和POLARDB 一样都是两个引擎分别工作,他们和这个比不配。

duckdb_test=> SELECT rds_duckdb.refresh_duckdb_table('test_table');
duckdb_test=> select count(*) from test_table;
  count   
----------
 10000000
(1 row)

Time: 622.994 ms
duckdb_test=> SET rds_duckdb.execution = on;                                    
SET
Time: 3.626 ms
duckdb_test=> select count(*) from test_table;
  count   
----------
 10000000
(1 row)

Time: 12.148 ms
duckdb_test=> drop extension rds_duckdb;
DROP EXTENSION
Time: 11.483 ms
duckdb_test=> create extension rds_duckdb;
CREATE EXTENSION
Time: 54.836 ms
duckdb_test=> SELECT rds_duckdb.duckdb_version();
WARNING:  Trying to execute an operation with non-duckdb tables((null)), fallback to PG.
WARNING:  If you don't want to use DuckDB anymore, set rds_duckdb.execution = off;
 duckdb_version 
----------------
 v1.1.1
(1 row)

Time: 3.968 ms

现在第一步已经OK 了,剩下的第二步,行列表数据实时同步已经在测试中,如果这个做出来,那么市面上的大部分数据库,就只能称之为“小垃圾”。

总结,POSTGRESQL RDS

1 直接在PG 数据库中create extension rds_duckdb

2 一个SQL 直接通过PG 和 DUCKDB 两个数据库引擎进行处理(实际上是存在行,列表)直接返回结果

3 目前创建列表后的数据增量已经可以实时同步剩下是性能的调优的问题,现在线上的RDS PG 的列表还如PG的物化视图,需要手动刷新。

4 实时行列表同步的功能尽在咫尺,性能测试ING

期待,将市面上的传统数据库都打入,“小垃圾”的 PostgreSQL  RDS 新品上线的时刻。


置顶
云原生 DB 技术将取代K8S为基础云数据库服务-- 2025年云数据库专栏(一)
辩论中 DeepSeek 竟然可以安慰我?我替AI 送上一句 Shame on you !人类
云原生数据库砸了 K8S云自建数据库的饭碗--- CXL内存技术

临时工:数据库人生路,如何救赎自己  -- 答某个迷茫DBA的职业咨询

开源软件是心怀鬼胎的大骗局 -- 开源软件是人类最好的正能量 --- 一个人的辩论会

AI 祸国殃民必须铲除,AI国强民富必须支持


PostgreSQL 相关文章

PostgreSQL 扫盲贴 常用的监控分析脚本

“PostgreSQL” 高性能主从强一致读写分离,我行,你没戏!

PostgreSQL  添加索引导致崩溃,参数调整需谨慎--文档未必完全覆盖场景
PostgreSQL 的搅局者问世了,杀过来了!
PostgreSQL SQL优化用兵法,优化后提高 140倍速度
PostgreSQL 运维的难与“难”  --上海PG大会主题记录
PostgreSQL 什么都能存,什么都能塞 --- 你能成熟一点吗?
PostgreSQL 迁移用户很简单 ---  我看你的好戏

PostgreSQL 用户胡作非为只能受着 --- 警告他

全世界都在“搞” PostgreSQL ,从Oracle 得到一个“馊主意”开始
PostgreSQL 加索引系统OOM 怨我了--- 不怨你怨谁

PostgreSQL “我怎么就连个数据库都不会建?” --- 你还真不会!

病毒攻击PostgreSQL暴力破解系统,防范加固系统方案(内附分析日志脚本)
PostgreSQL 远程管理越来越简单,6个自动化脚本开胃菜

PostgreSQL 稳定性平台 PG中文社区大会--杭州来去匆匆

PostgreSQL 如何通过工具来分析PG 内存泄露

PostgreSQL  分组查询可以不进行全表扫描吗?速度提高上千倍?

POSTGRESQL --Austindatabaes 历年文章整理

PostgreSQL  查询语句开发写不好是必然,不是PG的锅

PostgreSQL  字符集乌龙导致数据查询排序的问题,与 MySQL 稳定 "PG不稳定"
PostgreSQL  Patroni 3.0 新功能规划 2023年 纽约PG 大会 (音译)
PostgreSQL   玩PG我们是认真的,vacuum 稳定性平台我们有了
PostgreSQL DBA硬扛 垃圾 “开发”,“架构师”,滥用PG 你们滚出 !(附送定期清理连接脚本)

DBA 失职导致 PostgreSQL 日志疯涨



OceanBase 相关文章
OceanBase 6大学习法--OBCA视频学习总结第三章--数据库引擎
OceanBase 架构学习--OB上手视频学习总结第二章 (OBCA)
OceanBase 6大学习法--OB上手视频学习总结第一章
没有谁是垮掉的一代--记 第四届 OceanBase 数据库大赛
OceanBase  送祝福活动,礼物和幸运带给您

跟我学OceanBase4.0 --阅读白皮书 (OB分布式优化哪里了提高了速度)

跟我学OceanBase4.0 --阅读白皮书 (4.0优化的核心点是什么)

跟我学OceanBase4.0 --阅读白皮书 (0.5-4.0的架构与之前架构特点)

跟我学OceanBase4.0 --阅读白皮书 (旧的概念害死人呀,更新知识和理念)

聚焦SaaS类企业数据库选型(技术、成本、合规、地缘政治)

OceanBase 学习记录-- 建立MySQL租户,像用MySQL一样使用OB
OceanBase  学习记录 -- 安装简易环境
OceanBase  学习记录 --  开始入门
数据库最近第一比较多,OceanBase 定语加多了?
临时工访谈:OceanBase上海开大会,我们四个开小会 OB 国产数据库破局者
临时工说:OceanBase 到访,果然数据库的世界很卷,没边
数据库信息速递  阿里巴巴的分布式数据库OceanBase旨在进军中国以外的市场 (翻译)


PolarDB 相关文章

“PostgreSQL” 高性能主从强一致读写分离,我行,你没戏!

PostgreSQL 的搅局者问世了,杀过来了!

在被厂商围剿的DBA 求生之路 --我是老油条

POLARDB  添加字段 “卡” 住---这锅Polar不背

PolarDB 版本差异分析--外人不知道的秘密(谁是绵羊,谁是怪兽)

在被厂商围剿的DBA 求生之路 --我是老油条

PolarDB 答题拿-- 飞刀总的书、同款卫衣、T恤,来自杭州的Package (活动结束了)

PolarDB for MySQL 三大核心之一POLARFS 今天扒开它--- 嘛是火星人

PolarDB-MySQL 并行技巧与内幕--(怎么薅羊毛)

PolarDB 并行黑科技--从百套MySQL撤下说起 (感谢8018个粉丝的支持)







请到「今天看啥」查看全文