资源描述:
《GreenPlum数据库培训资料ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据软件研发中心GreenPlum数据库基本技能培训北京东方国信科技股份有限公司GREENPLUM简介列存储并行运算创建删除表更新数据存储过程其他基本语法开发注意事项大纲1GREENPLUM简介NetworkInterconnect............Master节点生成查询计划并派发汇总执行结果Segment节点执行查询计划及数据存储管理SQLMapReduce外部数据源并行装载或导出2GREENPLUM简介并行运算列存储创建删除表查询数据更新数据存储过程其他基本语法开发注意事项大纲3并行运算并行加载技术充分利用分布式计算和分布式存储
2、的优势,保证发挥出每一块Disk的I/O资源并行加载比串行加载,速度提高40-50倍以上,减少ETL窗口时间增加Segment和ETLServer,并行加载速度呈线性增长4GREENPLUM简介并行运算列存储创建删除表查询数据更新数据存储过程其他基本语法开发注意事项大纲5列存储将每条记录的每一列字段数据聚合存储优点:省IO操作、大数据量访问提高性能、增加磁盘空间利用率列存储ABC1A1B1C12A2B2C23A3B3C34A4B4C45A5B5C56A6B6C6A1,A2,A3,A4,A5,A6B1,B2,B3,B4C1,C2,C3,C4,
3、C5,C6B5,B66行列组合存储优势列存储少数字段查询,大幅节省I/O操作大数据量频繁访问,性能提升30%以上Column1Column2Column3Row1Row2Row3+行存储大多数字段频繁查询随机行访问较多组合存储按照应用类型,随需定制Partition存储方式达到最优化访问性能7GREENPLUM简介列存储并行运算创建删除表查询数据存储过程其他基本语法开发注意事项大纲8创建删除表CREATETABLEcustomer(c_customer_idINT,week_numberINT,...WITH(appendonly=t
4、rue,orientation=column,compresstype=zlib,COMPRESSLEVEL=9))DISTRIBUTEDBY(c_customer_id)PARTITIONBYRANGE(week_number)(START(200701)END(200752)INCLUSIVE);创建表(哈希方式):9创建删除表分布键(哈希键)※未指定分布键,默认为表的主键为分布键,若表没有主键,则默认把第一列当做哈希键※分布键可以被定义为一个或多个※分布键必须是唯一键※不能修改分布键,且哈希键的列不能update※一个表只能定义一个唯
5、一键,且主键和唯一键必须作为哈希键※不支持Foreignkey※不支持Trigger※数值重复度低,保证数据均匀分布※防止数据倾斜,布尔值不适合,float、double数据类型也不适合,interger、varchar比较好※防止数据处理倾斜※大表经常做连接时,选择相同的分布键,避免跨节点进行join※尽量不用序列号,无意义10创建删除表表压缩※Apend-only类型的表,基于行列均可,并可做行或列压缩。分区键※在表的数据分布基础之上,进行数据打散※数据分布均匀为原则※分区不重叠11删除表:DROPTABLEtable_name;创建删
6、除表12GREENPLUM简介并行运算列存储创建删除表查询数据存储过程其他基本语法开发注意事项大纲13查询数据SELECTpn,vn,sum(prc*qty)FROMsaleGROUPBYROLLUP(pn,vn)ORDERBY1,2,3;SELECTpn,vn,sum(prc*qty)FROMsaleGROUPBYpn,vnUNIONALLSELECTpn,null,sum(prc*qty)FROMsaleGROUPBYpnUNIONALLSELECTnull,null,sum(prc*qty)FROMSALEORDERBY1,2,3;优
7、化代替14优化代替SELECTpn,vn,sum(prc*qty)FROMsaleGROUPBYGROUPINGSETS((pn,vn),(pn),(vn),())ORDERBY1,2,3;SELECTpn,vn,sum(prc*qty)FROMsaleGROUPBYCUBE(pn,vn)ORDERBY1,2,3;15GREENPLUM简介并行运算列存储创建删除表查询数据存储过程其他基本语法开发注意事项大纲16存储过程定义方式:调用方式CREATEFUNCTIONFUNC_NAME(INday_idcharactervarying,OUT
8、v_retcodecharactervarying)RETURNSrecordAS$$DECLAREBENIN……END$$LANGUAGESQL;SELECTFUNC_NAME