postgresql 分区视图_PostgreSQL架构集中式到分布式主流架构总结

文章目录

一、PG未来主流架构为什么是分布式二、PostgreSQL集中式到分布式架构总结

一、PG未来主流架构为什么是分布式

如果说5年前DB的分布式还只是一种趋势,如今分布式数据库正逐渐从趋势变成主流。说到分布式,我想我们不能不提一下集中式和分库分表。

01

集中式和分布式

集中式数据库架构可以理解为CA模型,具备良好的单体可用性和一致性,但随着高速互联时代的发展,当到达单体容量瓶颈的时候,集中式架构在纵向扩容及横向扩展上的缺陷会越来越明显。而分布式数据库架构,主要就是为了解决横向扩展问题出现的,分布式首先要解决的就是保障AP模型下分区容错及可用性,如数据分配、跨中心、自愈能力、弹性扩缩容等,并且在此基础上尽可能地提高CP模型能力。

02

伪分布式和原生分布式

横向扩展能力的实现,可以使用中间件+分库分表的方案实现,也可以采用原分布式数据库的方案实现。前者(如采用proxy中间件+分库分表),由于在SQL解析和执行计划等方面和存储节点存在重复性工作,效率相对低效,单个分片之间传统的主备复制协议(如MySQL中的半同步)还无法完全保障数据的一致性。而原生分布式数据库,在cn节点可以利用全局元数据进行全局的SQL解析及全局执行计划的生成,分片主副本之间通过paxos或Raft一致性协议保障一致性。

03

未来已来,分布式1.0到分布式2.0,云原生分布式架构。

PostgreSQL技术生态在分布式上已经有比较成熟的方案,如原生的Citus、PGXL,严格来说,第一代分布式数据库未能做到完全的计算和存储分离,云原生分布式架构则是在云上实现了分布式下的共享存储的存储与计算分离。

二、PostgreSQL架构演变

首先,是最简单的noshard单体架构,这个是Postgresql和其他rdbms都共有的架构:

e7cf45352fc7b430bbeae4f668502daf.png

又或者是为了读写分离、容灾的而做的主从架构,也属于单体集中式架构。该架构可以做到一主多从跨IDC,比如我目前接手的一套MySQL系统,1主10从,对于读多写少又不想引入cache层的场景,该架构没太大的问题。

5758f51088d064b6300b5a42c1faa47c.png

为了防止主库的单点瓶颈,提高整改系统的读写吞吐能力及系统可用性,Oracle引入了RAC集群,是一种share everything的集中式架构,多个实例共享一份数据存储,实例节点均可读写。该架构理论上实例的数量可以横向扩展,底层共享的disk存储纵向扩容,扩容的成本高昂。

9b302ce41b508e90d8a234cad4d4052a.png

目前PostgreSQL没有上面这种架构的,在个人看来,这种架构对PostgreSQL在云架构的发展有很大的启发意义。

接着,在高并发及海量数据场景下,迎来了我们目前的分布式架构,该架构应该是一种过渡阶段,最终会向云架构转变。

1926ec7f4ab85dd4c6e64b07680debba.png

相对于Oracle中Rac的share everything,PostgreSQL这种分布式中DN节点之间数据是无共享的,是一种share nothing架构:

1、每个DN节点根据分布算法存储逻辑表的数据分片 

2、CN节点接收SQL请求、解析SQL并生成执行计划、下推分发请求。

3、抛开gtm之间的区别,这个就是目前citus和pgxl的核心架构。

最后,就是云原生分布式架构,是一种分布式和共享存储的结合体,比如亚马逊AWS Aurora,阿里PolarDB。

这种架构primary实例的写请求只写日志而不写数据页,redo逻辑下沉到存储节点,Pg实例架构层只处理计算请求,不存储数据,多个实例共享一个存储集群。

2d0a6d15bfb153bc1e914318b263a12b.png

该架构最大的特点就是"log is database":

1、计算集群与存储集群之间只传递日志,而不传递脏页,日志数据页面的合并由存储端在适当的时机来完成。

2、存储集群内部多个数据副本之间通过一致性协议进行复制。

I Love PG

关于我们

中国开源软件推进联盟PostgreSQL分会(简称:中国PG分会)于2017年成立,由国内多家PostgreSQL生态企业所共同发起,业务上接受工信部中国电子信息产业发展研究院指导。中国PG分会是一个非盈利行业协会组织。我们致力于在中国构建PostgreSQL产业生态,推动PostgreSQL产学研用发展。

欢迎投稿

做你的舞台,show出自己的才华 。

投稿邮箱:partner@postgresqlchina.com

                                 ——愿能安放你不羁的灵魂

技术文章精彩回顾PostgreSQL学习的九层宝塔PostgreSQL职业发展与学习攻略搞懂PostgreSQL数据库透明数据加密之加密算法介绍一文读懂PostgreSQL-12分区表一文搞懂PostgreSQL物化视图PostgreSQL源码学习之:RegularLockPostgresql源码学习之词法和语法分析2019,年度数据库舍 PostgreSQL 其谁?Postgres是最好的开源软件PostgreSQL是世界上最好的数据库从Oracle迁移到PostgreSQL的十大理由从“非主流”到“潮流”,开源早已值得拥有PG活动精彩回顾创建PG全球生态!PostgresConf.CN2019大会盛大召开首站起航!2019“让PG‘象’前行”上海站成功举行走进蓉城丨2019“让PG‘象’前行”成都站成功举行中国PG象牙塔计划发布,首批合作高校授牌仪式在天津举行群英论道聚北京,共话PostgreSQL相聚巴厘岛| PG Conf.Asia 2019  DAY0、DAY1简报相知巴厘岛| PG Conf.Asia 2019 DAY2简报独家|硅谷Postgres大会简报PostgreSQL线上沙龙第一期精彩回顾PostgreSQL线上沙龙第二期精彩回顾PostgreSQL线上沙龙第三期精彩回顾PostgreSQL线上沙龙第四期精彩回顾PostgreSQL线上沙龙第五期精彩回顾PostgreSQL线上沙龙第六期精彩回顾直播回顾 | Bruce Momjian:原生分布式将在PG 14版本发布PG培训认证精彩回顾中国首批PGCA认证考试圆满结束,203位考生成功获得认证!中国第二批PGCA认证考试圆满结束,115位考生喜获认证!重要通知:三方共建,中国PostgreSQL认证权威升级!近500人参与!首次PGCE中级、第三批次PGCA初级认证考试落幕!通知:PostgreSQL技术能力电子证书上线!2020年首批 | 中国PostgreSQL初级认证考试圆满结束

e3a5dc25455e14f996abeab14a82eaac.png

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

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

相关文章

html5 上传图片模板,HTML5实现图片文件异步上传

,过现前个能文使近记接的端问对字用近记接  利用HTML5的新特点做文件异步上传非常简单方便,本文主要展示JS部分,html结构。下面的代码并未使用第三发库,如果有参照,请注意一些未展现出来的代码片段。我这边的效果预览…

dot2谜团png_一个类加载的谜团解决了

dot2谜团png面对一个好老问题 我在应用程序服务器上遇到一些类加载问题。 这些库被定义为Maven依赖项,因此被打包到WAR和EAR文件中。 不幸的是,其中一些还安装在应用程序服务器中,但版本不同。 启动应用程序时,我们遇到了与这些类…

python log文件如何不写入syslog_Centos下python 对syslog重写进行日志记录

在Linux 环境下,python自带一个syslog的模块可以进行日志记录。python可以利用logging模块来重写syslog,这样就可以自定义写入文件的文件名。如果不做配置则直接写入到/var/log/message文件里。首先先写log.py,代码如下:importosimportsysimp…

html中可以有两个h1,在一个HTML中h1标签能出现几次?h1标签和标题标签

首页 > web前端 > html教程 > 正文 在一个HTML中h1标签能出现几次?h1标签和标题标签的差别是什么? 2018-08-29 10:57:28本篇文章主要介绍了关于HTML h1标签的一些解释,有html h1标签和html title标签的区别,还有网页中h1…

Java中的记录类型

2020年3月发布的JDK 14引入了记录 (预览语言功能),这些记录提供了一种紧凑的语法来声明主要用于保存数据的类。 在记录中 ,所有低级,重复且容易出错的代码都类似于构造函数,访问器和通用方法,例…

angular 注入器配置_Angular依赖注入介绍

依赖注入(DI -- Dependency Injection)是一种重要的应用设计模式。Angular里面也有自己的DI框架,在设计应用时经常会用到它,它可以我们的开发效率和模块化程度。依赖,是当类需要执行其功能时,所需要的服务或对象。DI是一种编码模式…

山东省102021年普通高考成绩查询,山东高考成绩今日发布!成绩查询看这里!

原标题:山东高考成绩今日发布!成绩查询看这里!山东高考生注意啦~今天16:20举行山东2020年夏季高考第二次新闻发布会届时将会公布高考录取政策、分数线情况等今天17:00公布2020夏季高考与等级考成绩发布会怎么看?高考成绩怎样查&am…

可变对象 不可变对象区别_对象应该是不可变的

可变对象 不可变对象区别在面向对象的编程中,如果对象的状态在创建后无法修改,则它是不可变的 。 在Java中,不可变对象的一个​​很好的例子是String 。 创建后,我们无法修改其状态。 我们可以要求它创建新的字符串,但…

判别分析分为r型和q型吗_SPSS聚类和判别分析参考.ppt

SPSS聚类和判别分析参考10.1主成分分析和因子分析简介 3 常用术语 (1)因子载荷 (2)变量共同度 (3)公共因子的方差贡献 10.1主成分分析和因子分析简介 10.1.2主成分和公因子数量的确定 (1) 确定时遵循几个原则 主成分的累积贡献率:一般来说,提取主成分的累…

计算机应用基础人才培养方案,1. 培养方案(计算机应用基础课程).doc

人才培养方案一、课程定位和课程目标1、课程性质和任务  《计算机应用基础》是高职高专教育中的一门理论与实践相结合的基础必修课,是培养大学生信息素养的必修课程。但与普通的素质教育课程不同,由于计算机应用的普及性和广泛性,学生的计算…

使用SoapUI调用不同的安全WCF SOAP服务-基本身份验证,第二部分

在本系列的第一篇文章中,我们创建了一个基本的身份验证服务,以使用SoapUI进行调用。 因此,在第二篇文章中,我们将逐步演示如何使用此工具成功调用这种服务。 使用SoapUI的1-Basic WCF SOAP –创建新的SOAP项目 首先,我…

r语言electricity数据集_R语言实验报告.doc

R语言实验报告R语言实验报告R语言判别分析实验报告班级:应数1201学号姓名:麦琼辉时间:2016年11月28号1 实验目的及要求1) 了解判别分析的目的和意义;2) 熟悉R语言中有关判别分析的算法基础。2 实验设备及要求个人计算机一台&#…

linux rar加压_Linux之rar文件解压之路

导读相信大家在使用Linux系统时有时候会碰到有关于rar文件的解压缩。网上下载rar 压缩文件的使用,在linux在我们需要对其进行解压缩,这个时候,我们需要安装 rar相关的文件,来进行解压缩。1. 下载我们进入rarlab网站,进…

全国计算机二级office基础知识,全国计算机二级office考试内容

计算机领域中所运用的技术方法和技术手段。计算机技术具有明显的综合特性,它与电子工程、应用物理、机械工程、现代通信技术和数学等紧密结合,发展很快。下面是小编整理的关于全国计算机二级office考试内容,希望大家认真阅读!基本要求1. 掌握…

insight切换窗口 source_source insight的使用方法逆天整理(1)

A. why SI:为什么要用Source Insight呢?因为她比完整的IDE要更快啊,比一般的编辑器便捷啊!她有逆天的查看定义,查看调用,查看引用功能以及方便的Context Window上下文显示,像这样的东西非常有利于查看大量代…

html table nei边框线,GitHub - meichuanneiku/TableCell: 在TableBank的基础上,进一步标注到单元格精度,利用目标检测/分割实现单元格定位。...

项目说明本项目是我2019年7月份的实习工作的**展示与记录**:把倾斜的表格旋转水平;制作5000张表格数据集,需要标注每一个单元格,并实现单元格检测第一项比较简单,仿射变换、透视变换已经很成熟了,关键是第二…

前缀命名

如果您是第一次查看Takes或Cactoos的源代码,则很可能会像其他名称一样被命名约定触发,这意味着大多数类名称都有两个字母的前缀: BkSafe , RqFake , RsWithStatus , TkGzip等。 老实说,我还没有…

python中excel制作成绩报表_python制作简单excel统计报表2之操作excel的模块openpyxl简单用法...

python制作简单excel统计报表2之操作excel的模块openpyxl简单用法# codingutf-8 from openpyxl import Workbook, load_workbook from openpyxl.drawing.image import Image from openpyxl.styles import Font,colors from datetime import datetime import MySQLdb class Exce…

2018软科计算机科学与技术排名,又一中国高校“计算机学科排名”发布,清华第1,浙大第2...

计算机类专业是近些年最热门的专业之一,这类专业不仅就业情况好,工资待遇水平也很高,就是在考公务员时也很有优势。现在,大部分高校都已经开设了计算机类专业,我国学习计算机类专业的学生数量非常多,所以&a…

java数字格式化_Java数字格式

java数字格式化当我看到其他人编写不必要的Java代码并且由于缺乏对已经提供所需功能的JDK类的了解而编写了不必要的Java代码时,我会想到很多次。 这样的一个例子是时间相关的常量的使用硬编码值的写入,如60 , 24 , 1440 &#xff…