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. Java基础知识笔记(八:集合类)

    目录 1  集合类简介  2  List介绍及简单使用 2.1  LinkedList介绍及简单使用 2.2  ArrayList介绍及简单使用 2.3  Vector介绍及简单使用 2.3.1  S ...

  2. Ubuntu 一直掉线 以及连不上网 解决办法

    新装了一个Ubuntu 系统16.04才使用的时候一切顺利 但是过了两三天  就会出现 频繁掉线的情况 于是上网找大神们的解决办法 把文件 /etc/ppp/options 里面的一个数值改大一点 l ...

  3. plain framework 商业版 开发总结1 updated

    每天对着不同的计划,多多少少有一种无形的压力.特别是对技术不好的我来说,过程中遇到的问题实在不少,时常纠结良久.时间慢慢流逝,最后虽然感觉有些不足,但是也不至于差强人意.商业版的PF核心已经升级到1. ...

  4. 树上启发式合并 (dsu on tree)

    这个故事告诉我们,在做一个辣鸡出题人的比赛之前,最好先看看他发明了什么新姿势= =居然直接出了道裸题 参考链接: http://codeforces.com/blog/entry/44351(原文) ...

  5. Combinations

    Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For exampl ...

  6. 【Git】关于VSCode 内置Git问题

    VSCode的内置git是自动关联本机git的, 所以当提交代码时,VSCode提示[警告:请配置git用户名和账户]时, 只需要在git bash 端配置git config --gobal use ...

  7. __new__静态方法

    __new__静态方法 新式类都有一个__new__的静态方法,它的原型是object.__new__(cls[, ...]) cls是一个类对象,当你调用C(*args, **kargs)来创建一个 ...

  8. ActiveMQ与spring集成实现Queue模式

    ActiveMQ可以和spring很好的集成,下面我们来看看,如何做个集成的demo. (1)pom.xml引入相关jar <!-- spring相关 begin --> <depe ...

  9. [node.js 学习]1.start a simple server

    1.启动一个本地的服务 下面是官方的例子,会生成一个随机端口,返回的是纯文本: var net = require('net'); var server = net.createServer((soc ...

  10. C#面向对象设计模式纵横谈——4.Builder 生成器模式(创建型模式)

    动机 (Motivation) 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成:由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是它们组合 ...