公司动态

Greenplum数据库简述

发布日期: [2016-12-21]

什么是Greenplum?

Greenplum于2003年诞生于硅谷的一家软件公司,2010年7月EMC收购了Greenplum,并加以大力发展。它的架构采用了MPP(大规模并行处理)系统,能够实现每个SMP节点单独运行自己的操作系统、数据库等。简单来说,就是每个节点服务器内的CPU不能访问其他节点服务器的内存。各节点服务器之间的信息交互是通过Greenplum数据库网络层(Networking Layer)实现的,我们通常将这个过程称之为数据重分配(Data Redistribution)。与传统的SMP架构明显不同,MPP系统因为要在不同处理单元之间传送信息,所以它的效率要比SMP要差一点,但是这也不是绝对的,因为 MPP系统不共享资源,因此对它而言,资源比SMP要多,当需要处理的事务达到一定规模时,MPP的效率要比SMP好。这就是看通信时间占用计算时间的比例而定,如果通信时间比较多,那MPP系统就不占优势了,相反,如果通信时间比较少,那MPP系统可以充分发挥资源的优势,达到高效率。

它的组件分成三个部分MASTER/SEGMENT以及MASTER与SEGMENT之间的高效互联技术GNET。其中MASTER和SEGMENT本身就是独立的数据库SERVER。不同之处在于,MASTER只负责应用的连接,生成并拆分执行计划,把执行计划分配给SEGMENT节点,以及返回最终结果给应用,它只存储一些数据库的元数据,不负责运算,因此不会成为系统性能的瓶颈。这也是Greenplum与传统MPP架构数据库的一个重要区别。 SEGMENT节点存储用户的业务数据,并根据得到执行计划,负责处理业务数据。也就是用户关系表的数据会打散分布到每个SEGMENGT节点。当进行数据访问时,首先所有SEGMENT并行处理与自己有关的数据,如果需要segment可以通过进行innterconnect进行彼此的数据交互。 segment节点越多,数据就会打的越散,处理速度就越快。因此与SHARE ALL数据库集群不同,通过增加SEGMENT节点服务器的数量,Greenplum的性能会成线性增长。

Greenplum使用场景。

Greenplum虽然是关系型数据库产品,它的特点主要就是查询速度快,数据装载速度快,批量DML处理快。在性能方面,Greenplum可以随着硬件的配置的提升,呈线性增加,具有很好的可扩展性。因此,它主要适用于面向分析的应用。比如构建企业级ODS/EDW,或者数据集群等等。

Greenplum的运行环境。

Greenplum运行在X86架构的硬件平台上,目前支持的操作系统包括32/64位的 Linux(REDHAT/SUSE)/SOLARIS/MAC OS,处理器最低要求:奔腾 Pro(P3 /速龙及以上),最小内存:16GB。

Greenplum的学习途径。

我相信在你看这篇文章之前,你一定已经掌握了Linux / Unix系统管理,数据库管理系统,数据库管理和结构化查询语言(SQL)等知识。那么,只要有其它关系型数据库的基础,尤其是POSTGRESQL或者INFORMIX基础的(因为GREENPLUM是在POSTGRESQL基础上开发出来的),很容就可以上手学习并掌握GREENPLUM。

Greenplum的手册写的非常好,完全可以作为入门的教材使用。与Oracle不同,Greenplum软件本身也是开源的,可以进行免费下载学习和使用。

附: 使用文档和手册下载地址