文章目录

一、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都共有的架构:

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

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

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

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

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

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

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

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

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

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

该架构最大的特点就是"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初级认证考试圆满结束

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

  1. 架构选型必读:集中式与分布式全方位优劣对比

    应用现状比较 由于历史原因,集中式架构多用于传统银行.电信等行业.主机资源集中在大型主机或小型机上.集中式架构下,包括操作系统.中间件.数据库等"基础软件" 均为闭源商用系统.集中 ...

  2. oracle适合分布式架构吗,争议|集中式 vs 分布式,医院集成平台存储应选择谁?...

    来源:twt社区 医院集成平台存储选型问题?是选择集中式还是分布式? 在新的集成平台中,我们的系统提出支持热备高可用性部署,主备机之间配置.消息库可实时同步,当主机发生故障时,备机可在不需人工干预的情 ...

  3. 某大型保险集团在线财险业务系统数据库存储架构由集中式向分布式转型实践

     [摘要]随着某机构业务自传统B2B类型向互联网的转变,访问量的激增.用户量持续爆炸式增长.数据量爆炸式增长,业务场景具备高吞吐量.高并发量等等新需求,这些都要求后台数据库具备支持高TPS.高QPS( ...

  4. 多服务器分布式系统架构,集中式架构与分布式架构,你了解多少?

    原标题:集中式架构与分布式架构,你了解多少? 什么是集中式 集中式架构就是将项目集中存储在中央服务器中,在工作的时候,大家只要自己电脑上操作,从同一个地方下载最新版本,然后开始工作,做完的工作再提交给 ...

  5. 集中式和分布式架构的“伯罗奔尼撒战争”

    01 1964年,吉恩·阿姆达尔的团队耗费了50亿美金后,终于研制出了世界上第一台采用集成电路工艺的计算机IBM360. 因为IBM360的出现,吉恩·阿姆达尔被冠以商用大型机最早的"建筑师 ...

  6. 组件化、模块化、集中式、分布式、服务化、面向服务的架构、微服务架构

    组件化.模块化.集中式.分布式.服务化.面向服务的架构.微服务架构 最近最火的词是什么?那大概就是微服务(Microservice)了.最近也火的一踏糊涂的Docker.DevOps也都是围绕着微服务 ...

  7. 集中式、分布式、集群、高并发等概念

    目录 集中式.分布式.集群系统 集中式系统 分布式系统 分布式与集群 高并发 什么是高并发 集中式.分布式.集群系统 常见概念 1. 高可用:一年内允许系统不可用的时间  7*24 99.9% 99. ...

  8. Git复习(一)之简介、安装、集中式和分布式

    简介 Git是分布式版本控制系统,使用C语言开发的,CVS.SVN是集中式的版本控制系统,集中式的版本控制系统不但速度慢,而且必须联网才能使用. Git是分布式版本控制系统,同一个Git仓库,可以 分 ...

  9. 集中式 vs 分布式 版本控制

    集中式 集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器.中央服务器就好比 ...

最新文章

  1. c++语言中,vector容器与list容器的区别和联系?_百度知道
  2. 深入解析Windows操作系统笔记——CH1概念和术语
  3. 近7000字长文详细讲解Java包装类,面试稳了
  4. BZOJ3173:[TJOI2013]最长上升子序列(Splay)
  5. c# 水晶报表中处理TextObject
  6. DundasWebChart 5.5 破解续.
  7. django2.0.6 连接使用redis集群
  8. sql生成(查询数据的存储过程)代码的存储过程
  9. 人全外显子组测序WES学习笔记 第一天
  10. ElasticSearch聚合基础使用《玩转ElasticSearch 4》
  11. Gurub linux windows,windows10安装ubuntu双系统教程(绝对史上最详细)
  12. 从零开始实现图片加载特效之黑白照片、倒影图片、图片蒙版
  13. 9个妙招教你玩转微信
  14. 2021年安徽省大数据与人工智能应用竞赛人工智能(网络赛)-本科组赛题
  15. 年份计算器-python
  16. Linux下QT添加图片运行程序后:iCCP: known incorrect sRGB profile(实测有效)
  17. UCOSIII系统任务
  18. Windows 安装 Windows 版 iCloud 之后我的电脑里多了个 iCloud 照片图标
  19. mysql第五章 在线测试_PHP+MySQL实现在线测试答题示例
  20. Linux主目录中创建目录,linux创建账户并自动生成主目录和主目录下的文件

热门文章

  1. Spring JPA数据+Hibernate+ MySQL + Maven
  2. 应用JDK 9 @不推荐使用的增强功能
  3. Java 8:将匿名类转换为Lambda表达式
  4. java 简化判断_简化Java内存分析
  5. java枚举和枚举类_Java枚举:您拥有优雅,优雅和力量,这就是我所爱!
  6. Java 8流:Micro Katas
  7. 如何在Ubuntu上轻松安装Oracle Java
  8. 骆驼路线的主/从故障转移
  9. Java Web项目的保存和刷新
  10. 通过Spring集成从Hibernate 3迁移到4