PolarDB for PostgreSQL 有意思吗? 有意思呀

news2024/11/24 10:37:14

开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,(共2150人左右 1 + 2 + 3 + 4 +5) 新人直接分配到5群,另欢迎 OpenGauss 的技术人员加入。

08d16e3e7785fd07845343d54d7a6ab3.png

这题目让我想起非诚勿扰电影里面的台词,有意思吗?有意思呀!PostgreSQL 有意思,PolarDB for PostgreSQL 有意思。

cb3036752eb2ec851681066f9d29c6f0.png

大部分在PolarDB for MySQL 有的特性在 PolarDB for PostgreSQL 都可以使用。同时PolarDB for PostgreSQL 有一个开源的版本,也就是线下可以部署,这在整体的生态上是完整的,基于一些金融机构有线上和线下部署的数据同步的需求,那么这样的整体的解决方案对于一些机构来说是完整的,可控的。

68b718217d1aec3f1f8d7f0584363a36.png

从上图可以看到PolarDB for PostgreSQL 的部分在数据同步中,使用了方式是通过内存进行数据同步的方式,通过wal meta queue 从日志中同步化基础数据到Polardb 的从节点。并且将这些信息直接同步到从节点的shared buffer pool 中,同时下面也会将日志同步刷新到磁盘上,如polardb for mysql 一样通过REDO 的日志来进行数据的刷新,通过wal的数据进行从节点的内存的数据的冲刷。

这里注意实线和虚线,数据同步的同步和异步的数据同步的方式。基于这样的形式的数据的,主从节点数据的节点之间的延迟,我们是期待的,理论上比POSTGRESQL RDS 的 主从数据同步应该是要好的多,这样的方式在 POLARDB FOR MYSQL 上是有验证的,延迟有没有,有但是基本上在20ms 内,甚至更低。

所以如果Polardb for PostgreSQL的主从节点之间的数据差异在20ms内,对于读写分离来说,将不需要业务在去考虑这方面的基础架构的设计。

除此之外,我们对于下面的一些特性更加的有兴趣

1  数据冷热分离,在数据库层面上进行自动分层的技术,在数据存储中,最大的成本来源和可以进行削减的成本,大多来自于存储,类似我们这样的企业,数据一定有冷数据库,将几个T的冷数据如果能通过分层技术,下探到 OSS上,那么存储成本会几何级的下降。但具体的实施和方案,还需要更多的了解。因为这样的冷热分离是从物理上操作,而非业务逻辑上的冷热分离。

05235f04825836f2acf2c21d9d16be4c.png

2  节点的增加和替换

这点也是我们对于现有的PostgreSQL 有想法的地方,当然可以增加pgbouncer,但是如果有一个能进行读写分离的插件的代理,那么将是我们最高兴 PostgreSQL 具有的功能,这样花一个POSTGRESQL 的钱得到两个节点,和读写分离的代理,最大化一些只读SQL 的自动和主节点的隔离,省时省力。

对于添加只读节点方面我们在POALRDB FOR MYSQL 也有深刻的体会,快速添加节点,如果是 几个T的从库添加那你就等着吧,但基于POALRDB 的 shared storage 和 内存同步数据的方案,几个T的从节点的添加也是在分钟级别可以获得这个能力,这对于突发的事件,要增加只读节点也是一个得心应手得事情。

b41c0c199ef1e41815e3e38f6cbf4ca3.png

3  内存全局话的设计

这点在POSTGRESQL 里面你需要使用到 POSTGRESQL 16 可以应用此功能,在POLARDB FOR POSTGRESQL 里面,PG14 就已经有了全局内存管理信息的功能,也就是不在有一个collector 来不断的收集各个客户进程里面的变动的数据信息,而是将这些放到整体的内存中来进行管理,对于节省内存来说有好处。

2948a47a0d2c4f16ddf54e20780039db.png

除此之外,还有ePQ 功能,我们希望能通过ePQ功能,让在原有的CPU 数量上,提升性能 50%,当然这些都需要进行测试和验证。

最后,在相关人员的介绍中,相关的硬件中,以及包含了硬件压缩的芯片,可以在数据存储在磁盘时进行硬件压缩和解压缩,预计可以提高数据存储 30%的平均容量。

所以写到这里,我有点期待后续,如果一个PG,更快,更便宜,更能在低版本使用高版本的一些特性和功能,那倒是有点意思。

2d9b33397b36f3e7b3b3b80bfdffbeb9.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1588957.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

未佩戴厨师帽识别检测 厨房管理系统 自动监测未佩戴厨师帽行为 实时报警

在厨房环境中,佩戴厨师帽对于食品安全和卫生至关重要。厨师帽能够有效地防止头发、皮屑等杂质掉入食物中,减少了食品受到污染的可能性,从而保障了食品安全。特别是在学校、餐厅等场景中,对于未佩戴厨师帽的检测更是必不可少。相关…

《哈迪斯》自带的Lua解释器是哪个版本?

玩过《哈迪斯》(英文名:Hades)吗?最近在研究怎么给这款游戏做MOD,想把它的振动体验升级到更高品质的RichTap。N站下载了一些别人做的MOD,发现很多都基于相同的格式,均是对游戏.sjon文件或.lua文…

洛谷-P1036 [NOIP2002 普及组] 选数

P1036 [NOIP2002 普及组] 选数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<bits/stdc.h> using namespace std; const int N30; int n,r; int g[N]; //存用户输入的数 int arr[N]; //存答案 int res0; //存种类数bool is_prime(int y){ //求素数if(y<2){…

DC-2渗透测试复现

DC-2渗透测试复现 目的&#xff1a; 获取最高权限以及5个flag 过程&#xff1a; 信息打点-ssh连接-git提权 环境&#xff1a; 攻击机&#xff1a;kali(192.168.85.136) 靶机&#xff1a;DC_2(192.168.85.132) 复现&#xff1a; 一.信息收集 nmap -sP 192.168.85.0/24 …

人工智能时代创作者的抗议!

创造力作为人类智力结构中的璀璨瑰宝&#xff0c;一直以来被视为推动文明进步和社会演进不可或缺的关键要素。难以设想一个没有创造力的世界会是怎样一番景象——那或许是一个机械单调的社会&#xff0c;科技创新止步不前&#xff0c;文化艺术枯竭凋零&#xff0c;人们的精神世…

蓝桥杯 子串简写(暴力)

题目&#xff1a;子串简写 代码1&#xff1a; #include<algorithm> #include<iostream> #include<cstring> #include<queue> #include<cmath>using namespace std;char c1,c2; int k; char s[100010]; int a[100010]; int b[100010]; int cnt; …

【YOLOv9改进[损失函数]】使用结合InnerIoU和Focaler的各种损失函数助力YOLOv9更优秀

目录 一 回归损失函数&#xff08;Bounding Box Regression Loss&#xff09; 1 Inner-IoU 2 Focaler-IoU&#xff1a;更聚焦的IoU损失 二 改进YOLOv9的损失函数 1 总体修改 ① utils/metrics.py文件 ② utils/loss_tal_dual.py文件 2 各种机制的使用 ① 使用结合Inn…

Java算法小练习——五道经典算法题

练习一&#xff1a;按照要求进行排序 定义数组并存储一些朋友对象&#xff0c;利用Arrays中sort方法进行排序 要求1&#xff1a;属性有姓名、年龄、身高。 要求2&#xff1a;按照年龄的大小进行排序&#xff0c;年龄一样&#xff0c;按身高排序&#xff0c;身高一样安姓名的字母…

MES对接日常:MES对接单据上下游关联怎么处理?

很多制造企业的信息化过程中&#xff0c;金蝶云星空作为企业资源规划&#xff08;ERP&#xff09;系统的核心&#xff0c;与制造执行系统&#xff08;MES&#xff09;的有效对接&#xff0c;对于实现生产管理的精细化、智能化至关重要。其中&#xff0c;单据关联作为打通ERP与M…

小程序地理位置权限申请+uniapp调用uni.getLocation

文章目录 一、小程序地理位置权限申请二、uniapp调用uni.getLocation 一、小程序地理位置权限申请 需要确保小程序类目已经填写 点击左侧导航栏找到最后的“设置”——“基本设置”——“前往填写” 在开发管理——接口设置——地理位置中可以看到&#xff1a; 即可点击想要申…

基于Springboot的二手交易平台

基于SpringbootVue的二手交易平台的设计与实现 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringbootMybatis工具&#xff1a;IDEA、Maven、Navicat 系统展示 用户登录页 首页 商品信息 商品求购 网站公告 留言反馈 个人中心 后台管理 后台首页 用户…

cephfs部署与使用

一、前言 CephFS&#xff08;Ceph File System&#xff09;是Ceph存储解决方案中的一个组件&#xff0c;它提供了一个分布式文件系统&#xff0c;允许用户在多个节点上访问和管理文件数据&#xff0c;相当于是共享文件系统&#xff0c;可应用于k8s的存储&#xff0c;linux系统的…

(Java)数据结构——图(第六节)Dijkstra实现单源最短路径

前言 本博客是博主用于复习数据结构以及算法的博客&#xff0c;如果疏忽出现错误&#xff0c;还望各位指正。 Dijkstra算法&#xff08;Dijkstra的实现原理&#xff09; 迪杰斯特拉算法的实现&#xff0c;很像Prim&#xff0c;基本原理是&#xff1a; 我先找到距离集合路径…

Day93:云上攻防-云服务篇对象存储Bucket桶任意上传域名接管AccessKey泄漏

目录 云服务-对象存储-权限配置不当 权限控制-公共读或公共读写&#xff1a;可完整访问但不显示完整结构目录 权限控制-Bucket授权策略&#xff1a;设置ListObject显示完整结构目录 权限控制-Bucket公共读写权限&#xff1a;公共读写直接PUT文件任意上传 云服务-对象存储-…

秋招算法刷题7

20240410 1.接雨水 方法一&#xff0c;动态规划&#xff0c;时间复杂度O&#xff08;n^2&#xff09;&#xff0c;空间复杂度O&#xff08;n&#xff09; public int trap(int[] height) { int nheight.length; if(n0){ return 0; } …

【报错】TypeError: Cannot read property ‘meta‘ of undefined

&#x1f608;解决思路 首先这里很明显我们能看到是缺少该参数&#xff1a;meta。 但是经过查找后发现和该参数无关。 &#x1f608;解决方法 后来我上网搜了下&#xff0c;网上的回答大部分偏向于是package.json这个文件中的tabBar.list数组对象只有一条的问题。 网上的大…

Nginx小册(博客笔记迁移)

nginx基础 1.常用命令 nginx -v #查看版本 ps -ef | grep nginx #输出linux进程、 nginx #启动nginx进程 nginx -s reload #重载配置 nginx -s stop # 停止进程 nginx -t # 检查是否有语法错误&#xff0c;以及配置文件地址2.nginx的配置文件 # 用户组的设置 windows上不生…

Llama2模型本地部署(Mac M1 16G)

环境准备 环境&#xff1a;Mac M1 16G、Conda Conda创建环境配置 使用Anaconda-Navigator创建python 3.8环境 切换到新建的conda环境&#xff1a; conda activate llama38 llama.cpp 找一个目录&#xff0c;下载llama.cpp git clone https://github.com/ggerganov/llama.…

Java后端平台的搭建

后端开发准备工作(配置Tomcat) 安装tomcat安装jdk 配置JAVA HONE(到java目录),path(到 bin 目录)解压Tomcat进入到bin目录,双击startup.bat启动tomcat访问 ip端口在conf目录的 server.xml配置端口 后端平台的搭建 创建Web项目(前提搭建好Tomcat配置) 注:一定要提前配置好Ma…

Android-NDK的linux交叉编译环境

NDK工具包下载 NDK 下载 | Android NDK | Android Developers https://github.com/android/ndk/wiki/Unsupported-Downloads 以android-ndk-r26c下载为例&#xff0c;下载后将压缩包解压至/usr目录下 CMakeLists编译选项设置 编译平台变量判断条件中增加一下android条件…