Greenplum数据库开发基础.pptx

Greenplum 数据库开发基础2014年10月目录Greenplum概述和数据分布数据加载和外部表客户端工具Greenplum数据库基础Greenplum与Oracle优化策略其他要点及示例MPP架构MPP (Massively Parallel Processing) Shared-Nothing ArchitectureMPP无共享架构的优势数据分布在所有的并行节点上每个节点只处理其中一部分数据最优化的I/O处理所有的节点同时进行并行处理节点之间完全无共享,无I/O冲突自动化的并行处理机制内部处理自动化并行,无需人工分区或优化加载与访问方式与一般数据库相同最易于扩展的架构BI和数据分析的最佳选择增加节点实现线性扩展增加节点可线性增加存储、查询和加载性能InterconnectLoadingGreenplum基本架构MPP (Massively Parallel Processing) Shared-Nothing ArchitectureSQLMapReduceMasterSeversQuery planning dispatch NetworkInterconnectSegmentSeversQuery processing data storageExternalSourcesLoading, streaming, etc.Greenplum的并行处理特性并行处理由系统自动完成,无需人工干预所有数据均匀分布到所有节点,每个节点都计算自己的部分数据,所以并行处理无需人工干预,系统自动完成。?无需复杂的调优需求,只需要加载数据和查询DBA工作量极少,无需复杂的调优工作和维护工作。?扩展性可线性扩展到10,000个节点每增加一个节点,查询、加载性能都成线性增长客户端访问及第三方工具支持完全支持数据库技术接口标准,例如: SQL, ODBC, JDBC, OLEDB等。同时,广泛地支持各个BI和ETL软件工具。Greenplum 基本体系架构客户端接口和程序 psql pgAdmin III ODBC/Datadirect JDBC Perl DBI Python libpqOLE DBMaster Host 访问系统的入口建立与客户端的连接和管理SQL的解析并形成执行计划执行计划向Segment的分发收集Segment的执行结果协调工作处理过程Master不存储业务数据,只存储系统目录表和元数据(数据字典)Segment 每段(Segment)存放一部分用户数据 一个系统可以有多段 用户不能直接存取访问 所有对段的访问都经过Master用户查询SQL的执行Interconnect Greenplum数据库之间的连接层 进程间协调和管理 基于千兆以太网架构 属于系统内部私网配置 支持两种协议:TCP or UDPGreenplum 高可用性体系架构Master/Standby 镜像保护Standby 实时与 Master 节点的 Catalog 和事务日志保持同步Standby 节点用于当 Primary Master 节点损坏时提供 Master 服务数据冗余-Segment 镜像保护每个Segment的数据冗余存放在另一个Segment上,数据实时同步当Primary Segment失败时,Mirror Segment将自动提供服务Primary Segment恢复正常后,使用gprecoverseg –F 同步数据。表分布的策略-并行计算的基础 Hash分布 CREATE TABLE … DISTRIBUTED BY (column [,…]) 同样数值的内容被分配到同一个Segment上 循环分布 CREATE TABLE … DISTRIBUTED RANDOMLY 具有同样数值的行内容并不一定在同一个Segment上分布键(Distribution Keys)用于将数据平均分布到Segments之中的一个或者多个字段用表的主键作分布键可以使数据分布均匀建表时使用 DISTRIBUTED BY 子句定义表的分布键CREATE TABLE sales (dt date, prc float, qty int, cust_id int, prod_id int, vend_id int)DISTRIBUTED BY (dt, cust_id, prod_id);如果表没有主键,或者没有合适的字段作为分布键,可以使用随机分布键 (DISTRIBUTED RANDOMLY)如果没有明确定义分布键,系统会把第一个字段作为表的分布键分布存储43Oct 20ct 20ct 20ct 20ct 20ct 20 2005125

文档评论(0)

1亿VIP精品文档

相关文档