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

Greenplum-概念篇的更多相关文章

  1. 【转】android 电容屏(二):驱动调试之基本概念篇

    关键词:android  电容屏 tp 工作队列 中断 多点触摸协议平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsung ...

  2. 我的TDD实践---TDD概念篇

    “我的TDD实践”系列之TDD概念篇 写在前面: 我的TDD实践这几篇文章主要是围绕测试驱动开发所展开的,其中涵盖了一小部分测试理论,更多的则是关注工具的使用及环境的搭建,做到简单实践先行,后理论专精 ...

  3. DNA拷贝数变异CNV检测——基础概念篇

    DNA拷贝数变异CNV检测——基础概念篇   一.CNV 简介 拷贝数异常(copy number variations, CNVs)是属于基因组结构变异(structural variation), ...

  4. 【黑金原创教程】 FPGA那些事儿《概念篇》

    简介一本讲述非软硬片上系统的书,另外还是低级建模的使用手册. 目录[黑金原创教程] FPGA那些事儿<概念篇>:File01 - 结构的玩笑[黑金原创教程] FPGA那些事儿<概念篇 ...

  5. 常见面试题整理--Python概念篇

    希望此文可以长期更新并作为一篇Python的面试宝典.每一道题目都附有详细解答,以及更加详细的回答链接.此篇是概念篇,下一篇会更新面试题代码篇. (一).这两个参数是什么意思:*args,**kwar ...

  6. Linux Capabilities 入门教程:概念篇

    原文链接:Linux Capabilities 入门教程:概念篇 Linux 是一种安全的操作系统,它把所有的系统权限都赋予了一个单一的 root 用户,只给普通用户保留有限的权限.root 用户拥有 ...

  7. 【转帖】H5 手机 App 开发入门:概念篇

    H5 手机 App 开发入门:概念篇 http://www.ruanyifeng.com/blog/2019/12/hybrid-app-concepts.html 作者: 阮一峰 日期: 2019年 ...

  8. 鸿蒙内核源码分析(文件概念篇) | 为什么说一切皆是文件 | 百篇博客分析OpenHarmony源码 | v62.01

    百篇博客系列篇.本篇为: v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一切皆是文件 | 51.c.h.o 本篇开始说文件系统,它是内核五大模块之一,甚至有Linux的设计哲学是" ...

  9. 鸿蒙内核源码分析(中断概念篇) | 海公公的日常工作 | 百篇博客分析OpenHarmony源码 | v43.02

    百篇博客系列篇.本篇为: v43.xx 鸿蒙内核源码分析(中断概念篇) | 海公公的日常工作 | 51.c.h .o 硬件架构相关篇为: v22.xx 鸿蒙内核源码分析(汇编基础篇) | CPU在哪里 ...

  10. 鸿蒙内核源码分析(进程概念篇) | 进程在管理哪些资源 | 百篇博客分析OpenHarmony源码 | v24.01

    百篇博客系列篇.本篇为: v24.xx 鸿蒙内核源码分析(进程概念篇) | 进程在管理哪些资源 | 51.c.h .o 进程管理相关篇为: v02.xx 鸿蒙内核源码分析(进程管理篇) | 谁在管理内 ...

随机推荐

  1. sql一个表中的数据插入到另外一个表中

    声名:a,b ,都是表 复制代码代码如下: --b表存在(两表结构一样)  insert into b select * from a  若两表只是有部分(字段)相同,则 复制代码代码如下: inse ...

  2. SSH整合

    首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框 ...

  3. javascript中的原型和继承

    javascript一直是初学者口中的难点,甚至一些有些许工作经验的人也不太明白其中的原理,而我就是那个初学者,前段时间在阮一峰老师的博客上看了一篇文章<javascript继承机制的设计思想& ...

  4. docker学习(7) docker-compose使用示例

    上一回学习了如何利用docker搭建一个mysql + java service + nginx,总共4个docker容器,如果采用docker run的方式一个一个容器去创建十分麻烦.为了能更高效的 ...

  5. [LeetCode] Third Maximum Number 第三大的数

    Given a non-empty array of integers, return the third maximum number in this array. If it does not e ...

  6. [LeetCode] Contains Duplicate II 包含重复值之二

    Given an array of integers and an integer k, return true if and only if there are two distinct indic ...

  7. 如何在ASP.NET Core中实现CORS跨域

    注:下载本文的完整代码示例请访问 > How to enable CORS(Cross-origin resource sharing) in ASP.NET Core 如何在ASP.NET C ...

  8. python获取父类的子类(遍历,递归),并循环执行所有子类的某一方法

    前言 换了新工作,踏足于python语言的开发,也把自己的学习过程记录下来. 一,递归获取某一父类的所有子类 all_subclasses = {'0': '0'} def get_all_class ...

  9. BAS/BRAS/RADIUS简介

    标签: java radius协议   linux radius认证服务器   转自: http://blog.csdn.net/sun93732/article/details/5999274 由R ...

  10. 字节、字、bit、byte的关系

    字 word 字节 byte 位 bit 字长是指字的长度 1字=2字节(1 word = 2 byte) 1字节=8位(1 byte = 8bit)  一个字的字长为16 一个字节的字长是8 bps ...