GreenPlum 大数据平台

一,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完成。