❝开头还是介绍一下群,如果感兴趣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群)



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 新品上线的时刻。
临时工:数据库人生路,如何救赎自己 -- 答某个迷茫DBA的职业咨询
开源软件是心怀鬼胎的大骗局 -- 开源软件是人类最好的正能量 --- 一个人的辩论会
PostgreSQL 相关文章
“PostgreSQL” 高性能主从强一致读写分离,我行,你没戏!
全世界都在“搞” PostgreSQL ,从Oracle 得到一个“馊主意”开始
PostgreSQL 加索引系统OOM 怨我了--- 不怨你怨谁
PostgreSQL “我怎么就连个数据库都不会建?” --- 你还真不会!
PostgreSQL 稳定性平台 PG中文社区大会--杭州来去匆匆
PostgreSQL 分组查询可以不进行全表扫描吗?速度提高上千倍?
POSTGRESQL --Austindatabaes 历年文章整理
PostgreSQL 查询语句开发写不好是必然,不是PG的锅
跟我学OceanBase4.0 --阅读白皮书 (OB分布式优化哪里了提高了速度)
跟我学OceanBase4.0 --阅读白皮书 (4.0优化的核心点是什么)
跟我学OceanBase4.0 --阅读白皮书 (0.5-4.0的架构与之前架构特点)
跟我学OceanBase4.0 --阅读白皮书 (旧的概念害死人呀,更新知识和理念)
PolarDB 相关文章
“PostgreSQL” 高性能主从强一致读写分离,我行,你没戏!
POLARDB 添加字段 “卡” 住---这锅Polar不背
PolarDB 版本差异分析--外人不知道的秘密(谁是绵羊,谁是怪兽)
PolarDB 答题拿-- 飞刀总的书、同款卫衣、T恤,来自杭州的Package(活动结束了)
PolarDB for MySQL 三大核心之一POLARFS 今天扒开它--- 嘛是火星人
PolarDB-MySQL 并行技巧与内幕--(怎么薅羊毛)
PolarDB 并行黑科技--从百套MySQL撤下说起 (感谢8018个粉丝的支持)
PolarDB 杀疯了,Everywhere Everytime Everydatabase on Serverless
POLARDB 从一个使用者的角度来说说,POALRDB 怎么打败 MYSQL RDS
PolarDB 最近遇到加字段加不上的问题 与 使用PolarDB 三年感受与恳谈
PolarDB 从节点Down机后,引起的主从节点强一致的争论
PolarDB serverless 真敢搞,你出圈了你知道吗!!!!
PolarDB VS PostgreSQL "云上"性能与成本评测 -- PolarDB 比PostgreSQL 好?
临时工访谈:PolarDB Serverless 发现“大”问题了 之 灭妖记 续集
临时工访谈:庙小妖风大-PolarDB 组团镇妖 之 他们是第一
POLARDB -- Ausitndatabases 历年的文章集合
PolarDB for PostgreSQL 有意思吗?有意思呀
MongoDB 大俗大雅,上来问分片真三俗 -- 4 分什么分
MongoDB 大俗大雅,高端知识讲“庸俗” --3 奇葩数据更新方法
MongoDB 大俗大雅,高端的知识讲“通俗” -- 2 嵌套和引用
MongoDB 大俗大雅,高端的知识讲“低俗” -- 1 什么叫多模
MongoDB 合作考试报销活动 贴附属,MongoDB基础知识速通
MongoDB 使用网上妙招,直接DOWN机---清理表碎片导致的灾祸 (送书活动结束)
数据库 《三体》“二向箔” 思维限制 !8个公众号联合抽奖送书 建立数据库设计新思维
MongoDB 是外星人,水瓶座,怎么和不按套路出牌的他沟通?
没有谁是垮掉的一代--记 第四届 OceanBase 数据库大赛
阿里云系列
阿里云数据库产品权限设计缺陷 ,六个场景诠释问题,你可以做的更好?
阿里云数据库--市场营销聊胜于无--3年的使用感受与反馈系列
阿里云数据库产品 对内对外一样的卷 --3年阿里云数据库的使用感受与反馈系列
阿里云数据库使用感受--客户服务问题深入剖析与什么是廉价客户 --3年的使用感受与反馈系列
阿里云数据库使用感受--操作界面有点眼花缭乱 --3年的使用感受与反馈系列
