广州PostgreSQL用户会技术交流会小记 2015-9-19

今天去了广州PostgreSQL用户会组织的技术交流会

分别有两个session

第一个讲师介绍了他公司使用PostgreSQL-X2的情况

第二个讲师介绍了PostgreSQL里面的一些执行计划分析

我个人比较关注第一个session,因为涉及到真正的应用案例

网上有对PostgreSQL-X2的简短介绍,我先转载过来

转载:http://francs3.blog.163.com/blog/static/4057672720125315352442/

浙江移动、华为、腾讯、阿里都在用pgsql去O

搞pgsql的几个大牛都去了BAT,基本上找不到人帮忙了


PostgreSQL-XC: Introduction  

这几天在学习 PostgreSQL-XC,虽然目前 Postgres-XC 的文档还不完整,但学习一下还是有帮助的,
至少PostgreSQL-XC 是一种可以实现 multi-master 方案,这里简单介绍下 PostgreSQL-XC。

一 What Is Postgres-XC

PostgreSQL-XC 是一种提供写可靠性,多主节点数据同步,数据传输的开源集群方案,它包括很多
组件,稍后会详细介绍这些组件,这些 PostgreSQL-XC 组件可以分别安装在多台物理机器或者虚拟机上。

写可靠性 (Write-scalable )是指可以部署多个数据库主节点,并且向这些主节点发出 update 语句,
这种特性单个 PostgreSQL 库是无法提供的; 多主节点 (Multi-master ):是指有多个数据库可以提供统一
完整的数据库视图;主节点数据同步(Synchronous):是指在一台数据库上更新操作会立刻呈现在另一台数据
库中;数据传输(Transparent)是指;数据位于不同的数据库节点中,当查询数据时,不必关心数据位于具
体的节点。

你可以将 PostgreSQL-XC 配置一台或者多台主机上, Postgresql-XC 数据以分布式存储,有两种方式,
 partitioned 或者 replicated ,当向 PostgreSQL-XC 发送查询 SQL时, PostgreSQL-XC 会自动向数据节
 点发出查询语句并获取数据。

二 Postgres-XC 的目标
  
       PostgreSQL-XC 最大的特性就是提供多主(multi-master) 数据同步以及读写( read/write ) 的可靠性。
具体地说, PostgreSQL-XC 提供以下特性

1 PostgreSQL-XC 可以提供多个主节点同时处理来自应用端发出的 SQL 语句,这些节点称为 master
       节点,但在 PostgreSQL-XC 中称为 "coordinator"。
      
     2 PostgreSQL-XC 可以提供多个  masters 节点。
    
    3  任何一个 master 节点都有全局数据库视图,也就是说当任一台 master 接收 update 语句时,在另外的
        master 节点可以迅速地看到。
       
    4 表可以以 replicated 或者 distributed 方式分布式存储,并且这对应用来说是透明的;
    
    5 PostgreSQL-XC 可以提供统一全局的数据库视图。
    
    
三 Postgres-XC Key Components
    
      这里介绍下 PostgreSQL-XC 的组件,PostgreSQL-XC 包含三个主要组件,分别是 
GTM (Global Transaction Manager), Coordinator and Datanode。

--3.1 GTM (Global Transaction Manager)

GTM 是 PostgreSQL-XC 的核心组件,用于全局事务控制以及 tuple 的可见性控制。
     
     PostgreSQL 的事务控制是基于 MVCC 机制的, 在 PostgreSQL-XC 体系中将这种技术单独划分出来,
称之为 GTM。

--3.2 Coordinator

协调呆节点 (Coordinator) 是数据节点 (Datanode)  与应用之间的接口,由于表数据会以分片或者
复制的方式分布式存储,所以 Coordinator 节点并不物理上存储表数据,表数据位于数据节点上,数据节
点接下来会介绍,当应用发起SQL时,会先到达 Coordinator 节点,然后 Coordinator 节点将 sql 分发到
各个数据节点,汇总数据,这一系统过程是通过  GXID 和 Global Snapshot  来控制的。

--3.3 Datanode

Datanode 即数据节点,物理存储表的数据,表数据存储方式包括分片 ( distributed)  和 完全复制 
(replicated) 的方式,数据节点只存储本地的数据。

--3.4  PostgreSQL-XC 体系结构图

  

PostgreSQL-XC    体系结构图

备注:从上图看出,Coordinator 和 datanode 节点可以配置多个,并且可以分别位于不同主机

上,官方建议 Coordinator 节点和 datanode 节点数相同。另外,只有 Coordinator 节点直接对

应用服务,数据节点对应用透明。

四 Postgres-XC Inherits PostgreSQL

Postgres-XC is an extension to PostgreSQL and inherits most of its features.

It is an open-source descendant of PostgreSQL and its original Berkeley code. It supports a
large part of the SQL standard and offers many modern features:

complex queries
foreign keys [3] 
triggers [4] 
views
transactional integrity
multiversion concurrency control

Also, similar to PostgreSQL, Postgres-XC can be extended by the user in many ways, for example
 by adding new

data types
functions
operators
aggregate functions
index methods
procedural languages

And because of the liberal license same as PostgreSQL, Postgres-XC can be used, modified, and distributed
by anyone free of charge for any purpose, be it private, commercial, or academic.


第一个讲师主要介绍了:postgresql -X2的升级、分片、社区情况、备份、原理、增删节点、分配路由

还有他自己踩过的一些坑,还有postgresql -XL、postgresql -XC、postgresql -X2的区别,总之干货非常多

另外,主持人公司承建的中国联通商城系统和佛山市气象局系统都使用Pgsql作为后端数据库,感觉PG的应用还是听广泛的

上几张图

图1

图2

个人感觉上要比MySQL集群要强悍,特别是分片,DBA不需要干预太多,它自己自动管理,是比较吸引的

还有EDB数据库(Enterprise DB ),是PostgreSQL的商业增强版本,并且拥有很多企业级功能,比PostgreSQL要强一些

PostgreSQL有的功能,EDB数据库都有,只不过EDB数据库在中国用的人很少,而且不太出名

如有不对的地方,欢迎大家拍砖o(∩_∩)o 

广州PostgreSQL用户会技术交流会小记 2015-9-19的更多相关文章

  1. 以深圳.NET俱乐部名义 的技术交流会圆满成功

    2017年5月13日的深圳下着暴雨,一场以深圳.NET俱乐部名义的.NET技术交流会在微软Build 2017刚闭幕时在罗湖布吉路与翠山路交界处富基PARK国际6F举办,这次交流以微软Build 20 ...

  2. 福州首届.NET开源社区技术交流会圆满成功

    活动总结 2018年11月10日周六的下午,在福州蒲公英创新工场举办了福州首届.NET开源社区技术交流会,来自福建省各大科技公司的技术小伙伴齐聚一堂,为了就是能在现场学习到微软跨平台技术.NET Co ...

  3. 【福州活动】| "福州首届.NET开源社区线下技术交流会"(2018.11.10)

    活动介绍 微软爱开源,已是尽人皆知的事实.自从收购全球最大的开源社区 GitHub 之后,微软依旧使 GitHub 保持独立运营,并且通过此项举措,微软本身已经成为最大的社区服务者. .NET Cor ...

  4. 【深圳】大湾区第三次.NET技术交流会(网络直播)

    活动简介 云.devops.微服务.容器是现在这个发展阶段的软件形态, 本次活动我们围绕这些话题介绍.NET生态下的发展.SQL Server 2017可根据需要运行本地部署的SQL Server,当 ...

  5. PostgreSQL 用户和权限管理

    PostgreSQL 用户和权限管理 创建 CREATE ROLE rolename;CREATE USER username;CREATE USER和CREATE ROLE的区别在于,CREATE ...

  6. dropuser - 删除一个 PostgreSQL 用户帐户

    SYNOPSIS dropuser [ option...] [ username] DESCRIPTION 描述 dropuser 删除一个现有 PostgreSQL 用户 和 该用户所有的数据库. ...

  7. createuser - 定义一个新的 PostgreSQL 用户帐户

    SYNOPSIS createuser [ option...] [ username] DESCRIPTION 描述 createuser 创建一个新的 PostgreSQL 用户.只有超级用户(在 ...

  8. 关于举办【福州】《K8S社区线下技术交流会》的问卷调查

      近年来,容器.Kubernetes.DevOps.微服务.Serverless等一系列云原生技术受到越来越多的关注,云原生为企业数字化转型提供了创新源动力,基于云原生技术构建企业技术中台在各行业也 ...

  9. PostgreSQL用户和权限问题

    PostgreSQL用户 其实用户和角色都是角色,只是用户是具有登录权限的角色. 创建用户 create user sonar password '123'; 删除用户 drop user sonar ...

随机推荐

  1. 那些年,坑死自己的事之fread/fwrite

    今天继续看牛人做过的东西,这个小程序并不大,加上相当多的注释行,才5000多行.这个小程序是在linux下实现的,之前自己也一直用vi来看并加以更加详细的注释,但是效率实在太低.于是将其转移到wind ...

  2. jquery json数组(排序)

    ar nums = ['12','2','5','36','4']; $('#show7').html(nums.join('<br/>')); //定义了sort的比较函数 nums = ...

  3. 前端试题本(Javascript篇)

    JS1. 下面这个JS程序的输出是什么:JS2.下面的JS程序输出是什么:JS3.页面有一个按钮button id为 button1,通过原生的js如何禁用?JS4.页面有一个按钮button id为 ...

  4. HTTP 的重定向301,302,303,307(转)

    HTTP 的重定向301,302,303,307(转) (2012-12-11 11:55:04) 转载▼ 标签: 杂谈 分类: 网络 301 永久重定向,告诉客户端以后应从新地址访问.302 作为H ...

  5. MongoDB做为一项windows服务启动

    MongoDB做为一项windows服务启动 Windows版本安装 MongoDB的官方下载站是http://www.mongodb.org/downloads,可以去上面下载最新的对应版本,有32 ...

  6. Java_新浪微博SDK_jar包下载

    新浪微博开放平台API_jar包下载地址:jar包(猛戳) --by HsuChan

  7. Haxe是何物?

    最近对haxe很感兴趣,用一种语言统一所有的语言和平台,野心很大. 详细的介绍园子里已有大神发过,地址在这里:http://www.cnblogs.com/xiaotie/archive/2012/0 ...

  8. UE4 AI BehaviorTree 各个节点执行顺序总结

    一个游戏DEMO的AI部分 用到行为树组件如上 主要说一下这两个组件 一个装饰(类似过滤器) 一个服务(代码逻辑与Blackboard交互) Service分为 大碰撞 和 小碰撞 两个碰撞范围, 大 ...

  9. 数据库访问性能优化 Oracle

    特别说明: 1.  本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识: 2.  本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也 ...

  10. phpstorm 10注释的双斜线位置不在缩进的位置:

    22:07 2016/4/4phpstorm 10注释的双斜线位置不在缩进的位置:终于找到了(但是没有实现效果,不知道是什么原因 win10系统):File | Settings | Editor | ...