❝开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, OceanBase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,可以解决你的问题。加群请联系 liuaustin3 ,(共2800人左右 1 + 2 + 3 + 4 +5 + 6 + 7 + 8 +9)(1 2 3 4 5 6 7群均已爆满,开8群约300 9群 100+)
MySQL和PostgreSQL是一家人,一起发展。这事你没有听错,PolarDB的两大核心产品,PolarDB for MySQL 和 PolarDB for PostgreSQL。在MySQL 和 PostgreSQL 两大开源数据库阵营的Fans还在互相吐槽对方产品的一些“不足”的时候。
作为云原生数据库产品中的NO.1,PolarDB for MySQL 和 PolarDB for PostgreSQL 两大产品正在合作发展,取长补短。
他们是怎么互相发展的,我们可以演出一个小的舞台剧来说说 PostgreSQL 和 MySQL是怎么互相对比发展的。
这里我们以PolarDB-M, PolarDB-P,作为这两个数据库产品的简称。
PolarDB-M: PolarDB-P,最近发展得不错,这波自建AI的客户听说都往你哪里去了? 佩服,佩服,Dify + PostgreSQL 的确是企业客户自建AI的首选方式。
PolarDB-P: 感谢感谢,说到客户我们还是要和老大哥PolarDB-M 学习,SaaS,游戏,电商客户都已经群体化了,我们还的和老大哥取取经,好好学习。
PolarDB-M: 客气客气,最近听说你们的冷数据分层存储的功能,得到不少客户的好评,还可以把数据存储到更廉价的存储层后,进行增删改查的操作,听说性能还挺好,这是用了什么高科技?
PolarDB-P: 这个还真是有客户说,这个设计不错,虽然我们的表已经通过数据库内部的命令存放到了OSS上,但还可以读取顺畅的原理在于,我们采用了三层缓存设计,减少了客户频繁提取数据与OSS交互的过程,提高了客户讲数据归档后还能持续高速读取数据的体感。

PolarDB-M: 这点我们还真需要和PolarDB-P学习。
PolarDB-P: PolarDB-M您客气了,在冷数据处理上,我们还是弟弟,PolarDB-M 的冷数据处理方式让人眼花缭乱,像 X-engine数据压缩引擎,可以直接将整体的数据压缩70%,存储成本大大的被降低,同时听说PolarDB-M 也开始支持和我们一样的冷数据归档的方式,一条数据命令数据直接归档,而且还先我们一步,已经可以开始自动归档了。

PolarDB-M: 我们这边数据一条命令归档的方式也提供两种,CSV 和 IDB ,CSV的方式只能读,不能写,IDB的方式支持读写操作,满足不同客户对于数据归档的需求,SaaS类的客户经常有一些数据归档了,客户还要提取数据的要求,甚至变动数据的需求,这点也是我们在和一些SaaS类客户打交道后才理解的业务需求。
PolarDB-P:是的在理解客户的需求方面,我们还有很多的路要走,我们的HTAP功能,以及POSTGRESQL 的实时物化视图功能,就是客户给我们提出的要求。经常有一些客户希望在POSTGRESQL中通过物化视图来解决一些定期的报表问题,可开源的POSTGRESQL数据库产品本身不支持动态刷新物化视图的功能,这里我们就开发出动态的物化视图的功能,来解决客户一些业务上的问题。

PolarDB-M: 这点还真是,我们这边采用的是IMCI的方式,通过增加列式索引存储节点的方式来满足HTAP在一个数据库实现的。我们后续发现在使用中,很多客户可能对IMCI的方式还比较陌生,所以我们又做出了自动列式索引,帮助客户自动优化HTAP的需求。不过我们在向量方面还是要多和POLARDB-P你学习。

PolarDB-P:其实我们也是想在POSTGRESQL中提供更好的与AI自建和地理位图,等特殊需求的满足,但没有想到,通过向量索引我们也解决了HTAP在POSTGRESQL上的问题,通过建立向量索引,直接提高了一些OLAP的查询速度,给解决OLAP方案提供了一个成本较低的方案。

POLARDB-M:可我知道你们手里也有根本解决HTAP的方案,通过增加OLAP分析节点来帮助客户解决数据分析上的问题,我们也在把MYSQL往这方面努力。

POLARDB-P: 您客气,我们其实还要和POLARDB-M身上学习很多先进的东西,比如 均衡负载、节点全一致、连接保持、过载保护、自动变配、定时升降配、代理调配访问节点、7分钟内拉起节点,闪回查询,恢复单表,这些POARDB-M 特有的功能听说客户用起来都眉开眼笑的,尤其弹性方面,有敏感弹性和弹性可调节,这点我们的好好学习,怎么做到既满足了客户弹性需求,同时也为客户的成本考虑,在负载降低后快速的降低pcu。
PolarDB-M: 这个我们是知道POLARDB-P team相对我们可能在弹性方面要有更多的付出,因为POSTGRESQL本身是不能动态进行 SHARE BUFFER 的RESIZE,这比我们MYSQL在innodb buffer pool可以进行RESIZE 在弹性内存方面要更麻烦,没少改代码吧?
PolarDB-P: 这点老大哥还真是明白人,我们在这方面修改了不少 postgresql的源代码。
PolarDB PostgreSQL版的内存可以分为Shared Buffer Pool、Dynamic Shared Memory Areas以及进程私有内存三部分:
Shared Buffer Pool:集群启动时采用预分配的方式建立的一大段共享内存,通过确定offset来对各个功能模块划分使用区间。
Dynamic Shared Memory Areas:进程间动态共享内存区。PostgreSQL为实现进程间并行计算设计的共享内存区,可以动态扩展。
Process Global Area:进程工作使用的内存区。包含以下两部分。
Memory Context。
逻辑直接控制的内存。
不过相对POLARDB-M中的将REDIS 集成到数据库里面,我们还有很多要添加的功能,听说POALRDB-M 还有类似MONGODB 上的TTL功能,这点还真是有意思。
PolarDB-M: 很多客户也提出类似的需求,希望一些业务中临时存储在数据库中的数据能自动清理,我们也就迎合的客户的实际需求,同时MySQL数据库使用中一般都要搭配REDIS进行数据缓存的设计和使用,我们也就一并将REDIS的功能融入了POLARDB-M中。


PolarDB-P:这点我们还真是好好学习,同时我们也在逐渐发扬光大POSTGRESQL的一些插件,针对一些POSTGRESQL中的难题进行解决,比如,POSTGRESQL中的DDL 字段的老大难,尤其客户在针对一些字段修改后需要重建表的问题,我们也有相关的插件来解决问题
比如
1 hypogp 虚拟索引,我有polar_ddl_manager,polar_sql_mapping
2 polar_ddl_manager
"在PostgreSQL中,增加分区表varchar列长度时,会自动重建被修改列相关的索引,导致ALTER TABLE执行效率很低。此外,ALTER TABLE需要持有ACCESS EXCLUSIVE锁,会长时间阻塞其他连接对该表的访问。
PolarDB PostgreSQL版支持polar_ddl_manager插件,提供了一些函数用于优化增加分区表varchar列长度的执行效率。"
3 polar_sql_mapping
"当应用程序出现错误SQL,无法立即修改时,可以通过SQL映射功能,将错误的SQL映射为正确的SQL。SQL映射功能设置成功后,应用程序即使发送了错误的SQL,也会自动映射为正确的SQL。"
PolarDB-M:是的很多客户在MYSQL也有这样的DDL的问题,我们也针对客户对MYSQL不满意的DDL部分进行了改善,如在稳定性,和性能上我们都做了相关的工作。

PolarDB-P: 客户的需求很多,针对原有的POSTGRESQL不满意的一些地方,都希望在POLARDB FOR POSTGRESQL上进行解决,我想POALRDB FOR MYSQL 有更多的客户提出各种需求,及时相应是POLARDB FOR MYSQL发展速度快的秘诀吧!
PolarDB-M: 嗯,我们会继续努力的!有现在的成功这些都是和我们的底座分不开的,P olarDB store, PolarFS 数据库文件系统,RDMA协议,SCC 数据一致性协议,这些都是我们MYSQL 和 POSTGRESQL 共同快速发展的坚实基础,持续将MySQL 和 PostgreSQL 做大做强,是我们给客户的最好的礼物。
置顶MongoDB “升级项目” 大型连续剧(3)-- 自动校对代码与注意事项
打破DBA的局限:像架构师一样思考,提升你的技术价值-- 访蚂蚁金服P9 朱春茂
MongoDB “升级项目” 大型连续剧(2)-- 到底谁是"der"
搞 PostgreSQL多才多艺的人--赵渝强 《PG数据库实战派》
PolarDB 相关文章
“PostgreSQL” 高性能主从强一致读写分离,我行,你没戏!
POLARDB 添加字段 “卡” 住---这锅Polar不背
PolarDB 版本差异分析--外人不知道的秘密(谁是绵羊,谁是怪兽)
PolarDB 答题拿-- 飞刀总的书、同款卫衣、T恤,来自杭州的Package(活动结束了)
PolarDB for MySQL 三大核心之一POLARFS 今天扒开它--- 嘛是火
PostgreSQL 相关文章
PostgreSQL 无服务 Neon and Aurora 新技术下的新经济模式 (翻译)
“PostgreSQL” 高性能主从强一致读写分离,我行,你没戏!
PostgreSQL 添加索引导致崩溃,参数调整需谨慎--文档未必完全覆盖场景
PostgreSQL SQL优化用兵法,优化后提高 140倍速度
PostgreSQL 运维的难与“难” --上海PG大会主题记录
PostgreSQL 什么都能存,什么都能塞 --- 你能成熟一点吗?
全世界都在“搞” PostgreSQL ,从Oracle 得到一个“馊主意”开始
PostgreSQL 加索引系统OOM 怨我了--- 不怨你怨谁
PostgreSQL “我怎么就连个数据库都不会建?” --- 你还真不会!
病毒攻击PostgreSQL暴力破解系统,防范加固系统方案(内附分析日志脚本)
PostgreSQL 远程管理越来越简单,6个自动化脚本开胃菜
PostgreSQL 稳定性平台 PG中文社区大会--杭州来去匆匆
PostgreSQL 分组查询可以不进行全表扫描吗?速度提高上千倍?
POSTGRESQL --Austindatabaes 历年文章整理
PostgreSQL 查询语句开发写不好是必然,不是PG的锅
PostgreSQL 字符集乌龙导致数据查询排序的问题,与 MySQL 稳定 "PG不稳定"
PostgreSQL Patroni 3.0 新功能规划 2023年 纽约PG 大会 (音译)
PostgreSQL 玩PG我们是认真的,vacuum 稳定性平台我们有了
PostgreSQL DBA硬扛 垃圾 “开发”,“架构师”,滥用PG 你们滚出 !(附送定期清理连接脚本)
OceanBase 相关文章
OceanBase 6大学习法--OBCA视频学习总结第六章
OceanBase 6大学习法--OBCA视频学习总结第五章--索引与表设计
OceanBase 6大学习法--OBCA视频学习总结第五章--开发与库表设计
OceanBase 6大学习法--OBCA视频学习总结第四章 --数据库安装
OceanBase 6大学习法--OBCA视频学习总结第三章--数据库引擎
OceanBase 架构学习--OB上手视频学习总结第二章 (OBCA)
OceanBase 6大学习法--OB上手视频学习总结第一章
没有谁是垮掉的一代--记 第四届 OceanBase 数据库大赛
跟我学OceanBase4.0 --阅读白皮书 (OB分布式优化哪里了提高了速度)
跟我学OceanBase4.0 --阅读白皮书 (4.0优化的核心点是什么)
跟我学OceanBase4.0 --阅读白皮书 (0.5-4.0的架构与之前架构特点)
跟我学OceanBase4.0 --阅读白皮书 (旧的概念害死人呀,更新知识和理念)
OceanBase 学习记录-- 建立MySQL租户,像用MySQL一样使用OB
MySQL相关文章
MySQL 的SQL引擎很差吗?由一个同学提出问题引出的实验
用MySql不是MySQL, 不用MySQL都是MySQL 横批 哼哼哈哈啊啊
MYSQL --Austindatabases 历年文章合集
MongoDB 相关文章
MongoDB 大俗大雅,上来问分片真三俗 -- 4 分什么分
MongoDB 大俗大雅,高端知识讲“庸俗” --3 奇葩数据更新方法
MongoDB 大俗大雅,高端的知识讲“通俗” -- 2 嵌套和引用
MongoDB 大俗大雅,高端的知识讲“低俗” -- 1 什么叫多模
MongoDB 合作考试报销活动 贴附属,MongoDB基础知识速通
MongoDB 使用网上妙招,直接DOWN机---清理表碎片导致的灾祸 (送书活动结束)
MongoDB 2023年度纽约 MongoDB 年度大会话题 -- MongoDB 数据模式与建模
MongoDB 双机热备那篇文章是 “毒”
MongoDB 会丢数据吗?在次补刀MongoDB 双机热备
MONGODB ---- Austindatabases 历年文章合集
临时工访谈系列
没有谁是垮掉的一代--记 第四届 OceanBase 数据库大赛
SQL SERVER 系列
SQL SERVER 如何实现UNDO REDO 和PostgreSQL 有近亲关系吗