导图社区 Greenplum架构
Greenplum架构:包含GPDB有完善的生态系统,可以与很多企业级产品集成,譬如SAS,Cognos,Informatic,Tableau 等;也可以很多种开源软件集成,譬如Pentaho,Talend 等
Linux-基础知识体系:包含计算机硬件软件体系 1.1冯·诺依曼体系结构冯·诺依曼体系结构关键结... 视窗界面良好的Linux系统,一些主流的软件都支持Ubuntu系统,logo如下: 扩展:系统软件等等
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
Greenplum
1.简介
1.1 起源和发展历程
1.2 OLTP与OLAP
OLTP
On-Line Transaction Procession,联机事务处理,面向前台应用,重吞吐和高并发
数据在系统中产生
基于交易的处理系统
每次交易牵涉的数据量很小
对响应的时间要求非常高
用户数量非常庞大
数据库的各种操作主要基于索引进行
OLAP
On-Line Anglytical Processing,联机分析处理,是基于数据仓库的信息分析处理过程,是数据仓库的用户接口部分
本身不生产数据,其基础数据来源于生产系统中的操作数据
基于查询的分析系统
复杂查询经常使用多表连结、全表扫描等,牵扯的数据量往往十分庞大
响应时间与具体查询有很大关系
用户量相对较少,其用户主要是业务人员和管理人员
数据库的各种操作不能完全基于索引进行
1.3 PostgreSQL与Greenplum的关系
1.3.1 PostgreSQL
PostgreSQL是一种非常先进的对象-关系型数据库管理系统
(1)函数/存储过程
内置plpgsql,一种类似于Oracle的PLsql语言
支持的脚本语言有:PL/Lua、PL/LOLCODE、PL/Perl、PL/HP、PL/Python、PL/Ruby、PL/sh、PL/Tcl和PL/Scheme
编译语言有C、C++和JAVA
统计语言有PL/R
(2)索引
内置了B-tree、哈希和GiST索引
可以从后向前扫描
可以创建表达式索引
部分索引
(3)触发器
完全支持触发器,可以附着在表上,但是不能在视图上。不过视图可以有规则。触发器按照字母排序,可以用其他过程语言书写触发器函数,不仅PL/PgSQL
(4)并发管理(MVCC)
Lock Free给予每个用户一个自己的“时空”,然后通过原子的“时空”控制来控制时间基线,并以此控制并发更改的可见区域,从而实现无锁的并发,而同时还能在很大程度上保证数据库的ACID特性
(5) 规则
规则允许我们对由一个查询生成的查询树进行改写
(6)数据类型
任意精度的数值类型
无限长度的文本类型
几何原语
IPv4和IPv6类型
CIDR块和MAC地址
数组
用户还可以创建自己的类型,并且可以利用GiST框架把这些类型做成完全可索引的
(7)用户定义对象
因为PostgreSQL使用一种基于系统表的可扩展的结构设计,所以PostgreSQL内部的几乎所有对象都可以由用户定义,这些对象包括:索引操作符聚集函数域类型转换编码转换
(8)继承
PostgreSQL的表是可以互相继承的。一个表可以有父表,父表的结构变化会导致子表的结构变化,而对子表的插入和数据更新等也会反映到父表中
(9)其他特性与扩展
二进制和文本大对象存储
在线备份
TOAST 用于透明地在独立的地方保存大的数据库属性,当数据超过一定大小的时候,会自动进行压缩节省空间
正则表达式
Slony-I 数据同步
pgcluster
Mammoth replicator
Bucardo
1.3.2 Greenplum
Greenplum是面向数据仓库应用的关系型数据库
1.4 Greenplum特性及应用场景
1.4.1 特性
(1)支持海量数据存储和处理
(2)高性价比
(3)支持Just In Time BI
(4)系统易用性
支持主流的SQL语法
扩展性好,支持多语言的自定义函数和自定义类型
提供大量的维护工具
丰富的PostgreSQL资源供用户参考
(5)支持线性扩展
(6)较好的并发支持及高可用性支持
(7)支持MapReduce
(8)数据库内部压缩
1.4.2 应用场景
Greenplum数据引擎是为新一代数据库仓库和大规模分析处理而建立的软件解决方案
2.Greenplum架构
总览
Master
(1)建立与客户端的连接和管理
(2)SQL的解析并形成分布式的执行计划
(3)将生成好的执行计划分发到每个Segment上执行
(4)收集Segment的执行结果
(5)Master不存储业务数据,只存储数据字典
(6)Master主机可以一主一备,分布在两台机器上
(7)为了提高性能,Master最好单独占用一台机器
Segment
(1)业务数据的存储和存取
(2)执行由Master分发的SQL语句
(3)对于Master来说,每个Segment都是对等的,负责对应数据的存储和计算
(4)每一台机器上可以配置一到多个Segment
(5)由于每个Segment都是对等的,建议采用相同的机器配置
(6)Segment分Primary和mirror两种,一般交错地存放在子节点上
Interconnect
Interconect是Greenplum数据库架构中的网络层
Interconnect指的是Segment之间的进程间通信以及这种通信所依赖的网络基础设施