新时代的分析型云数据库 greenplum
DESCRIPTION
TRANSCRIPT
1
新时代的数据库新时代的数据库新时代的数据库新时代的数据库--------分析型云分析型云分析型云分析型云数据数据数据数据库库库库
Greenplum 基本架构
大大大大规规规规模并行模并行模并行模并行处处处处理理理理MPP (Massively Parallel Processing) 无共享架无共享架无共享架无共享架构构构构 Shared-Nothing Architecture
NetworkInterconnect
... ...
......Master
节节节节点点点点
生成查询计划并派发
汇总执行结果
Segment
节节节节点点点点
执行查询计划及数据存储管理
SQL
MapReduce
SQL
MapReduce
外部数据源外部数据源外部数据源外部数据源
并行装载或导出
3
Google 文件系统架构与Greenplum 数据库对比
GreenplumGreenplum
Master HostMaster Host
Interconnect—
交换机
Segment HostSegment Host
Segment HostSegment Host
Segment HostSegment Host
Segment HostSegment Host
Master HostMaster Host
ClientLANLAN
Greenplum – 云计算模式的新方案
•普通服务器平台普通服务器平台普通服务器平台普通服务器平台((((服务器服务器服务器服务器、、、、网络网络网络网络))))•通过软件提升处理能力通过软件提升处理能力通过软件提升处理能力通过软件提升处理能力
Greenplum
• “黑盒子黑盒子黑盒子黑盒子”• “大铁箱大铁箱大铁箱大铁箱”• 大磁盘阵列大磁盘阵列大磁盘阵列大磁盘阵列
过去去去去Google 曾曾曾曾经用来实现信息搜索搜索搜索搜索功能的技术,现在被被被被Greenplum用于数据管理领域
现在的解决方案现在的解决方案现在的解决方案现在的解决方案
4
MPP/无共享架构的优势
8/24/2010 5
Interconnect
Loading
• 最易于扩展的架构
– 云数据库和数据分析的最佳选择
• 自动化的并行处理机制
– 内部处理自动化并行,无需人工分区或优化
– 加载与访问方式与一般数据库相同
• 数据分布在所有的并行节点上
– 每个节点只处理其中一部分数据
• 最优化的I/O处理
– 所有的节点同时进行并行处理
– 节点之间完全无共享,无I/O冲突
• 增加节点实现线性扩展
– 增加节点可线性增加存储、查询和加载性能
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
数据均匀分布- 并行处理的关键
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
策略策略策略策略:::: 表内数据行尽可能的均匀分布到每个节点
数据分布方法
• 哈希分布哈希分布哈希分布哈希分布
– CREATE TABLE … DISTRIBUTED BY (column [,…])
– 哈希值相同的记录在同一个Segment节点
• 随机分布随机分布随机分布随机分布
– CREATE TABLE … DISTRIBUTED RANDOMLY
– Rows with columns of the same value not necessarily on the same segment
数据分布和分区
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
每每每每个分区表的数据自个分区表的数据自个分区表的数据自个分区表的数据自动动动动分布到各个分布到各个分布到各个分布到各个节节节节点点点点
表分区可表分区可表分区可表分区可减减减减少数据的搜索范少数据的搜索范少数据的搜索范少数据的搜索范围围围围,,,,
提高提高提高提高查询查询查询查询性能性能性能性能
索引、列数据库与数据压缩
•支持索引类型: – B-tree– Bitmap– R-tree– Hash– GIST
•支持按列存储数据库,及列数据库索引
•透明实时数据压缩类型:
– gzip: 1 到 9 压缩水平
– QuickLZ: 1 到 3 压缩水平
8/24/2010 10
海量并行高速处理技术
• 通用并行数据流引擎,原生支持SQL &MapReduce
• 为普通服务器、存储阵列和网络设备优
化
• 所有数据处理尽可能靠近数据
• 为现代多核处理器优化的全并行执行
器
• 基于本地DAS/SAN存储,获得高带宽,
高效I/O
计算内核
Greenplum并行数据流引擎
对本地磁盘进行直接
的高性能访问
gNet互连
GP 负载管理技术
8/24/2010 12
gNet 软件互联技术
gNet 软软软软件互件互件互件互联联联联
• 基于超级计算的“软件Switch”内部连接层
• 基于通用的gNet (GigE, 10GigE,IB) 网卡和交换机
• 在节点间传递消息和数据
• 采用高扩展协议,支持扩展到10,000个以上节点
动态在线系统扩容
Master
seg1 seg2 seg3 seg4 seg5 seg6
� 数据自动在所有节点上重新分布
� 容量和性能在扩展后线性增长
步骤1:新节点初始化加入MPP集群
步骤2:数据在所有节点上重分布
联网
Master 节点冗余镜像Master节点有热备份
• 当主用Master出故障时,热备份Master节点承担它工作
• 热备份Master节点通过复制进程,保持与Master的交易日志同步
Segment 节点冗余镜像
融合了MapReduce和SQL统一的编程和数据并行数据流引擎
Query Planner
及优化器(SQL)并行数据流引擎
交易管理器
及日志文件
ODBC
JDBC
etc
Greenplum
数据库存储外部存储
MapReduce代码
(Python、Perl等)
SQL和MapReduce程序代码基于同一个并行架构运行
SG (Scatter/Gather) 流技术(并行加载处理)
1) Scatter 阶段阶段阶段阶段
• 不需要专门的加载服务器
• 加载性能与节点数成正比
• 支持大批量及实时数据加载
• 对源系统的影响(资源消耗)非常小
1) Scatter 阶段阶段阶段阶段
• 不需要专门的加载服务器
• 加载性能与节点数成正比
• 支持大批量及实时数据加载
• 对源系统的影响(资源消耗)非常小
2) Gather 阶段阶段阶段阶段
• 在数据收集中,可以用SQL对数据进行转换
• 数据分布在每个并行节点上
• 完全并行的数据引擎保证数据吞吐的最大化
• 支持对数据进行压缩存储
2) Gather 阶段阶段阶段阶段
• 在数据收集中,可以用SQL对数据进行转换
• 数据分布在每个并行节点上
• 完全并行的数据引擎保证数据吞吐的最大化
• 支持对数据进行压缩存储
强互动的基于Web的性能监控工具
支持实时和历史视图:
•资源利用情况
•SQL运行内部情况
Dashboard
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
数据文件
Greenplum方案的优势
Greenplum 方案投资方案投资方案投资方案投资现在的解决方案投资现在的解决方案投资现在的解决方案投资现在的解决方案投资
21
无共享( Share-Nothing )等架构对比
共享磁盘例如:Informix XPSOracle RACDB2 pureScale
DB
SAN/共享磁盘
DB DBDB
网络
SAN/FC
完全共享例如:SMP服务器
DB
磁盘
无共享例如:Greenplum
DBDB DBDB
网络
磁盘 磁盘 磁盘 磁盘
Master
注:蓝灰色表示共享资源
MPP
Oracle RAC 集群数据库
集群集群集群集群
数据库服务器数据库服务器数据库服务器数据库服务器
共享磁盘共享磁盘共享磁盘共享磁盘
子系统子系统子系统子系统
高速交换机高速交换机高速交换机高速交换机
互联互联互联互联
SAN交换机交换机交换机交换机结构结构结构结构
网络网络网络网络
集中管理集中管理集中管理集中管理
控制台控制台控制台控制台
用户
低延迟互联低延迟互联低延迟互联低延迟互联
存储区域网存储区域网存储区域网存储区域网
共享缓存共享缓存
Oracle RAC 类技术瓶颈
DisksDisks
NET
SAN
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)
Hadoop HDFS 架构
Hadoop MapReduce
Mapper
(intermediates)
Mapper
(intermediates)
Mapper
(intermediates)
Mapper
(intermediates)
Reducer Reducer Reducer
(intermediates) (intermediates) (intermediates)
Partitioner Partitioner Partitioner Partitioner
shuffling
HIVE/Hadoop 架构
8/24/201028HIVE - A warehouse solution over
Map Reduce Framework
对比测试结果
• Hadoop+Pig+PigFly(ASC 15个节点)– 4m42.207s• Hadoop+Hive (ASC 15节点)– 3m30s• ORACLE RAC (4 节点)– 41s• GREENPLUM(2 节点)– 6012.852 ms
30
数据库技术发展历程
数据库产品技术对比
8/24/2010 Confidential31
Greenplum Teradata NetezzaOracle
ExadataAster Data
无共享 MPP架构 � � � �
支持开放硬件平台 � �
高级负载管理 � � � ?
在线系统扩容 � � �
按列存储 � *
按行存储 � � � � �
In-DB MapReduce � �
支持SQL2003及OLAP选项 � � � �
性能线性扩展 � � � ?
加载能力线性扩展 � ?
Pipelined interconnect � �
DAS容错 � �
表分区 � � * �
索引 � � � �
最少的管理/调优 � �
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
Greenplum 的竞争优势
• 易用性– 并行处理由系统自动完成 – 无需人工干预– 没有复杂的调优需求 – 只需加载数据库和查询
• 扩展性– 可线性扩展到10,000个节点– 每增加一个节点,查询、加载性能都成线性增长
• 灵活性– 完全并行处理支持 SQL92, SQL99, SQL2003 OLAP,列数据库,透
明压缩, MapReduce– 支持任何schema (star, snowflake, 3NF, hybrid, etc)– 丰富的扩展性和语言支持(Java , Perl, Python, R, C, etc)
Greenplum的应用场景举例
• 营销支撑、客户管理,数据仓库, BI,ODS,数据集市,数据挖掘,经营分析,网络分析,知识库管理,成本效益分析等项目
• 可以高效、低成本的存储、访问当前及历史数据
– 利用Greenplum最低的TB数据成本(高性价比)
– 利用Greenplum高效的数据加载能力,迅速将长期积累的数据入库
– 利用Greenplum的并行数据流技术,将企业遗留的文件数据加工入库
– 利用Greenplum的并行数据流技术,进行统计、访问和加工分析
• 需要结合数据库并行处理外部数据
– 数据非常难以加工处理成数据库表数据来存放(非结构化数据)
– 需要专用的处理程序处理(MapReduce)
– 处理结果适合数据库保存,或者需要结合数据库数据进行分析
Q&A