一,GreenPlum

  01,介绍:

  Greenplum是一种基于PostgreSQL的分布式数据库,其采用shared-nothing架构,主机、操作系统、内存、存储都是自我控制的,不存在共享。

  官方文档:>>>--大概内容如下

  • Greenplum Database是一个大规模并行处理(MPP)数据库服务器,其架构专门用于管理大规模分析数据仓库和商业智能工作负载。
  • MPP(也称为无共享架构)是指具有两个或更多处理器的系统,它们协作执行操作,每个处理器具有其自己的存储器,操作系统和磁盘。Greenplum使用这种高性能系统架构来分配多TB数据仓库的负载,并且可以并行使用所有系统资源来处理查询。
  • Greenplum数据库基于PostgreSQL开源技术。它本质上是几个PostgreSQL面向磁盘的数据库实例,它们共同作为一个有凝聚力的数据库管理系统(DBMS)。它基于PostgreSQL 8.3.23,在大多数情况下与PostgreSQL在SQL支持,功能,配置选项和最终用户功能方面非常相似。数据库用户与Greenplum数据库交互,就像使用常规PostgreSQL DBMS一样。
  • Greenplum采用Postgresl作为底层引擎,良好的兼容了Postgresql的功能,Postgresql中的功能模块和接口基本上99%都可以在Greenplum上使用,例如odbc、jdbc、oledb、perldbi、python psycopg2等,所以Greenplum与第三方工具、BI报表集成的时候非常容易;当然它也提供了一些Postgresql不存在的高级功能:

    • 外部表并行数据加载

    • 可更新数据压缩表

    • 行、列混合存储

    • 数据表多级分区

    • Bitmap索引

    • Hadoop外部表

    • Gptext全文检索

    • 并行查询计划优化器和Orca优化器

    • Primary/Mirror镜像保护机制

    • 资源队列管理

    • WEB/Brower监控

    Greenplum最大的特点总结就一句话:基于低成本的开放平台基础上提供强大的并行数据计算性能和海量数据管理能力。这个能力主要指的是并行计算能力,是对大任务、复杂任务的快速高效计算,但如果你指望MPP并行数据库能够像OLTP数据库一样,在极短的时间处理大量的并发小任务,这个并非MPP数据库所长。请牢记,并行和并发是两个完全不同的概念,MPP数据库是为了解决大问题而设计的并行计算技术,而不是大量的小问题的高并发请求。

    再通俗点说,Greenplum主要定位在OLAP领域,利用Greenplum MPP数据库做大数据计算或分析平台非常适合,例如:数据仓库系统、ODS系统、ACRM系统、历史数据管理系统、电信流量分析系统、移动信令分析系统、SANDBOX自助分析沙箱、数据集市等等。

    而MPP数据库都不擅长做OLTP交易系统,所谓交易系统,就是高频的交易型小规模数据插入、修改、删除,每次事务处理的数据量不大,但每秒钟都会发生几十次甚至几百次以上交易型事务 ,这类系统的衡量指标是TPS,适用的系统是OLTP数据库或类似Gemfire的内存数据库。

    Greenplum主要由Master节点、Segment节点、interconnect三大部分组成。Greenplum master是Greenplum数据库系统的入口,接受客户端连接及提交的SQL语句,将工作负载分发给其它数据库实例(segment实例),由它们存储和处理数据。Greenplum interconnect负责不同PostgreSQL实例之间的通信。Greenplum segment是独立的PostgreSQL数据库,每个segment存储一部分数据。大部分查询处理都由segment完成。

二, 三大节点

  01,master 节点

    ?:

    master节点是外边用户访问greenplum的入口。用户并不与segment节点发生任何关系,外部用户的网络只需要与master服务器联通即可。

    ?:

    master数据库也是一个被改造过的PostgreSQL数据库,它包含了整个分布式数据库中的所有元数据,如表结构定义、索引、数据分布信息等等。但其并不存储实际的数据,实际的数据是存储在segment数据库的。

       ?:

    master节点接受用户发过来的sql命令,然后解析生成分布式的执行计划,再把执行计划下发到对应的segment节点进行执行。segment节点执行完成后的结果会发送到master上,master接收到segment的结果进行汇总并返回执行结果给用户。所以在这种master-slave结构中,master不会成为系统的瓶颈。

  02,segment节点

    ?.

      Greenplum的每个segment节点可以运行多个segment instance,每个instance可以绑定到一个网卡,这样可以发挥CPU和网络性能。

    ?.

      系统的数据都分布式的存储在segment上。

    ?.

      每个segment同时执行master分发的任务,在执行查询任务或者数据加载的时候可能会涉及数据的移动。在进行数据移动的时候master不参与进来,只是在segment之间进行。

    ?.

      segment可以动态扩展,既可以在原有主机上进行增加segment instance的操作,又可以新增主机来增加segment。当扩展segment后,系统里面的数据会进行重分布操作,这个动作消耗时间会比较多。
    

  03,interconnect:

    Greenplum interconnect负责不同PostgreSQL实例之间的通信。

三,术语

  Shared Everthting:

    一般是针对单个主机,完全透明共享CPU/MEMORY/IO,并行处理能力差,典型的代表SQLServer。 shared-everything架构优点很明显,但是网络,硬盘很容易就会成为系统瓶颈。

  Shared Disk:

    各个处理单元使用自己的私有 CPU和Memory,共享磁盘系统。典型的代表Oracle Rac, 它是数据共享,可通过增加节点来提高并行处理的能力,扩展能力较好。其类似于SMP(对称多处理)模式,但是当存储器接口达到饱和的时候,增加节点并不能获得更高的性能 。

  Shared Nothing:

    各个处理单元都有自己私有的CPU/内存/硬盘等,不存在共享资源,各处理单元之间通过协议通信,并行处理和扩展能力更好。各节点相互独立,各自处理自己的数据,处理后的结果可能向上层汇总或在节点间流转。Share-Nothing架构在扩展性和成本上都具有明显优势。

  MPP:

    大规模并行处理系统是由许多松耦合处理单元组成的,借助MPP这种高性能的系统架构,Greenplum可以将TB级的数据仓库负载分解,并使用所有的系统资源并行处理单个查询。

  MVCC:

    与事务型数据库系统通过锁机制来控制并发访问的机制不同, GPDB使用多版本控制(Multiversion Concurrency Control/MVCC)保证数据一致性。 这意味着在查询数据库时,每个事务看到的只是数据的快照,其确保当前的事务不会看到其他事务在相同记录上的修改。据此为数据库的每个事务提供事务隔离。 MVCC以避免给数据库事务显式锁定的方式,最大化减少锁争用以确保多用户环境下的性能。在并发控制方面,使用MVCC而不是使用锁机制的最大优势是, MVCC对查询(读)的锁与写的锁不存在冲突,并且读与写之间从不互相阻塞。    

四,高可用特性

  ?:

    greenplum的高可用性是通过master和segment的镜像来实现的,镜像是基于服务器级别的,所以能提供比较好的安全保证。

  ?

    master节点不能和segment节点安装在同一个主机上,standby节点可以和segment节点复用。

  ?

    master宕机的话,standby master不会自动切换到master,需要手动切换到主设备。segment如果一个环节坏掉,系统可以自动将mirror切换到primary。

  ?

    当segment中某台设备出现故障后,mirror会切换成primary。检查出故障的主机恢复后可以使用gprecoverseg命令恢复成之前的主备关系

  ?

    segment包括以下两种mirror模式:

      ☕: grouped mirror模式

        在这种模式下,主机的mirror节点全部放在下一个主机上,当一台机器挂掉,那么拥有该机器mirror的主机负载加重一倍

      ?:spread mirror模式

        该模式下,mirror节点分散在后面主机上,但要求部署的物理机数量要至少多于运行在每个节点上的instance一个。

五,Greenplum特点

  ☮ 标准SQL接口,比MapReduce接入更方便 ;
  ☪ 完整的分布式事务能力,确保强数据一致性 ;
  ? 近乎线性的在线扩展能力 ;
  ☸ 高并发数据加载技术 ;
  ✡ 高灵活的行、列以及混合存储及压缩技术 ;
  ⚛ 高可用技术方案 ;
  ☯ 支持多方式的授权管理及审计,表级别粒度;
  ☦ 丰富的生态系统,便捷对接hadoop等。

链接文章:>>

转载于:https://www.cnblogs.com/kingle-study/p/10521152.html

GreenPlum 大数据平台--介绍相关推荐

  1. GreenPlum 大数据平台--运维(三)

    一,操作命令 01,启动gpstart 参数说明 COMMAND NAME: gpstartStarts a Greenplum Database system.******************* ...

  2. GreenPlum 大数据平台--安装

    1. 环境准备 01, 安装包准备: Greenplum :  >>>>链接地址 Pgadmin客户端 :  >>>链接地址 greenplum-cc-web ...

  3. GreenPlum 大数据平台--segment 失效问题恢复

    1,问题检查 [gpadmin@greenplum01 conf]$ psql -c "select * from gp_segment_configuration where status ...

  4. 建设大数据平台,从“治理”数据谈起

    一 随处可见的数据问题 大数据不是凭空而来,1981年第一个数据仓库诞生,到现在已经有了近40年的历史,而国内企业数据平台的建设大概从90年代末就开始了,从第一代架构出现到现在已经经历了近20年的时间 ...

  5. Apache Kylin在4399大数据平台的应用

    来自:AI前线(微信号:ai-front),作者:林兴财,编辑:Natalie 作者介绍: 林兴财,毕业于厦门大学计算机科学与技术专业.有多年的嵌入式开发.系统运维经验,现就职于四三九九网络股份有限公 ...

  6. 电商用户行为分析大数据平台相关系列1-环境介绍

    最近在自学Spark,看了一些书籍和视频,总是感觉无从下手.拿着一个想法总是无从下手.追其原因,主要是没有系统的学习和使用.对于IT,一切新技术都需要不断实践.不断动手.本着动手的原则,本人通过各种渠 ...

  7. 大数据平台CDH的介绍和5.16/6.3版本的搭建

    以下记录和介绍为自己在测试环境中的实际操作,因为很详细,所以篇幅较长,作为自己的记录文档,同时也帮助初学大数据平台搭建的朋友. 目录 1. CDH介绍 Hadoop主流三大发行版本: 1.1 CDH体 ...

  8. 企业级大数据平台应用场景介绍

    从业务的角度看,企业级大数据平台功能可细分为查询检索.数据挖掘.统计分析.深度分析,其中深度分析分为机器学习和神经网络. 从技术的角度看,企业级大数据平台功能细分为Batch.SQL.流式处理.mac ...

  9. 基于Hadoop的大数据平台的整体架构介绍

    原文地址:点击打开链接 Hadoop是开源的分布式存储+分布式计算平台的框架 大数据的热度在持续的升温,继云计算之后大数据成为又一大众所追捧的新星.我们暂不去讨论大数据到底是否适用于您的组织,至少在互 ...

最新文章

  1. Java的IDEA最常用快捷键汇总+快速写出Main函数
  2. 【重磅】吴恩达宣布 Drive.ai 自动驾驶汽车服务落地 理想就这样成了现实!
  3. Vue004_条件渲染
  4. 深度学习之循环神经网络(11-a)LSTM情感分类问题代码
  5. NET快速信息化系统开发框架 V3.2 -WinForm部分全部重构为Dev风格界面
  6. NOIP2009 最优贸易
  7. 【maven】The forked VM terminated without saying properly
  8. 小程序源码 租房管理系统_租房小程序解决方案
  9. 打开计算机管理时,提示找不到Apphelp.dll
  10. 基于SSM的在线课程学习系统
  11. Linux视频编解码库,Ubuntu 18.04 FFMPEG最新版本安装总结
  12. 树莓派学习2-连接蓝牙音箱进行语音播放
  13. SQL中over用法大全
  14. 游戏支付接口平台如何选择
  15. 惊心动魄修复U盘【另附U盘量产工具】(显示文件格式为RAW 需要格式化)
  16. RO、RW和ZI的区别
  17. c# 使用System.Media.SoundPlayer播放wav格式的声音文件
  18. 锁定计算机小键盘,笔记本电脑数字键盘已锁定!如何打开: 按什么键
  19. 初识BashBunny
  20. 银行卡休眠状态怎么激活

热门文章

  1. 清除浏览器缓存的所有方法
  2. 强化学习在电商环境下的若干应用与研究
  3. 离线部署python包步骤
  4. null == undefined
  5. android 渠道包测试,Android快速批量多渠道包的“蛋生”
  6. 安卓学习笔记——关于短信的屏蔽
  7. netty系列之:NIO和netty详解
  8. java期末一般考什么内容_java期末考的大题都在这
  9. 下拉的DIV+CSS+JS二级树型菜单,刷新无影响
  10. 74HCD164实现四位共阳数码管的动态扫描与六个按键实现继电器的通断程序