Greenplum数据库是在postgreSQL开发出来的,基于MPP(massively parallel processing)和shared-Nothing架构(Oracle RAC是shared everything架构)。
主要用在数据仓库中,做大规模数据和复杂的查询功能所涉及。
与现有的数据仓库解决方案(Oracle、IBM、Microsoft、Sybase和Teradata)相比有他自己的特点:
1.速度更快 2.支持数据量更大,扩展性较好 3.价格更低
缺点:
1、对局域网带宽要求很高,一般都是千兆交换机。
2、不支持在线扩容,扩容的话至少要增加2台以上的机器。后若不是成2倍扩展,需要重新平均分布所有数据。
Master节点主要作用:
接收客户端的连接、处理SQL命令、调配各segment节点间工作负载、协调各segment节点返回结果并把最终的结果返回给用户。
所有数据库的元数据都保存在Master节点,并不保存用户数据。各segment数据要做交换的是不经过master的。
Segment节点主要作用:
数据存储、 处理大多数的查询请求。
表和索引被分布在GP数据库的可用segment节点中,每个segment包含部分且唯一的数据。用户不能直接和segment节点做交互,都是要先通过master节点。
Interconnect网络连接层作用:
负责各segment节点进程通信,使用标准的千兆交换机。
数据传输缺省使用UDP协议。使用UPD时,GP会做额外数据包校验和对未执行的也会做检查。故在可靠性上,基本和TCP上是等价的,在性能和扩展性上,却优于TCP。
使用TCP的话,GP有1000个segment的限制,UDP则没有。