1 Greenplum 简介

  GreenPlum是一款基于分布式架构的开源数据库;采用无共享(no shareing)的MPP架构(每个数据节点拥有独立的CPU、IO和内存等资源);其具有良好的线性扩展能力,具有高效的并行运算、并行存储特性。拥有独特的高效的ORCA优化器。非常适合用于PB数据量级的存储、处理和实时分析能力。Greenplum是基于PostgreSQL数据库发展而来,本质上是多个PostgreSQL面向磁盘的数据库实例一起工作形成的一个紧密结合的数据库管理系统(DBMS),同时支持涵盖OLTP型业务混合负载,数据节点和主节点均可设计备份节点,进而提供数据库的高可用性。

2 Greenplum架构


  如上图,Greenplum由Master节点<协调节点>和Segment节点<数据节点>以及高速网络层三部分组成,转载自官网Greenplum的架构。

  • Master Host: 又称协调节点,是整个Greenplum数据库系统的入口。负责接受来自客户端连接请求,对SQL语句生成查询计划,并将查询计划分发至涉及的Segment实例上,收集Segment实例返回的结果并呈现给客户端。同时Master记录集群中的元数据信息,包括各种全局系统系统表,但Master上不存储任何用户数据,数据只存在于Segment之上。
  • Standby: Master的备库,在Master 发生故障不可提供服务时可promote Standby继续提供服务,保证集群的高可用,正常情况下Standby上进行只读操作,且时时同步Master的元数据。
  • Segment Host【Primary segment】:数据节点,其功能是存放并管理数据库中的数据,接收Master分发下来的执行计划,执行返回结果给Master节点。
  • Mirror segment: Primary segment节点的备库以保障高可用性;通常跟对应的Primary segment节点不在同一台机器上。在segment节点出现故障,mirror segment自动接管进行工作。但是为了数据库平稳;尽快恢复出现故障的segment。
  • Interconnet: Interconect是Greenplum数据库架构中的网络层,是Segment之间的进程间通信以及这种通信所依赖的网络基础设施。 Greenplum的Interconnect使用带流控制的用户数据包协议(UDPIFC)在网络上发送消息,可靠性和可扩展性超于TCP。 之所以采用UDP,是因为Interconnect改为TCP,当Segment实例超过1000个时其可扩展性会受到限制,而对于Interconnect的默认协议UDPIFC则不存在这种限制。

3 Greenplum特性

  • 超大规模和高性能:Greenplum数据库采用超大规模无共享MPP架构,将多台服务器组成一个强大计算平台,实现高效的海量并行计算。同时在查询优化方面。Greenplum不仅支持PostgreSQL的查询优化器外,还开发一个新的查询优化器ORCA。ORCA是一款自顶向下的基于Cascades框架的查询计划器,相比PostgreSQL查询优化器而言,其性能能够提升 10 -1000倍。
  • 高可用:Greenplum提供多级容错机制确保整个集群的高可用。对与Master节点,设计Standby master进行元数据的备份,每个Primary segment 分别可以配置若干个Mirror segment进行备份,同时确保同一组的Primary segment 与Mirror segment 节点不在同一物理机,从而减小由于宕机等意外故障导致的数据丢失分险。
  • 通用性:Greenplum数据库支持完善的SQL标准。同时。由于Greenplum基于PostgreSQL数据库开发,因此继承了PostgreSQL对于JDBC/OBJC/C/Python API等接口的支持。
  • 多态存储:Greenplum数据库提供“多态存储”的灵活存储方式。用户可以根据数据热度或者访问模式的不同使用不同的存储方式,以获取的更好的查询性能。用户可以将一张表按照一定规则[日期]分成若干个分区,不同的分区可以使用不同的物理存储方式。支持存储方式包括:1)行存储,数据以行的形式存储在数据页里,适合频繁的更新;2)列存储,数据以列的形式存放在数据页中,适合OLAP分析性场景;3)外部表,数据保存在外部文件,比如HDFS、S3等,数据库只保持元数据信息。
  • 高扩展和高效资源管理:得益于MPP无共享架构,Greenplum具有良好的线性扩展能力。用户可以通过水平扩展增加硬件资源提升数据存储和计算能力。同时Grennplum还提供高效的资源管理机制,根据用户的业务逻辑将资源合理分配给查询任务,避免查询因资源不足而得不到相应,主要是通过对并发查询数目的限制、查询执行内存占用、CPU资源使用情况进行一定约束。提供两种资源管理方式:资源队列和资源组,详见greenplum官网。
  • 高效数据加载:Grennplum采用MPP架构可以高地并行家在数据,即允许数据从多个文件系统通过多个主机上的多个网卡进行加载,达到高效数据传输效率。Greenplum支持多重读入和写入数据源,包括文件文本、XML文件、HDFS、Kafka和Spark等,同时还支持数据压缩。

总结
  Greenplum数据库是领先的基于MPP架构的开源分布式数据库,具有良好的弹性和线性扩展能力,内置并行存储+通信+计算和优化技术,高度兼容SQL标准,具备强大高效的PB级数据存储、处理和实时分析能力。目前广泛用于ETL、商业智能、高级分析、GIS数据处理、机器学习等领域。

参考: Introduction to Greenplum

greenplum架构介绍相关推荐

  1. Druid基本概念及架构介绍

    Druid基本概念及架构介绍 学习参考:https://www.apache-druid.cn/ Apache Druid是一个高性能的实时分析型数据库 作者:it_zzy 链接:https://ww ...

  2. MindSpore Lite整体架构介绍

    MindSpore Lite整体架构介绍 MindSpore Lite框架的总体架构如下所示: • 前端(Frontend): 负责模型生成,用户可以通过模型构建接口构建模型,将第三方模型和MindS ...

  3. MindSpore整体架构介绍

    MindSpore整体架构介绍 MindSpore框架架构总体分为MindSpore前端表示层.MindSpore计算图引擎和MindSpore后端运行时三层. • MindSpore前端表示层(Mi ...

  4. 微服务架构介绍和RPC框架对比

    微服务架构介绍和RPC框架对比 1.微服务架构 1.1 特征 自动化部署,端点智能化,语言和数据的去中心化控制. 1.2架构 一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中 ...

  5. 伍哥原创之豆荚商城商品搜索架构介绍

    为什么80%的码农都做不了架构师?>>>    豆荚商城(www.dou55.com)商品搜索架构介绍 1,需求分析 伍哥所在的豆荚商城是一个家电行业的B2C网上零售平台.作为这样一 ...

  6. 12.1 LNMP架构介绍;12.2 MySQL安装;12.3-2.4 PHP安装(上下);12.5

    扩展: Nginx为什么比Apache Httpd高效:原理篇 http://www.toxingwang.com/linux-unix/linux-basic/1712.html apache和ng ...

  7. Kafka系列一之架构介绍和安装

    Kafka架构介绍和安装 写在前面 还是那句话,当你学习一个新的东西之前,你总得知道这个东西是什么?这个东西可以用来做什么?然后你才会去学习它,使用它.简单来说,kafka既是一个消息队列,如今,它也 ...

  8. LAMP架构介绍、MySQL和MariaDB介绍、MySQL安装

    2019独角兽企业重金招聘Python工程师标准>>> LAMP架构介绍 Linux+Apache+MySQL+PHP 就是在linux系统上安装httpd. mysql .PHP, ...

  9. 互联网直播云计算架构介绍

    互联网直播云计算架构介绍 原文:互联网直播云计算架构介绍 思想 拆分 URL分层 模块化 云服务结构 ECS 云计算的优势 -------------------------------------- ...

最新文章

  1. [javaSE] 网络编程(URLConnection)
  2. 俄罗斯独特的职业***文化
  3. springMvc的执行流程(源码分析)
  4. 遇到的问题然后自己找到答案
  5. Dynamic Web Module 3.0 requires Java 1.6 or newer
  6. 二叉树先序遍历递归算法(图解)
  7. 我在 MySQL 的那些年
  8. 无法连接 MKS: Login(username/password)incorrect
  9. 为什么百度查到的ip地址和ipconfig查到的不同;详解公网Ip和私网ip; 网络分类ABC类;
  10. hdu 5172 GTY's gay friends(线段树最值)
  11. python爬取抖音用户数据的单位是_爬取并分析一下B站的最热视频排行榜,看看大家都喜欢看什么视频...
  12. 华为鸿蒙新机价格表,华为Mate30已确认:鸿蒙系统+巴龙5000,售价感人
  13. Facebook开源了两个无监督翻译模型,只用单语就能训练双语
  14. 跨界造智能机器人,娃哈哈能“喝”出新辉煌吗
  15. 翻译:swift 5初始化 被忽略的Convenience便捷初始化、Required和继承
  16. vue引入 wps在线编辑版,可进行 预览,编辑, 打印等功能。
  17. 如何在linux上的上修改配置ip地址
  18. 16、基于51单片机智能浇花自动浇水灌溉土壤湿度检测报警系统设计
  19. 高级计算机网络(习题二加解析)
  20. GPU工作原理,可编程渲染管线,图形流水线和GPU架构

热门文章

  1. js实战 网页五子棋进阶版
  2. AN7114 音频功率放大电路
  3. 解决[WARNING] Could not transfer metadata org.apache.maven.plugins:maven-archetype-plugin/maven-metada
  4. HSSFCellStyle样式详解
  5. 一张图了解NFT堆栈,关于NFT生态现状,你知道哪些项目?
  6. sas和python哪个更容易_Python、R和SAS 哪个适合你?
  7. Error: could not begin a transaction
  8. catia孔深度符号标注_CATIA制图及工程图含图框详细教程(精编).doc
  9. idea overlays文件夹_使用IDEA加载maven项目没有出现overlays目录的解决方法
  10. 使用Springboot maven overlays 多模块打包