环境管理针对大数据量环境下分析型应用的支持方案精品

上传人:冯** 文档编号:138725171 上传时间:2020-07-17 格式:DOC 页数:63 大小:4.37MB
返回 下载 相关 举报
环境管理针对大数据量环境下分析型应用的支持方案精品_第1页
第1页 / 共63页
环境管理针对大数据量环境下分析型应用的支持方案精品_第2页
第2页 / 共63页
环境管理针对大数据量环境下分析型应用的支持方案精品_第3页
第3页 / 共63页
环境管理针对大数据量环境下分析型应用的支持方案精品_第4页
第4页 / 共63页
环境管理针对大数据量环境下分析型应用的支持方案精品_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《环境管理针对大数据量环境下分析型应用的支持方案精品》由会员分享,可在线阅读,更多相关《环境管理针对大数据量环境下分析型应用的支持方案精品(63页珍藏版)》请在金锄头文库上搜索。

1、DTCC2011DM针对大数据量环境下分析型应用的支持方案大纲一个实际案例挑战和解决方案下一步工作规划DTCC2011DTCC2011一个实际案例案例简介DTCC2011 海量数据 基于已有硬件投资 单服务器节点 操作库和分析库合并 以查询分析为主,兼顾少量数据维护硬件与拓扑千兆交换机DTCC2011应用服务器数据汇总文本数据源文本 Excel数据数据清洗与入库数据库服务器P550Cpu x 4Mem 32GBP550Cpu x 4Mem 32GB源源16 X 1TB SASRAID 5文本数据源数据案例简介-数据DTCC2011 以常规数据为主,主要为数值、字符串、时间类型 日增长数据量为约

2、56G,3亿条元组 当前数据量3TB 最大单表为计费表,目前约150亿条记录 数据保存20年后归档为历史数据 在线数据规模将超过400TB典型业务流程DTCC2011 源数据清洗入库 分析统计型查询 第一步过滤的筛选条件不确定 试错式的查询分析过程,成功后固化,一般包含20多个步骤 大规模的连接查询、子查询、联合查询、数据分组与排序、临时结果集与临时表等 复杂SQL不多,但IO非常大 日常数据维护 手工修改记录内容 批量删除 定期维护案例需求DTCC2011 关键在查询性能 第一个过滤步骤 筛选字段由用户随机定义,因此无法使用索引 一般会得到千万级别的结果集 大量的多表连接查询 数据装载性能

3、初始入库48亿条,近1T:限48小时,相当于3万条/s 后续每3天入库一次,9亿条,168G,限10小时内完成DTCC2011挑战-核心是性能原有产品难以支持分析型应用DTCC2011只支持行式存储查询优化器比较简陋虚拟机实现不尽合理物理存储设计有待优化日志系统过于复杂不能充分利用多机资源提升性能数据分片技术不完善于2009年开始新一代产品DM7的研制DTCC2011实验室原型技术积累阶段实现各类标准持续的技术积累5.6引入物理操作符,虚拟机6.0引入高级特性和oracle 兼容特性5DM72011稳定性及功能与开源系统有差距3DM5.64DM62009对DM4-DM6的技术总结融合列存储与行

4、存储基于向量数据的1DM1-DM32DM420042007执行内核原生的MVCCOLAP应用的支持1988-2003DM系统研制历程对于性能的理解DTCC2011应用系统的设计表达式计算优化器综合性能数据/控制权传递I/O效率并发/并行数据控制权传递-批量技术 DTCC2011 向量数据处理 在数据泵一次传送一批数据 减少控制转移的CPU损耗; 有利于批量的表达式计算传统的数据传递PROJECTFILTER一次只传递一条记录每个操作符一次只处理一行记录111控制权需要反复传递SCANDTCC2011向量式的数据传递PROJECT减少控制权限的反复传递提升CPU的有效利用率FILTER便于表达式

5、批量计算SCAN12N12NDTCC2011批量技术-数据入库DTCC2011 将系统的初始数据入库 原有BCP接口达到5000条/s,仍无法满足要求 改进: 在服务器端实现批量,减少执行流程中的控制跳转 效率提升倍批量技术-全表更新DTCC2011普通批量普通批量绑定针对大表更新的特定的批量绑定消息计划生成生成特定计划,减少执行流程单趟扫描一个ID进行更新,执行20万次ID进行排序,单趟扫描20万个ID并进行更新性能提升100倍以上,控制在2秒以内批量技术-LIKE谓词 select count(*) from orders whereo_comment not like%special%r

6、equests%DTCC2011DBMS O 11g:3.3DBMS S 2005: 10DM7:0.4orders : 1,500,000记录cpu 2.2G,多次执行DTCC2011 一个表达式出现多次 Select sum(2 * c1), sum(3 * (2 * c1) from t 只计算一次,结果缓存 v1 = 2 * c1; Select sum(v1), sum(3 * v1) from t 类似思路:中间结果重用 一个复杂查询在一条sql语句中使用多次的情况 将复杂查询提取,并将结果缓存,多次使用表达式计算-表达式结果重用批量表达式计算for (i = 0; i 1001.

7、80Q181.279.2122.012.90Q191.929.065.624.17Q200.789.231000.79Q212.248.8833.015.49Q220.240.341001.16TPCHDM7DBMSO11PGSQL8.3DBMSS2005Q11.3149.0916.0112.87Q20.160.0460.190.14Q30.8621.619.302.78Q40.989.030.800.68Q51.49.054.611.58Q60.7892.720.96Q71.6111.7319.542.35Q82.30.282.972.01Q931.6118.015.45Q101.369.165.832.23Q110.1944.670.550.46TPC-H /SF=1对比测试(S)优化器-分析器流程DTCC2011SQL脚本语法分析语法树语义分析

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

当前位置:首页 > 商业/管理/HR > 企业文档

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