Greenplum-概念篇

 

Greenplum主要组件包括:Master、Segments、Interconnect;其他组件包括ETL Server、Greenplum command center等。

0. 组件之-Master:
master功能
master也是一个gp的独立的数据库,是gp的入口,负责接受和管理客户端的连接请求,并处理用户SQL语句语句,可以通过psql或者odbc等连接工具来连接pg数据库。包含了一个称作system catalog的自描述的信息内容,类似于oracle的数据字典,但是不包含任何用户数据,master节点验证客户端的连接、处理用户提交的SQL语句、在seg节点之间调节工作负载、整合从各个seg节点执行后返回的数据结果并返回给用户。

master redundancy
如上所述master承担着重要的功能,因此有必要对它做冗余,可以采用独立主机也可以采用其中的某个seg节点来搭建standby master,standby处于热备状态,通过日志传输进程transaction log replication来见master的system catalog变化信息复制传输应用到standby master上,如果master节点失败,那么日志传输进程将停止,这个时候可以激活standby master变成master,当master恢复之后,日志传输进程将自动同步system catalog内容回去到master

1. 组件之-Segments
segments功能
seg是gp系统中实际承担数据存储和存取的节点,每个seg节点只存储表或者索引的部分数据,SQL语句并不是在master节点上执行,而是在seg节点上执行并生成结果的,但是用户并不会直接接触到seg节点,这一过程是由master来协调完成的。根据主机cpu的配置情况,通过测试来获得每个seg主机最佳的seg实例数量。

segments redundancy
seg也可以配置冗余,seg的冗余不能配置在本主机上,当seg失败的时候,冗余节点将承担起相应的功能角色。
只要失败的seg节点的冗余节点还存活,gp就可以继续在线运行,当master无法连接到seg的时候,它会将seg节点在数据字典中标记为不可用并从系统中剔除,并在处理失败的seg并重新启动之后,自动在线恢复,恢复的数据仅仅包含从失败之后的内容。如果没有配置冗余的seg,当某个seg失败的时候整个gp将崩溃失败并关闭,这个情况下需要修复失败的seg节点之后重新启动gp。

2. 组件之-Interconnect
是gp的网络层,通常使用千兆网络连接,在各个节点直接通信和传输信息;默认情况下使用UDP协议传输;可以配置冗余实现高可用性。

3. 组件之ETL Server
常规的txt和csv文件可以通过gpfdist这程序来作为文件服务程序,以便gp连接这些外部文件创建外部表并导入到数据库。

4. 组件之Greenplum command center
通过在每个seg上部署agent来监控整个系统情况,可以给予命令行查询和web界面展示方式查看系统情况。

疑问:
master和segs的判断fail机制是什么?
redundancy判断fail机制是什么?失败恢复之后,standby的角色是否会变回去?
seg判断fail机制是什么?数据传输复制机制?角色是否转变?
gp的性能受限于性能最差的seg节点吗?

interconnect网卡冗余配置最佳实践是什么?多个实例和多个网卡的配置情况?

master的redundancy之间、seg的redundancy之间以及master和seg之间的平台异构?

-EOF-

摘自http://blog.csdn.net/gtlions/article/details/8752200

posted @ 2014-07-01 11:16  孤叶情枫  阅读(1120)  评论(0编辑  收藏  举报