SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
新时代的数据库
  --分析型云数据库
    分析型云数据
  --分析型云数据库



              1
Greenplum 基本架构
大规模并行处理
  模并行处
MPP (Massively Parallel Processing)
无共享架构
无共享架构 Shared-Nothing Architecture     SQL
                                      MapReduce



       Master
        节点
                            ...                   ...
    生成查询计划并派发
      汇总执行结果



      Network
    Interconnect


     Segment
       节点
                   ...                                  ...
   执行查询计划及数据
     存储管理




     外部数据源
     并行装载或导出
Google 文件系统架构与Greenplum 数据库对比


           Greenplum

                                           Segment Host
                                          Segment Host


                          Interconnect—
           LAN
            LAN
Client                                     Segment Host
                                          Segment Host



                                 交
                                 换
                                 机         Segment Host
                                          Segment Host


            Master Host
           Master Host
          Master Host
         Master Host


                                           Segment Host
                                          Segment Host




                                                          3
Greenplum – 云计算模式的新方案
现在的解决方案          Greenplum




   黑盒子”
   黑盒子
• “黑盒子     •普通服务器平台(服务器、网络)
            普通服务器平台(服务器、网络)
            普通服务器平台
   大铁箱”
   大铁箱
• “大铁箱      通过软件提升处理能力
           •通过软件提升处理能力
• 大磁盘阵列

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

                              4
MPP/无共享架构的优势

                           • 最易于扩展的架构
                             – 云数据库和数据分析的最佳选择
                           • 自动化的并行处理机制
            Interconnect
                             – 内部处理自动化并行,无需人工分区或优化
                             – 加载与访问方式与一般数据库相同
                           • 数据分布在所有的并行节点上
                             – 每个节点只处理其中一部分数据
                           • 最优化的I/O处理
              Loading
                             – 所有的节点同时进行并行处理
                             – 节点之间完全无共享,无I/O冲突
                           • 增加节点实现线性扩展
                             – 增加节点可线性增加存储、查询和加载性能


8/24/2010                                            5
Greenplum数据库内部架构


           Greenplum                                      • Master节点负责:
                                                            – 建立与客户端的连接和管理
                                                            – SQL的解析并形成执行计划
                                           Segment Host
                                          Segment Host
                                                            – 执行计划向Segment的分发
                          Interconnect—
                                                            – 收集Segment的执行结果
           LAN
            LAN
Client                                     Segment Host
                                                            – Master不存储应用业务数据,
                                          Segment Host
                                                             只存储数据字典
                                 交                        • Segment节点负责
                                 换
                                 机         Segment Host
                                          Segment Host      – 业务数据的存储和存取
            Master Host                                     – 用户查询SQL的执行
           Master Host
          Master Host
         Master Host


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

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



Order
                     Customer
Order #




             Order
             Date




                     ID




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
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
    提高查询
      查询性能
    提高查询性能



    Jan 2005
    Feb 2005     Segment 2A   Segment 2B   Segment 2C   Segment 2D
    Mar 2005
    Apr 2005
    May 2005
    Jun 2005
    Jul 2005
                 Segment 3A   Segment 3B   Segment 3C   Segment 3D
    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

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

    化

•   所有数据处理尽可能靠近数据
                           Greenplum   gNet
•   为现代多核处理器优化的全并行执行       并行数据流       互连
                           引擎
    器
•   基于本地DAS/SAN存储,获得高带宽,
    高效I/O


                           对本地磁盘进行直接
                              的高性能访问
GP 负载管理技术




8/24/2010       12
gNet 软件互联技术



 gNet 软件互联
       件互联




• 基于超级计算的“软件Switch”内部连接层
• 基于通用的gNet (GigE, 10GigE,IB) 网卡和交换机
• 在节点间传递消息和数据
• 采用高扩展协议,支持扩展到10,000个以上节点
动态在线系统扩容

  数据自动在所有节点上重新分布
  容量和性能在扩展后线性增长

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

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

  联网




   seg1   seg2        seg3   seg4   seg5   seg6
Master 节点冗余镜像
   Master节点有热备份




  • 当主用Master出故障时,热备份Master节点承担它工作
  • 热备份Master节点通过复制进程,保持与Master的交易日志同步
Segment 节点冗余镜像
融合了MapReduce和SQL
  统一的编程和数据并行数据流引擎


                          MapReduce代码
                         (Python、Perl等)




ODBC
       Query Planner                        交易管理器
JDBC                     并行数据流引擎
       及优化器(SQL)                            及日志文件
 etc




                                Greenplum
                       外部存储
                                数据库存储


SQL和MapReduce程序代码基于同一个并行架构运行
SG (Scatter/Gather) 流技术(并行加载处理)




                       2) Gather 阶段
                       •   在数据收集中,可以用SQL对数据进行转换
1) Scatter 阶段          •   数据分布在每个并行节点上
•   不需要专门的加载服务器        •   完全并行的数据引擎保证数据吞吐的最大化
•   加载性能与节点数成正比        •   支持对数据进行压缩存储

•   支持大批量及实时数据加载
•   对源系统的影响(资源消耗)非常小
Greenplum 运行性能监控器

强互动的基于Web的
性能监控工具
支持实时和历史视图:

•资源利用情况

•SQL运行内部情况




                    Dashboard
分析型应用体系架构


Oracle
           抽取、转换、加载                           分析型应用
           (ETL)
SQL
Server


IBM
DB2
            Informatica
                            SUN
            DataStage       HP     ORACLE       •JavaEE
MySQL                       IBM
            ……                     DB2          •.Net
                              EMC               •SAP BO
Postgres                      Hitachi Cisco     •Actuate
                                                •Oracle BIEE
                                                •Cognos
                                                •……
数据文件
                                              支持SQL直接并行访问
                          支持众多硬件平台            外部数据文件
支持各种        支持各种          支持ODBC/JDBC等多
                                              支持外部编程直接使用
数据源         ETL工具         种接口                 SQL并行访问数据库
Greenplum方案的优势

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




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


                   共享磁盘                 MPP
                   例如:                            无共享
完全共享
                   Informix XPS                   例如:
例如:
                   Oracle RAC                     Greenplum
SMP服务器
                   DB2 pureScale
              网络
                                                   Master
                                             网络
 DB
         DB        DB       DB     DB
                                        DB        DB      DB   DB
          SAN/FC


 磁盘
                                        磁盘        磁盘      磁盘   磁盘
                   SAN/共享磁盘



      注:蓝灰色表示共享资源
Oracle RAC 集群数据库

                        网络



 集中管理
                                用户
 控制台

             低延迟互联
 高速交换机
 互联



 集群
 数据库服务器              共享缓存
    交换机
 SAN交换机
                             存储区域网
 结构



 共享磁盘
 子系统
Oracle RAC 类技术瓶颈



          NET




          SAN




          Disks
DB2 pureScale : 技术架构
                                                                          Clients connect anywhere,…
                                    Clients                                … see single database
                                                                               Clients connect into any member
                                                                               Automatic load balancing and client reroute may change
                                                                               underlying physical member to which client is connected

                   Single Database View
                                                                          DB2 engine runs on several host computers
                                                                               Co-operate with each other to provide coherent access to the
                                                                               database from any member

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

                                                                          Low latency, high speed interconnect
                                                                               Special optimizations provide significant advantages on RDMA-
                                                                               capable interconnects (eg. Infiniband)
                                              Cluster Interconnect

                                                                          PowerHA pureScale technology
 CS                                                                  CS
                                                                               Efficient global locking and buffer management
            Log       Log           Log              Log        Primary
2nd-ary                                                                        Synchronous duplexing to secondary ensures availability

                   Shared Storage Access
                                                                          Data sharing architecture
                                                                               Shared access to database
                         Database                                              Members write to their own logs
                                                                               Logs accessible from another host (used during recovery)
Hadoop HDFS 架构
Hadoop MapReduce



               Mapper                    Mapper                 Mapper                 Mapper




            (intermediates)        (intermediates)        (intermediates)          (intermediates)


              Partitioner               Partitioner         Partitioner               Partitioner
shuffling




                        (intermediates)          (intermediates)         (intermediates)



                              Reducer                 Reducer               Reducer
HIVE/Hadoop 架构




                             HIVE - A warehouse solution28
                                                         over
                 8/24/2010
                                     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
数据库产品技术对比
                                                                    Oracle
                         Greenplum     Teradata       Netezza                Aster Data
                                                                   Exadata

无共享 MPP架构

支持开放硬件平台

高级负载管理                                                                           ?

在线系统扩容

按列存储                                                                 *

按行存储

In-DB MapReduce

支持SQL2003及OLAP选项

性能线性扩展                                                                           ?

加载能力线性扩展                                                                         ?

Pipelined interconnect

DAS容错

表分区                                                      *

索引

最少的管理/调优


                                     8/24/2010 Confidential
                                                              31
Greenplum Database: 技术构成

                   客户端访问                         第三方工具                     管理工具
             ODBC, JDBC, OLEDB, etc.       BI Tools, ETL Tools      GP Performance Monitor
客户端访问及工具
   访问及工具
                                               Data Mining, etc       pgAdmin3 for GPDB




                  加载及外部访问
                    及外部访问                  存储管理和数据访问
                                             管理和数据访问                   LANGUAGE 支持
               PB级的并行加载能力
                 级的并行加载                 按行、按列数据库
                                        按行、按列数据库存储及执行                全面遵从最新SQL标准
                                                                     全面遵从最新   标
  产品功能        Trickle Micro-Batching     数万节点的并行处
                                         数万节点的并行处理能力                   原生 MapReduce
              Anywhere Data Access              数据库内压缩
                                                数据库                SQL 2003 OLAP Extensions
                                                  多级分区              Programmable Analytics
                                       各种索引算法 – Btree, Bitmap等.
                                                             等




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



                           无共享 MPP                                并行数据流引擎
 核心MPP架构
 核心   架
                         并行查询优化器
                         并行查询优化器
                           查询优                                           件互联
                                                                  gNet™ 软件互联
                   Polymorphic Data Storage™                      并行加载
                                                                  并行加载及ELT
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

Mais conteúdo relacionado

Mais procurados

賽門鐵克 Storage Foundation 6.0 簡報
賽門鐵克 Storage Foundation 6.0 簡報賽門鐵克 Storage Foundation 6.0 簡報
賽門鐵克 Storage Foundation 6.0 簡報Wales Chen
 
淘宝Java中间件之路
淘宝Java中间件之路淘宝Java中间件之路
淘宝Java中间件之路mysqlops
 
基于Spring batch的大数据量并行处理
基于Spring batch的大数据量并行处理基于Spring batch的大数据量并行处理
基于Spring batch的大数据量并行处理Jacky Chi
 
05.wls调优
05.wls调优05.wls调优
05.wls调优Meng He
 
分布式流数据实时计算平台 Iprocess
分布式流数据实时计算平台 Iprocess分布式流数据实时计算平台 Iprocess
分布式流数据实时计算平台 Iprocessbabel_qi
 
王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计YANGL *
 
硬件体系架构浅析
硬件体系架构浅析硬件体系架构浅析
硬件体系架构浅析frogd
 
基于MySQL开放复制协议的同步扩展
基于MySQL开放复制协议的同步扩展基于MySQL开放复制协议的同步扩展
基于MySQL开放复制协议的同步扩展Sky Jian
 
ssdc-移动互联网技术挑战
ssdc-移动互联网技术挑战ssdc-移动互联网技术挑战
ssdc-移动互联网技术挑战zhen chen
 
Hadoop大数据实践经验
Hadoop大数据实践经验Hadoop大数据实践经验
Hadoop大数据实践经验Hanborq Inc.
 
Hadoop系统及其关键技术
Hadoop系统及其关键技术Hadoop系统及其关键技术
Hadoop系统及其关键技术冬 陈
 
淘宝双11双12案例分享
淘宝双11双12案例分享淘宝双11双12案例分享
淘宝双11双12案例分享vanadies10
 

Mais procurados (12)

賽門鐵克 Storage Foundation 6.0 簡報
賽門鐵克 Storage Foundation 6.0 簡報賽門鐵克 Storage Foundation 6.0 簡報
賽門鐵克 Storage Foundation 6.0 簡報
 
淘宝Java中间件之路
淘宝Java中间件之路淘宝Java中间件之路
淘宝Java中间件之路
 
基于Spring batch的大数据量并行处理
基于Spring batch的大数据量并行处理基于Spring batch的大数据量并行处理
基于Spring batch的大数据量并行处理
 
05.wls调优
05.wls调优05.wls调优
05.wls调优
 
分布式流数据实时计算平台 Iprocess
分布式流数据实时计算平台 Iprocess分布式流数据实时计算平台 Iprocess
分布式流数据实时计算平台 Iprocess
 
王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计
 
硬件体系架构浅析
硬件体系架构浅析硬件体系架构浅析
硬件体系架构浅析
 
基于MySQL开放复制协议的同步扩展
基于MySQL开放复制协议的同步扩展基于MySQL开放复制协议的同步扩展
基于MySQL开放复制协议的同步扩展
 
ssdc-移动互联网技术挑战
ssdc-移动互联网技术挑战ssdc-移动互联网技术挑战
ssdc-移动互联网技术挑战
 
Hadoop大数据实践经验
Hadoop大数据实践经验Hadoop大数据实践经验
Hadoop大数据实践经验
 
Hadoop系统及其关键技术
Hadoop系统及其关键技术Hadoop系统及其关键技术
Hadoop系统及其关键技术
 
淘宝双11双12案例分享
淘宝双11双12案例分享淘宝双11双12案例分享
淘宝双11双12案例分享
 

Semelhante a 新时代的分析型云数据库 Greenplum

Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at TaobaoJoshua Zhu
 
张松国 腾讯微博架构介绍08
张松国 腾讯微博架构介绍08张松国 腾讯微博架构介绍08
张松国 腾讯微博架构介绍08drewz lin
 
百度 刘宁 系统也智慧
百度 刘宁 系统也智慧百度 刘宁 系统也智慧
百度 刘宁 系统也智慧guiyingshenxia
 
Mr&ueh数据库方面
Mr&ueh数据库方面Mr&ueh数据库方面
Mr&ueh数据库方面Tianwei Liu
 
Web请求异步处理和海量数据即时分析在淘宝开放平台的实践
Web请求异步处理和海量数据即时分析在淘宝开放平台的实践Web请求异步处理和海量数据即时分析在淘宝开放平台的实践
Web请求异步处理和海量数据即时分析在淘宝开放平台的实践mysqlops
 
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验guiyingshenxia
 
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验colderboy17
 
众行业公司系统架构案例介绍
众行业公司系统架构案例介绍众行业公司系统架构案例介绍
众行业公司系统架构案例介绍mysqlops
 
Sheepdog内部实现机制
Sheepdog内部实现机制Sheepdog内部实现机制
Sheepdog内部实现机制Liu Yuan
 
Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲84zhu
 
Taobao图片存储与cdn系统到服务
Taobao图片存储与cdn系统到服务Taobao图片存储与cdn系统到服务
Taobao图片存储与cdn系统到服务Wensong Zhang
 
淘宝对象存储与Cdn系统到服务
淘宝对象存储与Cdn系统到服务淘宝对象存储与Cdn系统到服务
淘宝对象存储与Cdn系统到服务drewz lin
 
百度分布式数据实践与进展
百度分布式数据实践与进展百度分布式数据实践与进展
百度分布式数据实践与进展yp_fangdong
 
京东实时消息队列JDQ技术实践与探索
京东实时消息队列JDQ技术实践与探索京东实时消息队列JDQ技术实践与探索
京东实时消息队列JDQ技术实践与探索confluent
 
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...acelyc1112009
 
阿里云技术实践
阿里云技术实践阿里云技术实践
阿里云技术实践drewz lin
 
Ceph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom LabsCeph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom LabsCeph Community
 
Google LevelDB Study Discuss
Google LevelDB Study DiscussGoogle LevelDB Study Discuss
Google LevelDB Study Discusseverestsun
 
Spark性能调优分享
Spark性能调优分享Spark性能调优分享
Spark性能调优分享Wenchun Xu
 

Semelhante a 新时代的分析型云数据库 Greenplum (20)

Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at Taobao
 
张松国 腾讯微博架构介绍08
张松国 腾讯微博架构介绍08张松国 腾讯微博架构介绍08
张松国 腾讯微博架构介绍08
 
百度 刘宁 系统也智慧
百度 刘宁 系统也智慧百度 刘宁 系统也智慧
百度 刘宁 系统也智慧
 
Mr&ueh数据库方面
Mr&ueh数据库方面Mr&ueh数据库方面
Mr&ueh数据库方面
 
Web请求异步处理和海量数据即时分析在淘宝开放平台的实践
Web请求异步处理和海量数据即时分析在淘宝开放平台的实践Web请求异步处理和海量数据即时分析在淘宝开放平台的实践
Web请求异步处理和海量数据即时分析在淘宝开放平台的实践
 
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
 
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
 
众行业公司系统架构案例介绍
众行业公司系统架构案例介绍众行业公司系统架构案例介绍
众行业公司系统架构案例介绍
 
Sheepdog内部实现机制
Sheepdog内部实现机制Sheepdog内部实现机制
Sheepdog内部实现机制
 
Cdc@ganji.com
Cdc@ganji.comCdc@ganji.com
Cdc@ganji.com
 
Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲
 
Taobao图片存储与cdn系统到服务
Taobao图片存储与cdn系统到服务Taobao图片存储与cdn系统到服务
Taobao图片存储与cdn系统到服务
 
淘宝对象存储与Cdn系统到服务
淘宝对象存储与Cdn系统到服务淘宝对象存储与Cdn系统到服务
淘宝对象存储与Cdn系统到服务
 
百度分布式数据实践与进展
百度分布式数据实践与进展百度分布式数据实践与进展
百度分布式数据实践与进展
 
京东实时消息队列JDQ技术实践与探索
京东实时消息队列JDQ技术实践与探索京东实时消息队列JDQ技术实践与探索
京东实时消息队列JDQ技术实践与探索
 
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
 
阿里云技术实践
阿里云技术实践阿里云技术实践
阿里云技术实践
 
Ceph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom LabsCeph Day Shanghai - Ceph in Chinau Unicom Labs
Ceph Day Shanghai - Ceph in Chinau Unicom Labs
 
Google LevelDB Study Discuss
Google LevelDB Study DiscussGoogle LevelDB Study Discuss
Google LevelDB Study Discuss
 
Spark性能调优分享
Spark性能调优分享Spark性能调优分享
Spark性能调优分享
 

Mais de 锐 张

长尾理论(The longtail)版
长尾理论(The longtail)版长尾理论(The longtail)版
长尾理论(The longtail)版锐 张
 
Openstack starter-guide-diablo
Openstack starter-guide-diabloOpenstack starter-guide-diablo
Openstack starter-guide-diablo锐 张
 
基于My sql的分布式数据库实践
基于My sql的分布式数据库实践基于My sql的分布式数据库实践
基于My sql的分布式数据库实践锐 张
 
Redis中文入门手册
Redis中文入门手册Redis中文入门手册
Redis中文入门手册锐 张
 
Redis学习笔记
Redis学习笔记Redis学习笔记
Redis学习笔记锐 张
 
Redis内存存储结构分析
Redis内存存储结构分析Redis内存存储结构分析
Redis内存存储结构分析锐 张
 
淘宝前端优化
淘宝前端优化淘宝前端优化
淘宝前端优化锐 张
 
Sun jdk 1.6内存管理 -实现篇 -毕玄
Sun jdk 1.6内存管理 -实现篇 -毕玄Sun jdk 1.6内存管理 -实现篇 -毕玄
Sun jdk 1.6内存管理 -实现篇 -毕玄锐 张
 
Sun jdk 1.6内存管理 -调优篇-毕玄
Sun jdk 1.6内存管理 -调优篇-毕玄Sun jdk 1.6内存管理 -调优篇-毕玄
Sun jdk 1.6内存管理 -调优篇-毕玄锐 张
 
Sun jdk 1.6内存管理 -使用篇-毕玄
Sun jdk 1.6内存管理 -使用篇-毕玄Sun jdk 1.6内存管理 -使用篇-毕玄
Sun jdk 1.6内存管理 -使用篇-毕玄锐 张
 
Sun jdk-1.6-gc
Sun jdk-1.6-gcSun jdk-1.6-gc
Sun jdk-1.6-gc锐 张
 
Redis介绍
Redis介绍Redis介绍
Redis介绍锐 张
 
Redis深入浅出
Redis深入浅出Redis深入浅出
Redis深入浅出锐 张
 
Green plum培训材料
Green plum培训材料Green plum培训材料
Green plum培训材料锐 张
 
Greenplum技术
Greenplum技术Greenplum技术
Greenplum技术锐 张
 
服务器端性能优化 提升Qps、rt
服务器端性能优化 提升Qps、rt服务器端性能优化 提升Qps、rt
服务器端性能优化 提升Qps、rt锐 张
 
新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)
新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)
新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)锐 张
 
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)锐 张
 
Lamp高性能设计
Lamp高性能设计Lamp高性能设计
Lamp高性能设计锐 张
 
亚马逊云计算Aws
亚马逊云计算Aws亚马逊云计算Aws
亚马逊云计算Aws锐 张
 

Mais de 锐 张 (20)

长尾理论(The longtail)版
长尾理论(The longtail)版长尾理论(The longtail)版
长尾理论(The longtail)版
 
Openstack starter-guide-diablo
Openstack starter-guide-diabloOpenstack starter-guide-diablo
Openstack starter-guide-diablo
 
基于My sql的分布式数据库实践
基于My sql的分布式数据库实践基于My sql的分布式数据库实践
基于My sql的分布式数据库实践
 
Redis中文入门手册
Redis中文入门手册Redis中文入门手册
Redis中文入门手册
 
Redis学习笔记
Redis学习笔记Redis学习笔记
Redis学习笔记
 
Redis内存存储结构分析
Redis内存存储结构分析Redis内存存储结构分析
Redis内存存储结构分析
 
淘宝前端优化
淘宝前端优化淘宝前端优化
淘宝前端优化
 
Sun jdk 1.6内存管理 -实现篇 -毕玄
Sun jdk 1.6内存管理 -实现篇 -毕玄Sun jdk 1.6内存管理 -实现篇 -毕玄
Sun jdk 1.6内存管理 -实现篇 -毕玄
 
Sun jdk 1.6内存管理 -调优篇-毕玄
Sun jdk 1.6内存管理 -调优篇-毕玄Sun jdk 1.6内存管理 -调优篇-毕玄
Sun jdk 1.6内存管理 -调优篇-毕玄
 
Sun jdk 1.6内存管理 -使用篇-毕玄
Sun jdk 1.6内存管理 -使用篇-毕玄Sun jdk 1.6内存管理 -使用篇-毕玄
Sun jdk 1.6内存管理 -使用篇-毕玄
 
Sun jdk-1.6-gc
Sun jdk-1.6-gcSun jdk-1.6-gc
Sun jdk-1.6-gc
 
Redis介绍
Redis介绍Redis介绍
Redis介绍
 
Redis深入浅出
Redis深入浅出Redis深入浅出
Redis深入浅出
 
Green plum培训材料
Green plum培训材料Green plum培训材料
Green plum培训材料
 
Greenplum技术
Greenplum技术Greenplum技术
Greenplum技术
 
服务器端性能优化 提升Qps、rt
服务器端性能优化 提升Qps、rt服务器端性能优化 提升Qps、rt
服务器端性能优化 提升Qps、rt
 
新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)
新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)
新浪云计算公开课第二期:Sae平台的灵活应用(吕毅、魏世江)
 
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)新浪云计算公开课第一期:Let’s run @ sae(丛磊)
新浪云计算公开课第一期:Let’s run @ sae(丛磊)
 
Lamp高性能设计
Lamp高性能设计Lamp高性能设计
Lamp高性能设计
 
亚马逊云计算Aws
亚马逊云计算Aws亚马逊云计算Aws
亚马逊云计算Aws
 

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

  • 1. 新时代的数据库 --分析型云数据库 分析型云数据 --分析型云数据库 1
  • 2. Greenplum 基本架构 大规模并行处理 模并行处 MPP (Massively Parallel Processing) 无共享架构 无共享架构 Shared-Nothing Architecture SQL MapReduce Master 节点 ... ... 生成查询计划并派发 汇总执行结果 Network Interconnect Segment 节点 ... ... 执行查询计划及数据 存储管理 外部数据源 并行装载或导出
  • 3. Google 文件系统架构与Greenplum 数据库对比 Greenplum Segment Host Segment Host Interconnect— LAN LAN Client Segment Host Segment Host 交 换 机 Segment Host Segment Host Master Host Master Host Master Host Master Host Segment Host Segment Host 3
  • 4. Greenplum – 云计算模式的新方案 现在的解决方案 Greenplum 黑盒子” 黑盒子 • “黑盒子 •普通服务器平台(服务器、网络) 普通服务器平台(服务器、网络) 普通服务器平台 大铁箱” 大铁箱 • “大铁箱 通过软件提升处理能力 •通过软件提升处理能力 • 大磁盘阵列 过去Google 曾经用来实现信息搜索 去 搜索功能的技术, 搜索 现在被Greenplum用于数据管理领域 被 4
  • 5. MPP/无共享架构的优势 • 最易于扩展的架构 – 云数据库和数据分析的最佳选择 • 自动化的并行处理机制 Interconnect – 内部处理自动化并行,无需人工分区或优化 – 加载与访问方式与一般数据库相同 • 数据分布在所有的并行节点上 – 每个节点只处理其中一部分数据 • 最优化的I/O处理 Loading – 所有的节点同时进行并行处理 – 节点之间完全无共享,无I/O冲突 • 增加节点实现线性扩展 – 增加节点可线性增加存储、查询和加载性能 8/24/2010 5
  • 6. Greenplum数据库内部架构 Greenplum • Master节点负责: – 建立与客户端的连接和管理 – SQL的解析并形成执行计划 Segment Host Segment Host – 执行计划向Segment的分发 Interconnect— – 收集Segment的执行结果 LAN LAN Client Segment Host – Master不存储应用业务数据, Segment Host 只存储数据字典 交 • Segment节点负责 换 机 Segment Host Segment Host – 业务数据的存储和存取 Master Host – 用户查询SQL的执行 Master Host Master Host Master Host Segment Host Segment Host
  • 7. 数据均匀分布 - 并行处理的关键 策略: 策略: 表内数据行尽可能的均匀分布到每个节点 Order Customer Order # Order Date ID 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 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
  • 8. 数据分布方法 • 哈希分布 – CREATE TABLE … DISTRIBUTED BY (column [,…]) – 哈希值相同的记录在同一个Segment节点 • 随机分布 – CREATE TABLE … DISTRIBUTED RANDOMLY – Rows with columns of the same value not necessarily on the same segment
  • 9. 数据分布和分区 每个分区表的数据自动分布到各个节点 个分区表的数据自动分布到各个节 表分区可减少数据的搜索范围 表分区可减少数据的搜索范围, Segment 1A Segment 1B Segment 1C Segment 1D 提高查询 查询性能 提高查询性能 Jan 2005 Feb 2005 Segment 2A Segment 2B Segment 2C Segment 2D Mar 2005 Apr 2005 May 2005 Jun 2005 Jul 2005 Segment 3A Segment 3B Segment 3C Segment 3D Aug 2005 Sep 2005 Oct 2005 Nov 2005 Dec 2005
  • 10. 索引、列数据库与数据压缩 •支持索引类型: – B-tree – Bitmap – R-tree – Hash – GIST •支持按列存储数据库,及列数据库索引 •透明实时数据压缩类型: – gzip: 1 到 9 压缩水平 – QuickLZ: 1 到 3 压缩水平 8/24/2010 10
  • 11. 海量并行高速处理技术 • 通用并行数据流引擎,原生支持SQL & MapReduce • 为普通服务器、存储阵列和网络设备优 计算内核 化 • 所有数据处理尽可能靠近数据 Greenplum gNet • 为现代多核处理器优化的全并行执行 并行数据流 互连 引擎 器 • 基于本地DAS/SAN存储,获得高带宽, 高效I/O 对本地磁盘进行直接 的高性能访问
  • 13. gNet 软件互联技术 gNet 软件互联 件互联 • 基于超级计算的“软件Switch”内部连接层 • 基于通用的gNet (GigE, 10GigE,IB) 网卡和交换机 • 在节点间传递消息和数据 • 采用高扩展协议,支持扩展到10,000个以上节点
  • 14. 动态在线系统扩容 数据自动在所有节点上重新分布 容量和性能在扩展后线性增长 步骤1:新节点初始化加入MPP集群 步骤2:数据在所有节点上重分布 Master 联网 seg1 seg2 seg3 seg4 seg5 seg6
  • 15. Master 节点冗余镜像 Master节点有热备份 • 当主用Master出故障时,热备份Master节点承担它工作 • 热备份Master节点通过复制进程,保持与Master的交易日志同步
  • 17. 融合了MapReduce和SQL 统一的编程和数据并行数据流引擎 MapReduce代码 (Python、Perl等) ODBC Query Planner 交易管理器 JDBC 并行数据流引擎 及优化器(SQL) 及日志文件 etc Greenplum 外部存储 数据库存储 SQL和MapReduce程序代码基于同一个并行架构运行
  • 18. SG (Scatter/Gather) 流技术(并行加载处理) 2) Gather 阶段 • 在数据收集中,可以用SQL对数据进行转换 1) Scatter 阶段 • 数据分布在每个并行节点上 • 不需要专门的加载服务器 • 完全并行的数据引擎保证数据吞吐的最大化 • 加载性能与节点数成正比 • 支持对数据进行压缩存储 • 支持大批量及实时数据加载 • 对源系统的影响(资源消耗)非常小
  • 20. 分析型应用体系架构 Oracle 抽取、转换、加载 分析型应用 (ETL) SQL Server IBM DB2 Informatica SUN DataStage HP ORACLE •JavaEE MySQL IBM …… DB2 •.Net EMC •SAP BO Postgres Hitachi Cisco •Actuate •Oracle BIEE •Cognos •…… 数据文件 支持SQL直接并行访问 支持众多硬件平台 外部数据文件 支持各种 支持各种 支持ODBC/JDBC等多 支持外部编程直接使用 数据源 ETL工具 种接口 SQL并行访问数据库
  • 21. Greenplum方案的优势 现在的解决方案投资 方案投资 Greenplum方案投资 21
  • 22. 无共享( Share-Nothing )等架构对比 共享磁盘 MPP 例如: 无共享 完全共享 Informix XPS 例如: 例如: Oracle RAC Greenplum SMP服务器 DB2 pureScale 网络 Master 网络 DB DB DB DB DB DB DB DB DB SAN/FC 磁盘 磁盘 磁盘 磁盘 磁盘 SAN/共享磁盘 注:蓝灰色表示共享资源
  • 23. Oracle RAC 集群数据库 网络 集中管理 用户 控制台 低延迟互联 高速交换机 互联 集群 数据库服务器 共享缓存 交换机 SAN交换机 存储区域网 结构 共享磁盘 子系统
  • 24. Oracle RAC 类技术瓶颈 NET SAN Disks
  • 25. DB2 pureScale : 技术架构 Clients connect anywhere,… Clients … see single database Clients connect into any member Automatic load balancing and client reroute may change underlying physical member to which client is connected Single Database View DB2 engine runs on several host computers Co-operate with each other to provide coherent access to the database from any member Member Member Member Member Integrated cluster services Failure detection, recovery automation, cluster file system In partnership with STG (GPFS,RSCT) and Tivoli (SA MP) CS CS CS CS Low latency, high speed interconnect Special optimizations provide significant advantages on RDMA- capable interconnects (eg. Infiniband) Cluster Interconnect PowerHA pureScale technology CS CS Efficient global locking and buffer management Log Log Log Log Primary 2nd-ary Synchronous duplexing to secondary ensures availability Shared Storage Access Data sharing architecture Shared access to database Database Members write to their own logs Logs accessible from another host (used during recovery)
  • 27. Hadoop MapReduce Mapper Mapper Mapper Mapper (intermediates) (intermediates) (intermediates) (intermediates) Partitioner Partitioner Partitioner Partitioner shuffling (intermediates) (intermediates) (intermediates) Reducer Reducer Reducer
  • 28. HIVE/Hadoop 架构 HIVE - A warehouse solution28 over 8/24/2010 Map Reduce Framework
  • 29. 对比测试结果 • Hadoop+Pig+PigFly(ASC 15个节点) – 4m42.207s • Hadoop+Hive (ASC 15节点) – 3m30s • ORACLE RAC (4 节点) – 41s • GREENPLUM(2 节点) – 6012.852 ms
  • 31. 数据库产品技术对比 Oracle Greenplum Teradata Netezza Aster Data Exadata 无共享 MPP架构 支持开放硬件平台 高级负载管理 ? 在线系统扩容 按列存储 * 按行存储 In-DB MapReduce 支持SQL2003及OLAP选项 性能线性扩展 ? 加载能力线性扩展 ? Pipelined interconnect DAS容错 表分区 * 索引 最少的管理/调优 8/24/2010 Confidential 31
  • 32. Greenplum Database: 技术构成 客户端访问 第三方工具 管理工具 ODBC, JDBC, OLEDB, etc. BI Tools, ETL Tools GP Performance Monitor 客户端访问及工具 访问及工具 Data Mining, etc pgAdmin3 for GPDB 加载及外部访问 及外部访问 存储管理和数据访问 管理和数据访问 LANGUAGE 支持 PB级的并行加载能力 级的并行加载 按行、按列数据库 按行、按列数据库存储及执行 全面遵从最新SQL标准 全面遵从最新 标 产品功能 Trickle Micro-Batching 数万节点的并行处 数万节点的并行处理能力 原生 MapReduce Anywhere Data Access 数据库内压缩 数据库 SQL 2003 OLAP Extensions 多级分区 Programmable Analytics 各种索引算法 – Btree, Bitmap等. 等 算架构 GPDB 云计算架构 多层次容错 次容错 在线系统扩容 统扩容 负载管理 负载管理 无共享 MPP 并行数据流引擎 核心MPP架构 核心 架 并行查询优化器 并行查询优化器 查询优 件互联 gNet™ 软件互联 Polymorphic Data Storage™ 并行加载 并行加载及ELT
  • 33. Greenplum 的竞争优势 • 易用性 – 并行处理由系统自动完成 – 无需人工干预 – 没有复杂的调优需求 – 只需加载数据库和查询 • 扩展性 – 可线性扩展到10,000个节点 – 每增加一个节点,查询、加载性能都成线性增长 • 灵活性 – 完全并行处理支持 SQL92, SQL99, SQL2003 OLAP,列数据库,透 明压缩, MapReduce – 支持任何schema (star, snowflake, 3NF, hybrid, etc) – 丰富的扩展性和语言支持(Java , Perl, Python, R, C, etc)
  • 34. Greenplum的应用场景举例 • 营销支撑、客户管理,数据仓库, BI,ODS,数据集市,数据挖掘 ,经营分析,网络分析,知识库管理,成本效益分析等项目 • 可以高效、低成本的存储、访问当前及历史数据 – 利用Greenplum最低的TB数据成本(高性价比) – 利用Greenplum高效的数据加载能力,迅速将长期积累的数据入库 – 利用Greenplum的并行数据流技术,将企业遗留的文件数据加工入库 – 利用Greenplum的并行数据流技术,进行统计、访问和加工分析 • 需要结合数据库并行处理外部数据 – 数据非常难以加工处理成数据库表数据来存放(非结构化数据) – 需要专用的处理程序处理(MapReduce) – 处理结果适合数据库保存,或者需要结合数据库数据进行分析
  • 35. Q&A