greenplum数据库基础培训new

上传人:第*** 文档编号:62045435 上传时间:2018-12-16 格式:PPT 页数:99 大小:7.81MB
返回 下载 相关 举报
greenplum数据库基础培训new_第1页
第1页 / 共99页
greenplum数据库基础培训new_第2页
第2页 / 共99页
greenplum数据库基础培训new_第3页
第3页 / 共99页
greenplum数据库基础培训new_第4页
第4页 / 共99页
greenplum数据库基础培训new_第5页
第5页 / 共99页
点击查看更多>>
资源描述

《greenplum数据库基础培训new》由会员分享,可在线阅读,更多相关《greenplum数据库基础培训new(99页珍藏版)》请在金锄头文库上搜索。

1、Greenplum 数据库基础培训,Wei.Li Senior Data Architecture Alpine Solution,Greenplum数据库,海量并行处理 (Massively Parallel Processing) DBMS 基于 PostgreSQL 8.2 相同的客户端功能 增加支持并行处理的技术 增加支持数据仓库和BI的特性 外部表(external tables)/并行加载(parallel loading) 资源管理 查询优化器增强(query optimizer enhancements),S1002 Network Configuration,Greenplu

2、m 基本体系架构,客户端接口和程序,psql pgAdmin III ODBC/Datadirect JDBC Perl DBI Python libpq OLE DB,Master Host,访问系统的入口 数据库侦听进程 (postgres) 处理所有用户连接 建立查询计划 协调工作处理过程 管理工具 系统目录表和元数据(数据字典) 不存放任何用户数据,每段(Segment)存放一部分用户数据 一个系统可以有多段 用户不能直接存取访问 所有对段的访问都经过Master 数据库监听进程(postgres)监听来自Master的连接,Segment,Greenplum数据库之间的连接层 进程间

3、协调和管理 基于千兆以太网架构 属于系统内部私网配置 支持两种协议:TCP or UDP,Interconnect,Greenplum 高可用性体系架构,Standby 节点用于当 Master 节点损坏时提供 Master 服务 Standby 实时与 Master 节点的 Catalog 和事务日志保持同步,Master/Standby 镜像保护,每个Segment的数据冗余存放在另一个Segment上,数据实时同步 当Primary Segment失败时,Mirror Segment将自动提供服务 Primary Segment恢复正常后,使用gprecoverseg F 同步数据。,数

4、据冗余-Segment 镜像保护,Hash分布 CREATE TABLE DISTRIBUTED BY (column ,) 同样数值的内容被分配到同一个Segment上 循环分布 CREATE TABLE DISTRIBUTED RANDOMLY 具有同样数值的行内容并不一定在同一个Segment上,表分布的策略-并行计算的基础,表分布的策略-并行计算的基础,查询命令的执行,举例说明:按卡号、客户号、机构的分布方式优劣点,分布存储,查询命令的执行,查询命令的执行,SQL查询处理机制,SELECT customer, amount FROM sales JOIN customer USING

5、(cust_id) WHERE date=04302008;,并行查询计划,表分区的概念,将一张大表逻辑性地分成多个部分,如按照分区条件进行查询,将减少数据的扫描范围,提高系统性能。 提高对于特定类型数据的查询速度和性能 也可以更方便数据库的维护和更新 两种类型: Range分区 (日期范围或数字范围)/如日期、价格等 List 分区,例如地区、产品等 Greenplum中的表分区在使用中具有总表的继承性,并通过Check参数指定相应的子表 分区的子表依然根据分布策略分布在各segment上 分区是一种非常有用的优化措施,例如一年的交易按交易日期分区后,查询一天的交易性能将提高365倍!,Se

6、gment 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,每个分区表的数据平均分布到各个节点,表分区可减少数据的搜索范围, 提高查询性能,Data Distribution & Pa

7、rtitioning,SELECT COUNT(*) FROM orders WHERE order_date= Oct 20 2005 AND order_date Oct 27 2005,VS,Hash Distribution,Hash Distribution+ Table Partitioning,Full Table Scan VS. Partition Pruning,表分区示意图,压缩存储,压缩存储 支持ZLIB和QUICKLZ方式的压缩,压缩比可到10:1 压缩表只能是Append Only方式 压缩数据不一定会带来性能的下降,压缩表将消耗CPU资源,而减少I/O资源占用 语

8、法 CREATE TABLE foo (a int, b text) WITH (appendonly=true, compresstype=zlib, compresslevel=5);,行列存储,Greenplum支持行或列存储模式 列模式目前只支持Append Only 如果常用的查询只取表中少量字段,则列模式效率更高,如查询需要取表中的大量字段,行模式效率更高 语法: CREATE TABLE sales2 (LIKE sales) WITH (appendonly=true, orientation=column); 效率比较测试: 测试1:需要去表中所有字段,此时行存储更快。 se

9、lect * from dw_ods.s1_sema_scmcaccp_row where crdacct_nbr= 4033930000166380411; 41秒 select * from dw_ods.s1_sema_scmcaccp_col where crdacct_nbr= 4033930000166380411; 116秒 测试2:只取表中少量字段,列存储更快 select crdacct_status from dw_ods.s1_sema_scmcaccp_row where crdacct_nbr= 4033930000166380411; 35秒 select crda

10、cct_status from dw_ods.s1_sema_scmcaccp_col where crdacct_nbr= 4033930000166380411; 3秒,外部表加载,外部表的特征 Read-only 数据存放在数据库外 可执行SELECT, JOIN, SORT等命令,类似正规表的操作 外部表的优点 并行方式加载 ETL的灵活性 格式错误行的容错处理 支持多种数据源 两种方式 External Tables: 基于文件 Web Tables: 基于URL或指令,基于外部表的高速数据加载,利用并行数据流引擎,Greenplum可以直接用SQL操作外部表 数据加载完全并行,外部

11、表加载的特征,并行数据加载提供最好的性能 能够处理远程存储的文件 采用HTTP协议 200 MB/s data distribution rate per gpfdist gpfdist文件分发守护进程启动: gpfdist -d /var/load_files/expenses -p 8080 -l /home/gpadmin/log ,Load good rows and catch poorly formatted rows, such as: rows with missing or extra attributes rows with attributes of the wrong

12、data type rows with invalid client encoding sequences Does not apply to constraint errors: PRIMARY KEY, NOT NULL, CHECK or UNIQUE constraints Optional error handling clause for external tables: LOG ERRORS INTO error_table SEGMENT REJECT LIMIT count ROWS | PERCENT ( PERCENT based on gp_reject_percent

13、_threshold parameter ) Example CREATE EXTERNAL TABLE ext_customer (id int, name text, sponsor text) LOCATION ( gpfdist:/filehost:8081/*.txt ) FORMAT TEXT ( DELIMITER | NULL ) LOG ERRORS INTO err_customer SEGMENT REJECT LIMIT 5 ROWS;,外部表加载异常处理,Data resides outside the database No database statistics

14、for external table data Not meant for frequent or ad-hoc access Can manually set rough statistics in pg_class: UPDATE pg_class SET reltuples=400000, relpages=400 WHERE relname=myexttable;,外部表静态统计优化,PostgreSQL command Support loading and unloading Optimized for loading a large number of rows Loads al

15、l rows in one command (not parallel) Loads data from a file or from standard input Supports error handling as does external tables EXAMPLE COPY mytable FROM /data/myfile.csv WITH CSV HEADER; (文件生成在Master) COPY mytable FROM /data/myfile.csv WITH CSV HEADER;(文件生成在本地) COPY country FROM /data/gpdb/count

16、ry_data WITH DELIMITER | LOG ERRORS INTO err_country SEGMENT REJECT LIMIT 10 ROWS;,COPY SQL 命令,Drop indexes and recreate after load Increase maintenance_work_mem parameter to speed up CREATE INDEX operations Run ANALYZE after load Run VACUUM after load errors、delete、upate。 Do not use ODBC INSERT to load large volumes of data,数据加载性能优化提示,限制查询队列的激活数 防止系统过载(CPU, disk I/O, memory),资源负载管理(Workload Management),资源队列的两种典型管理方式,Resource Queue Lim

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号