当前位置: 首页 > news >正文

免费建网站优势网网站

免费建网站,优势网网站,太原网站建设斯飞网络,网页无法上传wordpressGreenplum 数据库是最先进的分布式开源数据库技术#xff0c;主要用来处理大规模的数据分析任务#xff0c;包括数据仓库、商务智能#xff08;OLAP#xff09;和数据挖掘等。自2015年10月正式开源以来#xff0c;受到国内外业内人士的广泛关注。本文就社区关心的Greenplu…Greenplum 数据库是最先进的分布式开源数据库技术主要用来处理大规模的数据分析任务包括数据仓库、商务智能OLAP和数据挖掘等。自2015年10月正式开源以来受到国内外业内人士的广泛关注。本文就社区关心的Greenplum数据库技术架构进行介绍。 一. Greenplum数据库简介 大数据是个炙手可热的词各行各业都在谈。一谈到大数据好多人认为就是Hadoop。实际上Hadoop只是大数据若干处理方案中的一个。现在的SQL、NoSQL、NewSQL、Hadoop等等都能在不同层面或不同应用上处理大数据的某些问题。而Greenplum数据库做为一个分布式大规模并行处理数据库在大多数情况下更适合做大数据的存储引擎、计算引擎和分析引擎。 Greenplum数据库也简称GPDB。它拥有丰富的特性 第一完善的标准支持GPDB完全支持ANSI SQL 2008标准和SQL OLAP 2003 扩展从应用编程接口上讲它支持ODBC和JDBC。完善的标准支持使得系统开发、维护和管理都大为方便。而现在的 NoSQLNewSQL和Hadoop 对 SQL 的支持都不完善不同的系统需要单独开发和管理且移植性不好。 第二支持分布式事务支持ACID。保证数据的强一致性。 第三做为分布式数据库拥有良好的线性扩展能力。在国内外用户生产环境中具有上百个物理节点的GPDB集群都有很多案例。 第四GPDB是企业级数据库产品全球有上千个集群在不同客户的生产环境运行。这些集群为全球很多大的金融、政府、物流、零售等公司的关键业务提供服务。 第五GPDB是Greenplum现在的Pivotal公司十多年研发投入的结果。GPDB基于PostgreSQL 8.2PostgreSQL 8.2有大约80万行源代码而GPDB现在有130万行源码。相比PostgreSQL 8.2增加了约50万行的源代码。 第六Greenplum有很多合作伙伴GPDB有完善的生态系统可以与很多企业级产品集成譬如SASCognosInformaticTableau等也可以很多种开源软件集成譬如Pentaho,Talend 等。 二. Greenplum架构 2.1 平台架构 图1是Greenplum数据库平台概括图。平台分为四个层次我们依次从下往上看。 MPP核心架构 GPDB是大规模无共享的处理架构后面会专门介绍 先进的并行优化器是性能突出的关键之一。GPDB有两个优化器一个是基于PostgreSQL planner的优化器一个是全新开发的ORCA优化器。ORCA是Greenplum 5年以前启动的全新项目这个优化器经过几年的开发和测试之后最近已经成为GPDB企业版本的默认优化器。 GPDB的存储引擎支持多态存储一个表的数据可以根据访问模式的不同使用不同的存储方式。存储方式对用户透明执行查询时不用关心待访问的数据使用的存储模式优化器会自动选择最佳查询计划。 分布式数据库中某些操作例如跨节点关联需要多个节点间进行数据交换。GPDB的并行数据库流引擎可以根据数据的特点例如分布方式、数据量等选择最合适的数据流操作符。目前GPDB支持两种数据流操作符重分发Redistribution和广播Broadcast。重分发根据数据的哈希值重新分发到各个数据节点上适用于数据量大的情况广播则将数据发送给所有数据节点适用于数据量较小的情况例如维度表。 软件交换机是GPDB的一个重要组件软件交换机可以在各个数据节点间及与主节点间建立可靠的UDP数据通讯机制是实现高效数据流的核心。 Scatter/Gather 流引擎是专为并行数据加载和导出而设计Scatter指数据通过并行加载服务器并行分散到各个数据节点Gather指数据在 GPDB内部可以根据分布策略按需并行分发。 服务层 GPDB支持多级容错机制和高可用  o 主节点Master高可用为了避免主节点单点故障可以设置一个主节点的副本称为 Standby Master他们之间通过流复制技术实现同步复制。当主节点发生故障时从节点成为主节点处理用户请求并协调查询执行。它们之间通过心跳检测故障。  o 数据节点Segment高可用每个数据节点都可以配备一个镜像它们之间通过文件操作级别的同步实现数据的同步复制称为filerep技术。数据节点上建议使用RAID5磁盘以进一步提高数据的高可用。故障检测进程ftsprobe定期发送心跳给各个数据节点。当某个节点发生故障时GPDB会自动进行故障切换。  o 网络高可用为了避免网络的单点故障每个主机配置多个网口并使用多个交换机避免网络故障时造成整个服务不可用。 在线扩展数据量增大现有集群不能满足需求时可以对GPDB数据库进行动态扩展。扩展过程中业务可以继续运行不需要宕机。 任务管理是指对资源的管理和使用情况的管理。 产品特性 数据加载在后面会专门介绍。 数据联邦是比较有意思的最近“数据湖泊”这个词非常火热数据湖泊的目的是不需再对数据像以前那样经过定制生成特定的业务报表而是保存原始数据什么时候想分析就从原始数据上直接处理。GBDB可以实现数据湖泊我们称之为数据联邦它能访问和处理数据中心里面的所有数据不管你的数据是在Hadoop、在文件系统上、还是在其他数据库中Greenplum可以使用一个SQL在保证ACID的前提下访问所有数据。 GPDB即支持行存也支持列存。还为不需更新的数据存储和处理进行了专门的优化。 支持多种压缩方法包括QuickLZZlibRLE 等。 支持多级分区表分区支持多种模式包括范围列表等。 支持B树、位图和GiST 等索引 GPDB认证机制支持多种方式包括LDAP和Kerberos等。通过访问控制列表ACL可以实现灵活的基于角色的安全控制。 扩展语言支持GPDB 支持使用多种流行语言实现用户自定义函数UDF类似于Oracle的存储过程包括 PythonRJavaPerlC/C 等。 地理信息处理通过集成PostGISGPDB支持对地理信息进行存储和分析。 内建数据挖掘算法库通过MADLib现在是Apache孵化项目算法库可以内建几十种常见的数据分析和挖掘算法到GPDB数据库中包括逻辑回归决策树随机森林等。不需要写任何算法代码通过SQL就可以使用其中的所有算法。 文本检索通过GPText扩展GPDB可以支持高效灵活丰富的全文检索功能。与 MADLib 合用可以进行并行文本分析和挖掘。 客户端访问和工具 通过psql命令行工具可以访问GPDB数据库的所有功能此外还提供了ODBC、JDBC、OLEDB、libpq等应用编程接口。 数据库或者数据集群的管理工具非常重要GPDB提供了图形化的管理工具GPCCGreenplum Command Center帮你管理状态监控资源使用情况。 Greenplum Workload Manager是刚刚发布的新产品用以实现基于规则的资源管理。它支持自定义规则当某个SQL满足规则描述的条件时会执行某些操作。比如你可以定义规则自动取消消耗CPU资源达50%以上的查询。 2.2 大规模并行处理MPP无共享架构 MPP 是Greenplum数据库最突出的特色。现在很流行MPP这个词我们可以看一下它是什么意思。下边图2中主节点有两个一个是主节点一个是从主节点。通过软交换机制也就是通过高速网络主节点连到数据节点。每个数据节点有自己的CPU自己的内存自己的硬盘他们唯一共享的就是网络。这也是称为无共享架构的原因。这种架构的好处是集群是分布式的环境数据可以分布在很多节点上进行并行处理可以做到线性扩展。 在分布式数据库中性能好坏的最重要因素是数据分布是否均匀。如果数据分布不均匀有的节点上数据非常多有的节点数据很少这样会出现短板效应整个SQL的效率不会很好。Greenplum支持多种数据分布的策略默认使用主键或者第一个字段进行哈希分布还支持随机分布。除了横向上数据可以按节点分布之外在某个节点上还可以对数据进行分区。分区的规则比较灵活可以按照范围分区也可以按照列表值分区如图3。 2.3 并行查询计划和执行 下面是个简单的SQL如图4从两张表中找到2008年的销售数据。图中右边是这个SQL的查询计划。从生成的查询计划树中看到有三种不同的颜色颜色相同表示做同一件事情我们称之为分片/切片Slice。最下层的橙色切片中有一个重分发节点这个节点将本节点的数据重新分发到其他节点上。中间绿色切片表示分布式数据关联HashJoin。最上面切片负责将各个数据节点收到的数据进行汇总。 然后看看这个查询计划的执行如图5。主节点Master上的调度器QD会下发查询任务到每个数据节点数据节点收到任务后查询计划树创建工作进程QE执行任务。如果需要跨节点数据交换例如上面的HashJoin则数据节点上会创建多个工作进程协调执行任务。不同节点上执行同一任务查询计划中的切片的进程组成一个团伙Gang。数据从下往上流动最终Master返回给客户端。 2.4 多态存储 上面介绍了GPDB的特点和SQL执行计划以及执行过程那数据在每个节点上到底怎么样存储 Greenplum提供称为“多态存储”的灵活存储方式。多态存储可以根据数据热度或者访问模式的不同而使用不同的存储方式。一张表的不同数据可以使用不同的物理存储方式如图6。支持的存储方式包含 行存储行存储是传统数据库常用的存储方式特点是访问比较快多列更新比较容易。 列存储列存储按列保存不同列的数据存储在不同的地方通常是不同文件中。适合一次只访问宽表中某几个字段的情况。列存储的另外一个优势是压缩比高。 外部表数据保存在其他系统中例如HDFS数据库只保留元数据信息。 2.5 大规模并行数据加载 作为一个数据库一定会保存和处理数据。那数据来源于什么地方Oracle这样的数据库里面的数据多是客户生成的譬如你银行转账、淘宝订单等。对于数据分析型的数据库其源数据通常是在其他系统中而且数据量很大。这样数据加载的能力就变得非常重要。Greenplum提供了非常好的数据加载方案支持高速的加载各种数据源的不同数据格式的数据如图7。 并行数据加载因为是并行数据加载所以性能非常好。Greenplum有叫DCA的一体机产品第一代DCA可以做到10TB/小时第二代为16TB/小时。第三代很快就要发布了速度会更快。 数据源和数据格式数据源支持Hadoop文件系统数据库还有 ETL管理的数据。数据格式支持文本CSVParquetAvro等。 三. Greenplum核心组件 Greenplum 数据库包括以下核心组件 解析器主节点收到客户端请求后执行认证操作。认证成功建立连接后客户端可以发送查询给数据库。解析器负责对收到的查询SQL字符串进行词法解析、语法解析并生成语法树。 优化器优化器对解析器的结果进行处理从所有可能的查询计划中选择一个最优或者接近最优的计划生成查询计划。查询计划描述了如何执行一个查询通常以树形结构描述。Greenplum最新的优化器叫 ORCA关于 ORCA可以从 ACM 论文中获得详细信息。http://dl.acm.org/citation.cfm?id2595637dlACMcollDLCFID569750122CFTOKEN89888184 调度器QD调度器发送优化后的查询计划给所有数据节点Segments上的执行器QE。调度器负责任务的执行包括执行器的创建、销毁、错误处理、任务取消、状态更新等。 执行器QE执行器收到调度器发送的查询计划后开始执行自己负责的那部分计划。典型的操作包括数据扫描、哈希关联、排序、聚集等。 Interconnect负责集群中各个节点间的数据传输。 系统表系统表存储和管理数据库、表、字段的元数据。每个节点上都有相应的拷贝。 分布式事务主节点上的分布式事务管理器协调数据节点上事务的提交和回滚操作由两阶段提交2PC实现。每个数据节点都有自己的事务日志负责自己节点上的事务处理。 四、Greenplum开源 2015年3月份Pivotal宣布了Greenplum的开源计划经过6个月紧锣密鼓的工作于10月27号正式开源。官方网站为http://greenplum.org。许可证书使用Apache 2许可证。 Greenplum 开源社区提供了运行环境沙盒以及使用教程里面包含了Greenplum数据库的一些主要特性。从https://github.com/greenplum-db/gpdb-sandbox-tutorials 可以下载沙盒和教程。 有关Greenplum数据库使用和开发的任何问题都可以去邮件列表讨论邮件列表有两个gpdb-devgreenplum.org 和gpdb-usergreenplum.org。 源代码位于https://github.com/greenplum-db/gpdb开源不到两个月就有1187个收藏256个fork超过150个pull request其中136个pull request 已经关闭。贡献者中除了包含Pivotal的员工外还有来自全球包括中国、美国、日本和欧洲的社区开发人员。关于从源代码编译和安装Greenplum数据库可以参考http://gpdb.rocks/gpdb/2015/10/29/how-to-build-gpdb.html
http://www.pierceye.com/news/759379/

相关文章:

  • 深圳网站网页制作公司深圳品牌网站建设公司有哪些
  • 网站建设中 windows网站后台用什么做
  • 外贸营销型网站建站怎么做便民信息网站
  • 事业单位门户网站建设的建议大连建设工程信息网华宇凤凰城东侧市政管网配套工程
  • 上海网站建设开发哪亚马逊官网首页中国
  • 常德网站建设套餐报价英文网站字体大小
  • 橙色网站logo 配色播放器网站怎么做
  • dw网站制作怎样做网站xml
  • 房屋租赁网站开发意义新网站如何做排名
  • 钉钉如何做自己的网站银川企业网站建设
  • 做游戏女角色去衣的网站网站建设及售后服务的说明书
  • 微网站下载资料怎么做网站开发毕业设计任务书怎么写
  • ckplayer网站根目录泉州 网站制作
  • 中国建设银行网站江苏分行帮别人做网站收多少钱合适
  • 公司该建哪种网站带有互动的网站开发
  • 怎样进入谷歌网站怎么做一个简易网站
  • 邯郸网站优化公司集团公司简介模板
  • 网站的需求分析怎么写文山州住房建设网站
  • 广东网站开发费用动易的网站能否静态
  • 网站的后期维护php建设图书网站代码
  • 做营销网站制作外贸多语言网站建设
  • 广州做网站 信科网络wordpress优化宝塔
  • 深圳网站制作作枣庄做网站制作
  • 企业做网站方案建筑公司网站平台
  • 简单的企业网站phpwordpress 图标插件
  • 网页界面设计评分标准东营网站关键字优化
  • 手表网站背景素材玉山网站建设
  • 增城新塘网站建设温州网站推广效果
  • 东莞市住房建设局网站编程能干什么
  • asp做一个简单网站推广图片素材