新时代的分析型云数据库 greenplum

35
1 新时代的数据库 新时代的数据库 新时代的数据库 新时代的数据库 -- -- -- --分析型云 分析型云 分析型云 分析型云数据 数据 数据 数据库

Upload: -

Post on 21-Jan-2015

990 views

Category:

Sports


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 新时代的分析型云数据库 Greenplum

1

新时代的数据库新时代的数据库新时代的数据库新时代的数据库--------分析型云分析型云分析型云分析型云数据数据数据数据库库库库

Page 2: 新时代的分析型云数据库 Greenplum

Greenplum 基本架构

大大大大规规规规模并行模并行模并行模并行处处处处理理理理MPP (Massively Parallel Processing) 无共享架无共享架无共享架无共享架构构构构 Shared-Nothing Architecture

NetworkInterconnect

... ...

......Master

节节节节点点点点

生成查询计划并派发

汇总执行结果

Segment

节节节节点点点点

执行查询计划及数据存储管理

SQL

MapReduce

SQL

MapReduce

外部数据源外部数据源外部数据源外部数据源

并行装载或导出

Page 3: 新时代的分析型云数据库 Greenplum

3

Google 文件系统架构与Greenplum 数据库对比

GreenplumGreenplum

Master HostMaster Host

Interconnect—

交换机

Segment HostSegment Host

Segment HostSegment Host

Segment HostSegment Host

Segment HostSegment Host

Master HostMaster Host

ClientLANLAN

Page 4: 新时代的分析型云数据库 Greenplum

Greenplum – 云计算模式的新方案

•普通服务器平台普通服务器平台普通服务器平台普通服务器平台((((服务器服务器服务器服务器、、、、网络网络网络网络))))•通过软件提升处理能力通过软件提升处理能力通过软件提升处理能力通过软件提升处理能力

Greenplum

• “黑盒子黑盒子黑盒子黑盒子”• “大铁箱大铁箱大铁箱大铁箱”• 大磁盘阵列大磁盘阵列大磁盘阵列大磁盘阵列

过去去去去Google 曾曾曾曾经用来实现信息搜索搜索搜索搜索功能的技术,现在被被被被Greenplum用于数据管理领域

现在的解决方案现在的解决方案现在的解决方案现在的解决方案

4

Page 5: 新时代的分析型云数据库 Greenplum

MPP/无共享架构的优势

8/24/2010 5

Interconnect

Loading

• 最易于扩展的架构

– 云数据库和数据分析的最佳选择

• 自动化的并行处理机制

– 内部处理自动化并行,无需人工分区或优化

– 加载与访问方式与一般数据库相同

• 数据分布在所有的并行节点上

– 每个节点只处理其中一部分数据

• 最优化的I/O处理

– 所有的节点同时进行并行处理

– 节点之间完全无共享,无I/O冲突

• 增加节点实现线性扩展

– 增加节点可线性增加存储、查询和加载性能

Page 6: 新时代的分析型云数据库 Greenplum

Greenplum数据库内部架构

• Master节点负责:

– 建立与客户端的连接和管理

– SQL的解析并形成执行计划

– 执行计划向Segment的分发

– 收集Segment的执行结果

– Master不存储应用业务数据,

只存储数据字典

• Segment节点负责

– 业务数据的存储和存取

– 用户查询SQL的执行

GreenplumGreenplum

Master HostMaster Host

Interconnect—

交换机

Segment HostSegment Host

Segment HostSegment Host

Segment HostSegment Host

Segment HostSegment Host

Master HostMaster Host

ClientLANLAN

Page 7: 新时代的分析型云数据库 Greenplum

数据均匀分布- 并行处理的关键

43 Oct 20 2005 12

64 Oct 20 2005 11

45 Oct 20 2005 42

46 Oct 20 2005 64

77 Oct 20 2005 32

48 Oct 20 2005 12

OrderOrder

Ord

er #

Ord

er

Date

Cu

sto

mer

ID

50 Oct 20 2005 34

56 Oct 20 2005 21

63 Oct 20 2005 15

44 Oct 20 2005 10

53 Oct 20 2005 82

55 Oct 20 2005 55

策略策略策略策略:::: 表内数据行尽可能的均匀分布到每个节点

Page 8: 新时代的分析型云数据库 Greenplum

数据分布方法

• 哈希分布哈希分布哈希分布哈希分布

– CREATE TABLE … DISTRIBUTED BY (column [,…])

– 哈希值相同的记录在同一个Segment节点

• 随机分布随机分布随机分布随机分布

– CREATE TABLE … DISTRIBUTED RANDOMLY

– Rows with columns of the same value not necessarily on the same segment

Page 9: 新时代的分析型云数据库 Greenplum

数据分布和分区

Segment 1A Segment 1B Segment 1C Segment 1D

Segment 2A Segment 2B Segment 2C Segment 2D

Segment 3A Segment 3B Segment 3C Segment 3D

Jan 2005

Feb 2005

Mar 2005

Apr 2005

May 2005

Jun 2005

Jul 2005

Aug 2005

Sep 2005

Oct 2005

Nov 2005

Dec 2005

每每每每个分区表的数据自个分区表的数据自个分区表的数据自个分区表的数据自动动动动分布到各个分布到各个分布到各个分布到各个节节节节点点点点

表分区可表分区可表分区可表分区可减减减减少数据的搜索范少数据的搜索范少数据的搜索范少数据的搜索范围围围围,,,,

提高提高提高提高查询查询查询查询性能性能性能性能

Page 10: 新时代的分析型云数据库 Greenplum

索引、列数据库与数据压缩

•支持索引类型: – B-tree– Bitmap– R-tree– Hash– GIST

•支持按列存储数据库,及列数据库索引

•透明实时数据压缩类型:

– gzip: 1 到 9 压缩水平

– QuickLZ: 1 到 3 压缩水平

8/24/2010 10

Page 11: 新时代的分析型云数据库 Greenplum

海量并行高速处理技术

• 通用并行数据流引擎,原生支持SQL &MapReduce

• 为普通服务器、存储阵列和网络设备优

• 所有数据处理尽可能靠近数据

• 为现代多核处理器优化的全并行执行

• 基于本地DAS/SAN存储,获得高带宽,

高效I/O

计算内核

Greenplum并行数据流引擎

对本地磁盘进行直接

的高性能访问

gNet互连

Page 12: 新时代的分析型云数据库 Greenplum

GP 负载管理技术

8/24/2010 12

Page 13: 新时代的分析型云数据库 Greenplum

gNet 软件互联技术

gNet 软软软软件互件互件互件互联联联联

• 基于超级计算的“软件Switch”内部连接层

• 基于通用的gNet (GigE, 10GigE,IB) 网卡和交换机

• 在节点间传递消息和数据

• 采用高扩展协议,支持扩展到10,000个以上节点

Page 14: 新时代的分析型云数据库 Greenplum

动态在线系统扩容

Master

seg1 seg2 seg3 seg4 seg5 seg6

� 数据自动在所有节点上重新分布

� 容量和性能在扩展后线性增长

步骤1:新节点初始化加入MPP集群

步骤2:数据在所有节点上重分布

联网

Page 15: 新时代的分析型云数据库 Greenplum

Master 节点冗余镜像Master节点有热备份

• 当主用Master出故障时,热备份Master节点承担它工作

• 热备份Master节点通过复制进程,保持与Master的交易日志同步

Page 16: 新时代的分析型云数据库 Greenplum

Segment 节点冗余镜像

Page 17: 新时代的分析型云数据库 Greenplum

融合了MapReduce和SQL统一的编程和数据并行数据流引擎

Query Planner

及优化器(SQL)并行数据流引擎

交易管理器

及日志文件

ODBC

JDBC

etc

Greenplum

数据库存储外部存储

MapReduce代码

(Python、Perl等)

SQL和MapReduce程序代码基于同一个并行架构运行

Page 18: 新时代的分析型云数据库 Greenplum

SG (Scatter/Gather) 流技术(并行加载处理)

1) Scatter 阶段阶段阶段阶段

• 不需要专门的加载服务器

• 加载性能与节点数成正比

• 支持大批量及实时数据加载

• 对源系统的影响(资源消耗)非常小

1) Scatter 阶段阶段阶段阶段

• 不需要专门的加载服务器

• 加载性能与节点数成正比

• 支持大批量及实时数据加载

• 对源系统的影响(资源消耗)非常小

2) Gather 阶段阶段阶段阶段

• 在数据收集中,可以用SQL对数据进行转换

• 数据分布在每个并行节点上

• 完全并行的数据引擎保证数据吞吐的最大化

• 支持对数据进行压缩存储

2) Gather 阶段阶段阶段阶段

• 在数据收集中,可以用SQL对数据进行转换

• 数据分布在每个并行节点上

• 完全并行的数据引擎保证数据吞吐的最大化

• 支持对数据进行压缩存储

Page 19: 新时代的分析型云数据库 Greenplum

强互动的基于Web的性能监控工具

支持实时和历史视图:

•资源利用情况

•SQL运行内部情况

Dashboard

Greenplum 运行性能监控器

Page 20: 新时代的分析型云数据库 Greenplum

分析型应用体系架构

SUNHPIBM

ORACLEDB2

EMCHitachi

支持各种

数据源

抽取、转换、加载(ETL)

Informatica

DataStage

……

分析型应用

• JavaEE• .Net• SAP BO• Actuate• Oracle BIEE• Cognos• ……

Cisco

支持众多硬件平台支持ODBC/JDBC等多

种接口

支持各种

ETL工具

支持SQL直接并行访问

外部数据文件

支持外部编程直接使用SQL并行访问数据库

MySQL

Postgres

SQLServer

IBMDB2

Oracle

数据文件

Page 21: 新时代的分析型云数据库 Greenplum

Greenplum方案的优势

Greenplum 方案投资方案投资方案投资方案投资现在的解决方案投资现在的解决方案投资现在的解决方案投资现在的解决方案投资

21

Page 22: 新时代的分析型云数据库 Greenplum

无共享( Share-Nothing )等架构对比

共享磁盘例如:Informix XPSOracle RACDB2 pureScale

DB

SAN/共享磁盘

DB DBDB

网络

SAN/FC

完全共享例如:SMP服务器

DB

磁盘

无共享例如:Greenplum

DBDB DBDB

网络

磁盘 磁盘 磁盘 磁盘

Master

注:蓝灰色表示共享资源

MPP

Page 23: 新时代的分析型云数据库 Greenplum

Oracle RAC 集群数据库

集群集群集群集群

数据库服务器数据库服务器数据库服务器数据库服务器

共享磁盘共享磁盘共享磁盘共享磁盘

子系统子系统子系统子系统

高速交换机高速交换机高速交换机高速交换机

互联互联互联互联

SAN交换机交换机交换机交换机结构结构结构结构

网络网络网络网络

集中管理集中管理集中管理集中管理

控制台控制台控制台控制台

用户

低延迟互联低延迟互联低延迟互联低延迟互联

存储区域网存储区域网存储区域网存储区域网

共享缓存共享缓存

Page 24: 新时代的分析型云数据库 Greenplum

Oracle RAC 类技术瓶颈

DisksDisks

NET

SAN

Page 25: 新时代的分析型云数据库 Greenplum

Cluster Interconnect

DB2 pureScale : 技术架构

Single Database View

Clients

Database

Log Log Log Log

Shared Storage Access

CS CS CSCS

CS CS

CS

Member Member Member Member

Primary2nd-ary

DB2 engine runs on several host computers� Co-operate with each other to provide coherent access to the

database from any member

Data sharing architecture � Shared access to database� Members write to their own logs� Logs accessible from another host (used during recovery)

PowerHA pureScale technology� Efficient global locking and buffer management� Synchronous duplexing to secondary ensures availability

Low latency, high speed interconnect� Special optimizations provide significant advantages on RDMA-

capable interconnects (eg. Infiniband)

Clients connect anywhere,…… see single database� Clients connect into any member� Automatic load balancing and client reroute may change

underlying physical member to which client is connected

Integrated cluster services� Failure detection, recovery automation, cluster file system� In partnership with STG (GPFS,RSCT) and Tivoli (SA MP)

Page 26: 新时代的分析型云数据库 Greenplum

Hadoop HDFS 架构

Page 27: 新时代的分析型云数据库 Greenplum

Hadoop MapReduce

Mapper

(intermediates)

Mapper

(intermediates)

Mapper

(intermediates)

Mapper

(intermediates)

Reducer Reducer Reducer

(intermediates) (intermediates) (intermediates)

Partitioner Partitioner Partitioner Partitioner

shuffling

Page 28: 新时代的分析型云数据库 Greenplum

HIVE/Hadoop 架构

8/24/201028HIVE - A warehouse solution over

Map Reduce Framework

Page 29: 新时代的分析型云数据库 Greenplum

对比测试结果

• Hadoop+Pig+PigFly(ASC 15个节点)– 4m42.207s• Hadoop+Hive (ASC 15节点)– 3m30s• ORACLE RAC (4 节点)– 41s• GREENPLUM(2 节点)– 6012.852 ms

Page 30: 新时代的分析型云数据库 Greenplum

30

数据库技术发展历程

Page 31: 新时代的分析型云数据库 Greenplum

数据库产品技术对比

8/24/2010 Confidential31

Greenplum Teradata NetezzaOracle

ExadataAster Data

无共享 MPP架构 � � � �

支持开放硬件平台 � �

高级负载管理 � � � ?

在线系统扩容 � � �

按列存储 � *

按行存储 � � � � �

In-DB MapReduce � �

支持SQL2003及OLAP选项 � � � �

性能线性扩展 � � � ?

加载能力线性扩展 � ?

Pipelined interconnect � �

DAS容错 � �

表分区 � � * �

索引 � � � �

最少的管理/调优 � �

Page 32: 新时代的分析型云数据库 Greenplum

Greenplum Database: 技术构成

产产产产品功能品功能品功能品功能

客客客客户户户户端端端端访问访问访问访问及工具及工具及工具及工具

多多多多层层层层次容次容次容次容错错错错

无共享无共享无共享无共享 MPP

并行并行并行并行查询优查询优查询优查询优化器化器化器化器

Polymorphic Data Storage™

客客客客户户户户端端端端访问访问访问访问

ODBC, JDBC, OLEDB, etc.

核心核心核心核心MPP架架架架构构构构并行数据流引擎并行数据流引擎并行数据流引擎并行数据流引擎

gNet™ 软软软软件互件互件互件互联联联联

并行加并行加并行加并行加载载载载及及及及ELT

在在在在线线线线系系系系统扩统扩统扩统扩容容容容 负载负载负载负载管理管理管理管理GPDB 云云云云计计计计算架算架算架算架构构构构

加加加加载载载载及外部及外部及外部及外部访问访问访问访问

PB级级级级的并行加的并行加的并行加的并行加载载载载能力能力能力能力

Trickle Micro-Batching

Anywhere Data Access

存存存存储储储储管理和数据管理和数据管理和数据管理和数据访问访问访问访问

按行按行按行按行、、、、按列数据按列数据按列数据按列数据库库库库存存存存储储储储及及及及执执执执行行行行数万数万数万数万节节节节点的并行点的并行点的并行点的并行处处处处理能力理能力理能力理能力

数据数据数据数据库库库库内内内内压缩压缩压缩压缩

多多多多级级级级分区分区分区分区

各各各各种种种种索引算法索引算法索引算法索引算法 – Btree, Bitmap 等等等等.

LANGUAGE 支持支持支持支持

全面遵从最新全面遵从最新全面遵从最新全面遵从最新SQL标标标标准准准准

原生原生原生原生 MapReduce

SQL 2003 OLAP Extensions

Programmable Analytics

第三方工具第三方工具第三方工具第三方工具

BI Tools, ETL Tools

Data Mining, etc

管理工具管理工具管理工具管理工具

GP Performance Monitor

pgAdmin3 for GPDB

Page 33: 新时代的分析型云数据库 Greenplum

Greenplum 的竞争优势

• 易用性– 并行处理由系统自动完成 – 无需人工干预– 没有复杂的调优需求 – 只需加载数据库和查询

• 扩展性– 可线性扩展到10,000个节点– 每增加一个节点,查询、加载性能都成线性增长

• 灵活性– 完全并行处理支持 SQL92, SQL99, SQL2003 OLAP,列数据库,透

明压缩, MapReduce– 支持任何schema (star, snowflake, 3NF, hybrid, etc)– 丰富的扩展性和语言支持(Java , Perl, Python, R, C, etc)

Page 34: 新时代的分析型云数据库 Greenplum

Greenplum的应用场景举例

• 营销支撑、客户管理,数据仓库, BI,ODS,数据集市,数据挖掘,经营分析,网络分析,知识库管理,成本效益分析等项目

• 可以高效、低成本的存储、访问当前及历史数据

– 利用Greenplum最低的TB数据成本(高性价比)

– 利用Greenplum高效的数据加载能力,迅速将长期积累的数据入库

– 利用Greenplum的并行数据流技术,将企业遗留的文件数据加工入库

– 利用Greenplum的并行数据流技术,进行统计、访问和加工分析

• 需要结合数据库并行处理外部数据

– 数据非常难以加工处理成数据库表数据来存放(非结构化数据)

– 需要专用的处理程序处理(MapReduce)

– 处理结果适合数据库保存,或者需要结合数据库数据进行分析

Page 35: 新时代的分析型云数据库 Greenplum

Q&A