GP数据库-Creenplum
GP数据库与Oracle数据库区别为:侧重不同、数据库类型不同、查询不同。
⼀、侧重不同
1、GP数据库:GP数据库重计算的,对⼤数据集进⾏统计分析的OLAP类型。
2、Oracle数据库:Oracle数据库⾯向前台应⽤,重吞吐和⾼并发的OLTP类型。
⼆、数据库类型不同
1、GP数据库:GP数据库的数据库类型为分布式数据库。
2、Oracle数据库:Oracle数据库的数据库类型为传统关系型数据库。
三、查询不同
1、GP数据库:GP数据库⽀持海量数据存储,⽀持列的扩展,查询速度快,但是查询操作较复杂。
2、Oracle数据库:Oracle数据库虽然可以搭建集,但是当数据量达到⼀定限度之后,查询处理速度会变得很慢,且对机器性能要求很⾼。
GP数据库是业界最快最⾼性价⽐的关系型分布式数据库,它在开源的PostgreSQL的基础上采⽤MPP架构(Massive Parallel Processing,海量并⾏处理),具有强⼤的⼤规模数据分析任务处理能⼒,其主要关注在数据仓库和商业智能⽅⾯。
分布式数据库系统通常使⽤较⼩的计算机系统,每台计算机可单独放在⼀个地⽅,每台计算机中都可能有DBMS的⼀份完整拷贝副本,或者部分拷贝副本,并具有⾃⼰局部的数据库,位于不同地点的许多计算机通过⽹络互相连接,共同组成⼀个完整的、全局的逻辑上集中、物理上分布的⼤型数据库。
GP数据库特点:
常见mpp数据库
Greenplum架构
数据库由Master Severs和Segment Severs通过Interconnect互联组成。
Master Severs:Greenplum数据库系统的⼊⼝。建⽴与客户端的连接和管理;SQL的解析并形成执⾏计划(explain);执⾏计划将⼯作负载分发给其它数据库实例(segment实例),由它们存储和处理
数据 。通常有primary Master和standby master两者之间通过同步进程,standby master保持与primary master中的数据⼀致。当primary Master出故障时热备份,standby master担任全部⼯作。Greenplum interconnect负责不同PostgreSQL实例之间的通信,⽀持TCP UDP。Greenplum segment是独⽴的PostgreSQL数据库,每个segment存储⼀部分数据。⼤部分查询处理都由segment完成,⽤户不能直接存取访问。
由于GP数据库中存放数据是多个独⽴的Greenplum segment,那数据怎么分配到对应的Greenplum segment上呢?主要使⽤分布和分区。
分布:是从物理上把数据分散到各个SEGMENT上,Greennplum提供两种分布策略:
hash分布和随机分布。
1. Hash分布。指定⼀个和多个分布键,计算hash值,并且通过hash值路由到特定的Segment节点上,语法为Distributed by(…)。如
果不指定分布键,默认将表中第⼀个字段作为分布键。
2. 随机分布,也叫平均分布。数据随机分散在每⼀个节点中,这样⽆论数据是什么内容,都可
以平均分布在每个节点。语法为在表字段定义的后⾯加上Distributed randomly。
注:
1.采⽤随机分布策略的表默认将主键或唯⼀键作为分布键,如果指定的分布键与主键不⼀样,那么分布键会被更改为主键。
2.gp的分布键主要功能就是为了避免数据倾斜
分区:
segment内部按照规则将数据组织在⼀起,有助于提⾼数据查询性能,利于数据仓库的维护⼯作。删除分区会删除分区下的所有数据。分区后会产⽣主表和分区表.
主表:包含所有数据的表
分区表:⼀部分数据的表
Greenplum数据库⽀持:1.范围分区:基于⼀个数字型范围划分数据,例如按照⽇期或价格划分。2.列
表分区:基于⼀个值列表划分数据,例如按照销售范围或产品线划分。3.两种类型的组合。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。