• 1. 数据软件研发中心 GreenPlum数据库基本技能培训北京东方国信科技股份有限公司
  • 2. GREENPLUM简介 列存储 并行运算 创建删除表 更新数据 存储过程 其他基本语法 开发注意事项 大纲1
  • 3. GREENPLUM简介2Network Interconnect............Master 节点 生成查询计划并派发 汇总执行结果 Segment 节点 执行查询计划及数据存储管理SQL MapReduce外部数据源 并行装载或导出
  • 4. GREENPLUM简介 并行运算 列存储 创建删除表 查询数据 更新数据 存储过程 其他基本语法 开发注意事项 大纲3
  • 5. 并行运算4并行加载技术充分利用分布式计算和分布式存储的优势,保证发挥出每一块Disk的I/O资源 并行加载比串行加载,速度提高40-50倍以上,减少ETL窗口时间 增加Segment和ETL Server,并行加载速度呈线性增长
  • 6. GREENPLUM简介 并行运算 列存储 创建删除表 查询数据 更新数据 存储过程 其他基本语法 开发注意事项 大纲5
  • 7. 列存储将每条记录的每一 列字段数据聚合存储 优点:省IO操作、大数据 量访问提高性能、增加磁 盘空间利用率 列存储6ABC1A1B1C12A2B2C23A3B3C34A4B4C45A5B5C56A6B6C6A1, A2, A3, A4, A5, A6 B1, B2, B3, B4C1, C2, C3, C4, C5, C6B5, B6
  • 8. 行列组合存储优势7列存储 少数字段查询,大幅节省I/O操作 大数据量频繁访问,性能提升30%以上Column 1Column 2Column 3Row 1Row 2Row 3+行存储 大多数字段频繁查询 随机行访问较多组合存储 按照应用类型,随需定制Partition存储方式 达到最优化访问性能
  • 9. GREENPLUM简介 列存储 并行运算 创建删除表 查询数据 存储过程 其他基本语法 开发注意事项 大纲8
  • 10. 创建删除表9CREATE TABLE customer ( c_customer_id INT, week_number INT, . . . WITH (appendonly=true,orientation=column, compresstype=zlib,COMPRESSLEVEL=9) ) DISTRIBUTED BY (c_customer_id) PARTITION BY RANGE ( week_number ) (START (200701) END (200752) INCLUSIVE); 创建表(哈希方式):
  • 11. 创建删除表10分布键(哈希键) ※ 未指定分布键,默认为表的主键为分布键,若表没有主键,则默 认把第一列当做哈希键 ※ 分布键可以被定义为一个或多个 ※ 分布键必须是唯一键 ※ 不能修改分布键,且哈希键的列不能update ※ 一个表只能定义一个唯一键,且主键和唯一键必须作为哈希键 ※ 不支持Foreign key ※ 不支持Trigger ※ 数值重复度低,保证数据均匀分布 ※ 防止数据倾斜,布尔值不适合,float、double数据类型也不适合,interger、varchar比较好 ※ 防止数据处理倾斜 ※ 大表经常做连接时,选择相同的分布键,避免跨节点进行join ※ 尽量不用序列号,无意义
  • 12. 创建删除表11表压缩 ※ Apend-only类型的表,基于行列均可,并可做行或列压缩。 分区键 ※ 在表的数据分布基础之上,进行数据打散 ※ 数据分布均匀为原则 ※ 分区不重叠
  • 13. 12删除表: DROP TABLE table_name;创建删除表
  • 14. GREENPLUM简介 并行运算 列存储 创建删除表 查询数据 存储过程 其他基本语法 开发注意事项 大纲13
  • 15. 查询数据14SELECT pn, vn, sum(prc*qty) FROM sale GROUP BY ROLLUP(pn, vn) ORDER BY 1,2,3;SELECT pn, vn, sum(prc*qty) FROM sale GROUP BY pn, vn UNION ALL SELECT pn, null, sum(prc*qty) FROM sale GROUP BY pn UNION ALL SELECT null, null, sum(prc*qty) FROM SALE ORDER BY 1,2,3;优化代替
  • 16. 15 优化代替 SELECT pn, vn, sum(prc*qty) FROM sale GROUP BY GROUPING SETS ( (pn, vn), (pn), (vn), () ) ORDER BY 1,2,3;SELECT pn, vn, sum(prc*qty) FROM sale GROUP BY CUBE(pn, vn) ORDER BY 1,2,3;
  • 17. GREENPLUM简介 并行运算 列存储 创建删除表 查询数据 存储过程 其他基本语法 开发注意事项 大纲16
  • 18. 存储过程17定义方式: 调用方式 CREATE FUNCTION FUNC_NAME(IN day_id character varying, OUT v_retcode character varying) RETURNS record AS $$ DECLARE BENIN …… END $$ LANGUAGE SQL;SELECT FUNC_NAME(‘20110930’);
  • 19. 其他基本语法18支持标准SQL(2003 standard) 完全兼容PostgreSQL 新建数据库:CREATE DATABASE 删除数据库:DROP DATABASE 修改数据库:ALTER DATABASE(名字、用户所属、参数设置) 创建模式:CREATE SCHEMA 删除模式:DROP SCHEMA 修改模式:ALTER SCHEMA(名字、用户所属) 查看当前模式:SELECT CURRENT_SCHEMA;
  • 20. 19创建用户:CREATE ROLE john WITH LOGIN 修改用户权限:ALTER ROLE john WITH CREATEDB; 修改用户密码:ALTER ROLE john WITH PASSWORD b; 对象权限赋予角色: CREATE ROLE admin CREATEROLE CREATEDB; GRANT admin TO john, sally; REVOKE admin FROM bob; 继承权限:SET ROLE admin;
  • 21. GREENPLUM简介 并行运算 列存储 创建删除表 查询数据 存储过程 其他基本语法 开发注意事项 大纲20
  • 22. 开发注意事项21数据类型转换,必须显式转换 CAST ( ’string ’ AS type ) CAST(‘2.117902’ AS REAL) 不支持NOT IN,可以用左连接代替 尽量使用外连接的方式代替嵌套子查询 查询记录,限制记录条数,如limit 100. TRIGGER不支持,foreign key无效。 数据类型与ORACLE之间的对应关系 Date-> timestamp without time zone Varchar2-> varchar CLOB-> TEXT NUMBER-> NUMBER BLOB-> BYTEA
  • 23. 2222王侃 说: (2010-09-16 14:05:40) 圆圆 部门规划给你弄了吗 时文鸿-北京 说: (2010-09-16 14:06:38) 正在弄。 时文鸿-北京 说: (2010-09-16 14:06:47) 我觉得跟你学靠谱。 时文鸿-北京 说: (2010-09-16 14:06:52) 整分析报告。 时文鸿-北京 说: (2010-09-16 14:06:57) 很有眼光。 时文鸿-北京 说: (2010-09-16 14:07:06) 改改东西,效果还是挺明显的。BONCThanks !!Information Change the WorldCopyright © 2010by BONC