微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Greenplum简介

Greenplum: http://greenplum.org/
原来是个商业产品,后来开源。

从Slogan看:

  • 是个数据库
  • 着眼于数据仓库
  • 主要在于大规模并行

基于强大的PostgreSQL,Postgesql提供了诸如表空间、外部表等功能支持丰富的数据类型(包含key-value,JSON,XML,GIS,甚至支持各种集合图形的表示)。其中的FDW外部表是一个非常强大的功能,可以直接将外部文件、HBase或者其他Postgresql实例的数据当做一张表。另外对函数支持也很强大,除了PL/sql外,还支持JS、Python等语言编写的函数。在sql语法上也提供了诸多令人欣喜的小特性,比如插入、删除、或者更新操作的时候都可以使用returning直接返回相应的记录。

在Postgresql基础上,Greenplum增加了许多面向数据仓库的特性:

  • 大规模并行处理架构(Massively Parallel Processing Architecure,MPP
  • PB级别的数据导入(基于MPP技术)
  • 创新性的查询优化(业界第一个cost-based的查询优化器)
  • 多泛型的存储和计算
  • 机器学习支持(基于Apache MADLIB,用户自定义函数

Greenplum架构:

  • Greenplum Master:
    数据库入口,接受客户端连接和SQL查询,分发任务给Segment实例。用户与Greenplum(通过Master Host),就像与Postgresql交互一样,通过psql之类的工具或者JDBC或者ODBC等API。global system catelog位于Master上,它包含存放系统元数据的一系列表。Master不存放任何数据,数据只存在于Segment Host中,Master授权客户端连接,处理查询sql,分发任务给Segment,组合结果并返回给客户端。

  • Greenplum Segment:
    Segment实例是独立的Postgresql实例,存放数据并执行主要的查询处理。数据分布在各个Segment中,每个实例包含一部分数据(portion)。一个Segment Host可以运行多个Segment实例,取决于内核数量以及RAM等。

  • Greenplum Interconnect:
    Interconnecte是Greenplum架构中的网络层,一般指各Segment之间的进程间通信(IPC)和物理网络设施,即标准的10G以太网交换机,即万兆以太网交换机。interconnect使用UDP协议进行通信,但是Greenplum会对数据包进行校验,因此可靠性等同于TCP,但是性能上会更好。如果使用TCP,那么Segment的实例不能超过1000,使用UDP则没有这个限制。

  • Pivotal Query Optimizer:
    Greenplum提供的查询优化器跟一般优化器在以下三方面存在区别:

  • 模块化:不是内置于RDBMS.
  • 可扩展:优化器由独立组件组合,容易被替换。
  • 性能: 基于multi-core scheduler,能够对所有可能性进行优化。

一个很好的tutorial
http://greenplum.org/gpdb-sandbox-tutorials/ 基于Greenplum提供的虚拟机(sandBox),涵盖用户、建表、导数据、查询、数据分析等内容

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐