DM针对大数据量环境下分析型应用的支持方案_第1页
DM针对大数据量环境下分析型应用的支持方案_第2页
DM针对大数据量环境下分析型应用的支持方案_第3页
DM针对大数据量环境下分析型应用的支持方案_第4页
DM针对大数据量环境下分析型应用的支持方案_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DTCCC20111DM针对对大数据据量环境境下分析析型应用的支支持方案案大纲一个实实际案例例挑战和和解决方方案下一步步工作规规划DTCCC20111DTCCC20111一个实际际案例案例简介介DTCCC20111 海量量数据 基于于已有硬硬件投资资 单服服务器节节点 操作作库和分分析库合合并 以查查询分析析为主,兼兼顾少量量数据维维护硬件与拓拓扑千兆交换换机DTCCC20111应用服务务器数据汇总总文本数据源文本 Exxcell数据数据清洗洗与入库数据库服务器P5500Cpu x 44Mem 32GGBP5500Cpu x 44Mem 32GGB源源16 XX 1TTB SSASRAIDD

2、5文本数据源数据案例简介介-数据DTCCC20111 以常常规数据据为主,主主要为数数值、字字符串、时间类型型 日增增长数据据量为约约56GG,3亿条元元组 当前前数据量量3TBB 最大大单表为为计费表表,目前前约1550亿条条记录 数据据保存220年后后归档为为历史数数据 在线线数据规规模将超超过4000TBB典型业务务流程DTCCC20111 源数数据清洗洗入库 分析析统计型型查询 第一一步过滤滤的筛选选条件不不确定 试错错式的查查询分析析过程,成成功后固固化,一一般包含含20多个个步骤 大规规模的连连接查询询、子查查询、联联合查询询、数据据分组与与排序、临时结果集集与临时时表等 复杂杂S

3、QLL不多,但但IO非常常大 日常常数据维维护 手工工修改记记录内容容 批量量删除 定期期维护案例需求求DTCCC20111 关键键在查询询性能 第一一个过滤滤步骤 筛选选字段由由用户随随机定义义,因此此无法使使用索引引 一般般会得到到千万级级别的结结果集 大量量的多表表连接查查询 数据据装载性性能 初始始入库448亿条条,近11T:限限48小时时,相当当于3万条/ss 后续续每3天入库库一次,9亿条,168G,限10小时内完成DTCCC20111挑战-核核心是性性能原有产品品难以支支持分析析型应用用DTCCC20011只支持行行式存储储查询优化化器比较较简陋虚拟机实实现不尽尽合理物理存储储设

4、计有有待优化化日志系统统过于复复杂不能充分分利用多多机资源源提升性性能数据分片片技术不不完善于20009年开开始新一一代产品品DM77的研制制DTCCC20111持续的技技术积累累5.6引引入物理理操作符符,虚拟机机6.0引引入高级级特性和和oraaclee 兼容容特性DM720111DM5.6DM620099DM1-DM33DM4200442007719888-20033DM系统研制历程对于性能能的理解解DTCCC20111应用系统统的设计表达式计计算优化器综合性能能数据/控控制权传递I/O效效率并发/并并行数据控制制权传递递-批量技技术 DDTCCC20111 向量量数据处处理 在数数据泵

5、一一次传送送一批数数据 减少少控制转转移的CCPU损损耗; 有利利于批量量的表达达式计算算传统的数数据传递递PROJJECTTFILTTER一次只传传递一条条记录每个操作作符一次次只处理理一行记录111控制权需需要反复复传递SCANNDTCC2011向量式的的数据传传递PROJJECTT减少控制制权限的的反复传传递提升CPPU的有有效利用用率FILTTER便于表达达式批量量计算SCANN12N12NDTCC2011批量技术术-数据入入库DTCCC20111 将系系统的初初始数据据入库 原有有BCPP接口达达到50000条条/s,仍仍无法满满足要求求 改进进: 在服服务器端端实现批批量,减减少执

6、行行流程中中的控制制跳转 效率率提升倍批量技术术-全表更更新DTCCC20111普通批量普通批量量绑定针对大表表更新的特定定的批量绑定定消息计划生成成生成特定定计划,减少少执行流程单趟扫描描一个IID进行行更新,执执行200万次ID进行行排序,单单趟扫描描20万个IDD并进行行更新性能提升升1000倍以上上,控制制在2秒秒以内批量技术术-LIIKE谓谓词 seelecct ccounnt(*) ffromm orrderrs wwherreo_coommeent nott liike%sppeciial%reqquessts%DTCCC20111DBMSS OO 111g:3.3DBMSS S

7、S 220055: 110DM7:0.4ordeers : 11,5000,0000记记录cpu 2.22G,多多次执行行DTCCC20111 一个个表达式式出现多多次 Seelecct ssum(2 * c11), summ(3 * (2 * c11) froom tt 只计计算一次次,结果果缓存 v11 = 2 * c11; Seelecct ssum(v1), suum(33 * v1) frrom t 类似似思路:中间结结果重用用 一个个复杂查查询在一一条sqql语句句中使用用多次的的情况 将复复杂查询询提取,并并将结果果缓存,多多次使用用表达式计算-表达式结果重用批量表达达式计算算f

8、or (i = 00; ii 1001.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.6

9、118.015.45Q101.369.165.832.23Q110.1944.670.550.46TPC-H /SF=1对比测试(S)优化器-分析器器流程DTCCC20111SQL脚脚本语法树SFW结结构关系树优化了的的关系树树智能优化化器 基于于多趟分分析的代代价优化化器 语义义分析、代价优优化过程程分离 灵活活的计划划变换控控制 基于于时间单单位(mms)的的代价计计算 解决决统计信信息的使使用性问问题 增加加频率直直方图 增加加高度直直方图的的桶数DTCCC20111查询优化化:关系系变换DTCCC20111 SFFW结构构转换为为关系树树Seleect : IID , naameFro

10、mm : TSFW结结构投影(PROOJECCT)连接(JOIIN)半连接接(SEEMI JOIIN)选择(SELLECTT)基本表表(BAASE TABBLE)Wherre : IDD = 10PROJJECTT(ID , nnamee )SELEECT(ID = 110)BASEE _TABLLE (T)关系树查询优化化:关系系变换的的关键DDTCCC20111 消除除子查询询,“平平坦”的的关系树树 子查查询一律律转化为为半连接接(SEEMI JOIIN)例:seelecct ffromm T11 whheree t11.idd inn (sseleect ID froom TT2)PR

11、OJJECTTSEMIIJOINNT1T2查询优化化:待选选关系树树的生成成DTCCC20011 考虑虑三个因因素 A.确定的的连接次次序 B.确定的的卡特兰兰2叉树树形状 C.是否下下放过滤滤条件 采用用临时结结果减少少重复计计算 代价价模型基基本覆盖盖所有情情况 对连连接表的的个数非非常多的的情况,特殊处处理查询优化化:统计计信息DTCCC20111 记录录数据分分布情况况,用于于精确行行数估计计,特别是数数据分布布不规则则的情况况,对基基数及代价计算算有重大大影响 频率率直方图图:不同同值较少少 等高高直方图图:不同同值较多多DTCCC20111 列存存储: 数据据按列存存储 结合合自适

12、应应压缩技技术 与批批量计算算技术紧紧密结合合 列存存储优缺缺点 大幅幅提升扫扫描性能能 适合合批量装装载与删删除不适合合频繁的的插入、删除和和更新 融合合列存储储和行存存储 提供供按列存存储选项项结合分分区技术术 同时时适应OOLAPP和OLLTP应应用需求求I/O效率-融合列存储和行存储I/O效效率 行存存储优化化简化物物理记录录格式字段物物理次序序与逻辑辑次序分分离 多bbufffer类类型常驻内内存和常常规方式式淘汰用户可可以指定定 批量量读:预预处理 支持持垂直分分区和水水平分区区DTCCC20111提高并发发度 支持持并行插插入的物物理数据据存储 并行行备份和和恢复 分区区技术及及

13、相应的的并行查查询操作作符号DTCCC20111典型场景景一:大大结果集集DTCCC20111 场景景描述 某表表T,31个字字段,448亿条条记录 随机机基于某某字段筛筛选:SSELEECT * FFROMM T WHEEREFLD11=7553 查询询符合条条件的结结果集达达到千万万条记录录 分析析SQL语语句非常常简单,没没有更优优的等效效语句结果集筛筛选条件件不确定定,无法法使用索索引服务器内内存为332G,在在扫描的的过程中中必然出出现页面面淘汰由于基础础数据量量大,因因此即使使命中率率不高(0.2%),也会生成成9600万条记记录的结结果集典型场景景一:大大结果集集DTCCC201

14、11从3个方方向入手手,提升升全表扫扫描的IIO效率率 批量量技术 降低低结果集集处理的的时间消消耗 调整整数据页页读取策策略典型场景景一:大大结果集集DTCCC20111 返回回结果集集策略改改进 优化化前 根据据通信块块大小决决定结果果集分批批次返回回的数量量 第一一批结果果集返回回后,自自动完成成后续结结果集获获取和返返回 优化化后 由应应用设定定第一批批结果集集的大小小和返回回的时机机 当返返回第一一批结果果集后,工工作线程程暂停SSQL查查询请求求,直到到下一批结果果集请求求到来或或开始新新事务 效果果 快速速返回部部分结果果集,提提高用户户体验 避免免自动返返回所有有结果集集,降低

15、低服务器器资源消消耗典型场景景一:大大结果集集DTCCC20111 调整整数据读读取策略略 数据据页(ppagee)是数数据读写写的单位位 优化化前的全全表扫描描:按页页读取,每每次IOO只扫描描一个页 优化化后:一一次扫描描多个页页,减少少IO数量量 测试试:经过过优化后后,磁盘盘的吞吐吐量提升升1倍典型场景景二:大大表连接接DTCCC20111 场景景描述 表TT1,31个字字段,550000W条记记录,数数据类型型包括iint、varccharr、dattetiime、Decc;表T22,155个字段段,5000W条条记录,数据类型型包括vvarccharr、dattetiime、Dec

16、c; SEELECCT TT1.NNAMEE, TT2.TTITLLE FFROMM PEERSOON.PPERSSONT1, RESSOURRCESS.EMMPLOOYEEE T22 WHHEREET1.PPERSSONIID = T22.PEERSOONIDD ANND TT1.SSEX = M; 连接接查询字字段由最最终用户户临时指指定,表表上未建建索引 结果果集不大大,但查查询表数数据量大大,连接接查询响响应时间间陡增典型场景景二:大大表连接接DTCCC20111 分析析 行存存储特性性:连接接查询所所连接的的字段在在数据页页中的存储非连连续,进进行连接接查询,需需将所有有数据页页读到

17、内存,IIO消耗耗巨大; 连接接匹配时时,要对对读入缓缓存中的的所有页页进行扫扫描。 行存存储:连接列列分散在在每个数数据页中中Cn+11页1Cn+11页NC1C2CnC1CmC1C2CnC1Cm典型场景景二:大大表连接接DTCCC20111 优化化方向:列存储储按字段段存储连接列列被集中中存储Cn+11 CCn+11页1Cn+11页N读入缓缓存中的的数据页页明显减减少,系系统IOO下降C1C1C1C2C2C3Cm典型场景景二:大大表连接接 优化化方向:存储压压缩 适用用于列存存储模式式的压缩缩算法 初步步压缩结结果:DTCCC20111采用本案案例数据据进行测测试Floaat 54%(压缩缩

18、后大小小/压缩前前大小)Doubble 33%Dec 552%字符56%典型场景景二:大大表连接接 优化化效果从17小小时降至至10分钟钟以内DTCCC20111典型场景景三:全全表查询询建表DDTCCC20111 场景景描述 表TT,155个字段段,5000W条条记录,数数据类型型包括iint、varccharr、dattetiime、Decc ; 根据据T进行查查询建表表:CRREATTE TTABLLE TTT aas SSELEECT * FFROMMT;典型场景景三:全全表查询询建表DDTCCC20111 分析析 大表表进行查查询建表表时,需需经过以以下五个个步骤 这个个过程中中可优

19、化化的操作作有:查查询与结结果集的的生成和大大量数据据的插入入操作典型场景景三:全全表查询询建表DDTCCC20111 直接接B树操作作 避免免结果集集处理与与数据插插入操作 直接接复制根根节点和和叶子是是在内存中进进行操作作,速度度更快 优化化效果对案例中中的T进行建建表查询询 优化化前耗时时约355S 优化化后耗时时约4SS,性能能提升9倍装载表数数据到内内存源表B树树扫描复制B树树典型场景景四:重重复表达达式计算算DTCCC20011 场景景描述 针对对5000万条记记录的表表进行如如下查询询 SEELECCT IIDnuum,ssub(6,88,IDDnumm) aas 生生日,(no

20、ww()-sub(6,88,IDDnumm) as 年龄 froom 问题题分析 表达达式suub(66,8,IDnnum) 可重重用典型场景景四:重重复表达达式计算算DTCCC20011 改进进优化: 一个个表达式式出现多多次,只只计算一一次 本例例中性能能提升770%。其他场场景性能能提升程程度取决于计计算表达达式的复复杂度与与数据量量典型场景景五:并并行查询询插入DDTCCC20111 场景景描述 同结结构的表表T1T100,每张张表5000万条条记录,需需要将110张表的所所有数据据合并到到一个临临时表TTtmpp中 INNSERRT IINTOO Tttmp SELLECTT * F

21、ROOM TT1 INNSERRT IINTOO Tttmp SELLECTT * FROOM TT2。 应用用的并行行化并没没有带来来较大的的提升 分析析 Tttmp成成为瓶颈颈:原有有的逻辑辑Rowwid成成为资源源瓶颈 逻辑辑Rowwid:不代表表物理存存储位置置,更新新、插入入、重组组等操作代代价降低低,但RRowiid需要要通过临临界资源源获取 原有有产品针针对OLLTP业业务场景景,OLLTP事事务以分分散、短短小事务为为主,原原有的RRowIID机制制不会成成为突出出瓶颈典型场景景五:并并行查询询插入DDTCCC20111 改进进 物理理RowwID:代表记记录的物物理存储储位置

22、 多个个工作线线程进行行插入操操作,无无需进入入临界资资源获取rrowiid,每每个工作作线程自自行生成成RowwID 实现现真正意意义上的的并发插插入应用优化化DTCCC20111 好的的性能需需要应用用与数据据库的配配合实现现 应用用架构设设计应站站在系统统全局考考虑性能能问题 应用用与数据据库应该该取长补补短 数据据存储 基于于分区表表进行数数据划分分 应用用的并行行化 复杂杂事务分分解为多多个可并并行的简简单事务务应用优化化-手段DTCCC20111保存第一一步过滤滤结果集集利用视图图减少中中间结果果集的保保存数据按月月份分区区TOP查查询减少少不必要要的全结结果集应用优化化-大表的的

23、全表扫扫描 DDTCCC20111 典型型场景 50000万万无索引引TOPP查询:SELLECTT * FROOM TT6WHERRE NNAMEE LIIKE 张三三 优化化前:数数据库服服务器CCPU满满载而应应用服务务器没有有负载 在最最坏情况况下,将将需要扫扫描整个个表 分析析: 系统统设计需需要站在在全局角角度,充充分考虑虑应用、中间件、数据库库之间的的负载分分配 充分分利用已已有的硬硬件应用优化化-大表的的全表扫扫描 DDTCCC20111 改进进: 数据据进行分分表和分分区 DMM已实现现的分区区表并行行查询操操作符,提提供了分区表优优化的支支持 应用用依据分分表更改改查询模模

24、块,从从单线程程改为多线程 在应应用服务务器将各各分表的的查询结结果合并并 效果果: 按最最坏情况况测试,查查询时间间由原来来的不可可预期,提升升到2分钟内内应用优化化-数据清清洗与入入库 DDTCCC20111 最初初方式: 基于于JDBBC驱动动的数据据迁移工工具进行行清洗和和入库操作 批量量绑定 迁移移工具的的资源消消耗随着着迁移时时间的持持续增加加,导致迁移移速度在在运行33天后急急剧下降降 初始始数据(1T)入库时间达到1个月,相当于400条条/s应用优化化-数据清清洗与入入库 DDTCCC20111 问题题分析: 超过过1000亿条记记录,即即使每550000条提交交一次,也有2百

25、百万次的的解析-计划-代价-执行流流程 大量量的数据据库reedo与与unddo日志志操作 解决决方案 利用用批量 利用用并行化化充分发发挥多CCPU处处理能力力,增加加IO的吞吐量量 JDDBC方方式转变变为JNNI+OODBCC 实现现动态编编译型的的ETLL脚本引引擎DTCCC20111图 DMMETLL 内嵌嵌BCPP应用优化-DM ETL的技术改进DTCCC20111应用优化-数据划分和并行化应用优化化-BCCPDTCCC20111 将清清洗与入入库分离离 并行行化清洗洗和装载载入库 入库库应用BBCP方方式 通过过批量绑绑定减少少了网络络开销 服务务器内部部为BCCP专门门实现了了”bccp_ffastt_innserrt”方方法 绕过过SQLL处理流流程,直直接操作作B树叶子子节点 不进进行Reedo与与Unddo 不进进行约束束检查 对原原有BCCP也进进行了服服务器端端的批量量化处理理最终效果果:性能能提升1100倍倍,能够够在8小时内内完成海量数据据备份的的难题DTCCC20111 备份份的效率率问题 整库库备份操操作耗时时太长

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论