文档章节

GreenPlum 使用

弘_轩
 弘_轩
发布于 2017/01/10 16:52
字数 1310
阅读 328
收藏 2

GreenPlum简介

GP是一个关系型数据库集群,由数个独立的数据库服务组合成的逻辑数据库,采用Shared-Nothing架构,整个集群由很多个数据节点(Segment Host)和控制节点(Master Host)组成,其中每个数据节点上可以运行多个数据库。简单来说,Shared-Nothing是一个分布式的架构,每个节点相对独立。在典型的Shared-Nothing中,每一个节点上所有的资源(CPU,内存,磁盘)都是独立的,每个节点都只有全部数据的一部分,也只能使用本节点的资源。

基于对Shared-Nothing分布式架构模式的分析,Greenplum高效处理I/O数据吞吐和并发计算的过程就很好理解了。在Greenplum中,需要存储的数据在进入数据库时,将先进行数据分布的处理工作,将一个表中的数据平均分布到每个节点上,并为每个表指定一个分发列(distribute Column),之后便根据Hash来分布数据。基于Shared-Nothing的原则,Greenplum这样处理可以充分发挥每个节点处I/O的处理能力。在这一过程中,控制节点(Master Host)将不再承担计算任务,而只负责必要的逻辑控制和客户端交互。I/O瓶颈的解决为并行计算能力的提升创造了良好的环境,所有节点服务器组成一个强大的计算平台,实现快速的海量并行运算。Greenplum在数据仓库、商业智能的应用上,尤其是在海量数据的处理方面性能极其优异。
Greenplum是面向数据仓库应用的关系型数据库,它是基于目前流行的PosgreSQL开发的,跟PostgreSQL的兼容性非常好,大部分的PostgreSQL客户端工具及PostgreSQL应用都能运行在Greenplum平台上。
 

  1. 一种重计算,对大数据集进行统计分析的OLAP型
  2. 经常用到多表联合,聚合,全表扫描,涉及数据量比较庞大;
  3. 响应的时间和具体查询关系大,重复查询速度快
  4. 相比其他封闭式数据仓库专用系统及Hadoop分析平台,Greenplum在每TB数据量上的投资是前者的1/5甚至更低
  5. Greenplum通过准实时、实时的数据加载方式,实现数据仓库的实时更新,进而实现动态数据仓库(ADW)。基于动态数据仓库,业务用户能对当前业务数据进行BI实时分析
  6. Greenplum是基于PostgreSQL开发的,语法与PostgreSQL几乎一样,PostgreSQL的工具基本上都能够在Greenplum中使用,比如pgadmin等。Greenplum使用通用的PostgreSQL连接包即可与数据库连接,支持绝大部分开发语言。
  7. Greenplum是基于PostgreSQL开发的,语法与PostgreSQL几乎一样,PostgreSQL的工具基本上都能够在Greenplum中使用,比如pgadmin等。Greenplum使用通用的PostgreSQL连接包即可与数据库连接,支持绝大部分开发语言。
  8. 较好的并发支持及高可用性支持,除了硬件级的Raid技术外,Greenplum还提供数据库层Mirror机制保护,也就是将每个节点的数据在另外的节点中同步镜像,单个节点的错误不影响整个系统的使用。对于主节点,Greenplum提供Master/Stand by机制进行主节点容错,当主节点发生错误时,可以切换到Stand by节点继续服务。
  9. 支持MapReduce
  10. 数据库内部压缩.支持对数据库表进行压缩处理,从而提升数据库的性能。

 

与普通的PostgreSQL数据库的最大不同就是,Greenplum是分布式数据库,所有的数据都切分在Semgment上

 

Greenplum架构

 

 

Master 和Segment对比
Master                     Segment
  1. 建立和客户端的会话连接和管理
  2. SQL的解析并形成分布式的执行计划
  3. 将生成好的执行计划分发到每个Segment上执行
  4. 收集Segment的执行结果
  5. Master不存储业务数据,只存储数据字典
  6. Master主机可以一主一备,分布在两台机子上
  7. 为了提高性能,Master最好单独占用一台机子
  1. 业务数据的存储和存取
  2. 执行由Master发布的SQL语句
  3. 对于Master来说,每个Segment都是对等的,负责对应数据的存储和计算
  4. 每台机子可以配置一到多个Segment
  5. 由于每个Segment都是对等的,建议采用相同的机器配置
  6. Segment分primary和mirror两种,一般交错的存放在子节点上

Greenplum日常操作

  • 建表:
create table {table_name} ( {sql1} ) distributed  by ( {uniq_key_str} )
PARTITION BY RANGE (D_DATE) 
( PARTITION year2016mth START('2016-01-01'::date) END ('2016-12-31'::date)
EVERY ('1 mon'::interval));

uniq_key_str一般为主键如:date1,date2

分区表:按月创建12个分区表

  • 增加分区
alter table {table_name} add partition year2017mth_1 
START('2017-01-01'::date) END ('2017-02-01'::date)

增加2017年1月的分区表

  • 删除分区
#查看所有分区
select partitionname from pg_partitions where tablename='url_table';

#删除分区year2017mth_1
ALTER TABLE "url_table" DROP PARTITION "year2017mth_1";

 

  • 导入csv文件
\copy url_table from '/opt/save_file/csv_file/url/20170102.csv' delimiter ',' csv header;

 

© 著作权归作者所有

上一篇: scrapy使用
下一篇: cdh6安装
弘_轩
粉丝 5
博文 16
码字总数 10368
作品 0
福州
高级程序员
私信 提问
【干货】在docker中安装配置Greenplum集群的过程

—— 原文发布于本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),欢迎关注。 Greenplum是一个MPP(海量并行处理)计算框架的分布式数据库,其数据库引擎层是基于著名的Postgresq...

雪饼
2018/01/12
2.6K
7
greenplum维护中的一些技巧

1.如果能用greenplum3.3.X,就不要使用greenplum4.X。 原因: a. greenplum4.x看起当primary节点出现问题时,可以切换到mirror节点,继续提供服务,当mirror节点恢复后,可以做增量同步。增量...

supersyd
2017/06/27
0
0
Pivotal Greenplum 5.13、4.3.30.3、0.6.0 发布

11月初,Pivotal 对旗下的 Greenplum 产品线进行了多版本更新,修复了一些已知 bug,让软件使用更顺畅。 新发布的版本分别为(点击链接查看release note): 基于开源版本的 5.x 版本更新:P...

闻术苑
2018/11/11
1K
1
如何将一个大规模并行的PostgreSQL数据库移植到Kubernetes上?

作者简介 Oz Basarir,Pivotal技术产品经理 译者简介 李伦,中兴通讯上海研发中心虚拟化架构师 校对者简介 朱君鹏,华东师范大学博士研究生,个人兴趣主要集中在:新型硬件(GPU、RDMA、FPG...

PostgreSQL中文社区
05/06
0
0
Installation GreenPlum 5.14.0 on Oracle Linux 7.6

Greenplum主要由Master节点、Segment节点、interconnect三大部分组成。Greenplum master是Greenplum数据库系统的入口,接受客户端连接及提交的SQL语句,将工作负载分发给其它数据库实例(seg...

candon123
2018/12/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
2.4K
15
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
41
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
40
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
61
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
21
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部