zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Go语言基础--1.1 变量的声明
    基本语法
    弹性盒子修改
    弹性盒子内容
    弹性盒子
    响应式列重置
    栅格系统
    布局容器
    额外按钮
    可消失的弹出框
  • 原文地址:https://www.cnblogs.com/zhuangjb/p/3817928.html
Copyright © 2011-2022 走看看