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

下载本文档

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

文档简介

1、DTCC220111DM针对大大数据量量环境下下分析型型应用的支持持方案大纲一个实际际案例挑战和解解决方案案下一步工工作规划划DTCC220111DTCC220111一个实际案案例案例简介DTCC220111 海量数数据 基于已已有硬件件投资 单服务务器节点点 操作库库和分析析库合并并 以查询询分析为为主,兼兼顾少量量数据维维护硬件与拓扑扑千兆交换机机DTCC220111应用服务器数据汇总文本数据源文本 Exccel数据数据清洗与与入库数据库服务器P550Cpu xx 4Mem 332GBBP550Cpu xx 4Mem 332GBB源源16 X 1TBB SAASRAID 5文本数据源数据文

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

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

4、于复杂杂不能充分利利用多机机资源提提升性能能数据分片技技术不完完善于20099年开始始新一代代产品DDM7的的研制DTCC220111持续的技术术积累5.6引入入物理操操作符,虚拟机机6.0引入入高级特特性和ooraccle 兼容特特性DM72011DM5.66DM62009DM1-DDM3DM4200420071988-2003DM系统研制历程DM系统研制历程对于性能的的理解DTCC220111应用系统的的设计表达式计算算优化器综合性能数据/控制制权传递I/O效率率并发/并行行数据控制权权传递-批量技技术 DDTCCC20111 向量数数据处理理 在数据据泵一次次传送一一批数据据 减少控控制

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

6、中的的控制跳跳转 效率提提升倍倍批量技术-全表更更新DTCC220111普通批量普通批量绑定针对大表更更新的特定的的批量绑定消消息计划生成生成特定计计划,减少执执行流程单趟扫描一一个IDD进行更新,执行行20万次次ID进行排排序,单单趟扫描描20万个ID并并进行更更新性能提升1100倍倍以上,控控制在22秒以内内批量技术-LIKKE谓词词 sellectt coountt(*) frrom ordderss whhereeo_commmennt nnot likke%speeciaal%rrequuestts%DTCC220111DBMS O 111g:3.3DBMS S 20005: 100

7、DM7:0.4orderrs : 1,5000,0000记录录cpu 22.2GG,多次次执行DTCC220111 一个表表达式出出现多次次 Sellectt suum(22 * c1), ssum(3 * (22 * c1) ffromm t 只计算算一次,结结果缓存存 v1 = 22 * c1; Sellectt suum(vv1), suum(33 * v1) frrom t 类似思思路:中中间结果果重用 一个复复杂查询询在一条条sqll语句中中使用多多次的情情况 将复杂杂查询提提取,并并将结果果缓存,多多次使用用表达式计算-表达式计算-表达式结果重用批量表达式式计算for (i = 0

8、; i 1001.80Q181.279.2122.012.90Q191.929.065.624.17Q200.789.231000.79Q212.248.8833.015.49Q220.240.341001.16TPCHTPCHDM7DBMSO11PGSQL8.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

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

10、From : TTSFW结构构投影(PPROJJECTT)连接(JJOINN)半连接(SEMMI JJOINN)选择(SSELEECT)基本表(BASSE TTABLLE)Wheree : ID = 110PROJEECT(ID , naame )SELECCT(ID = 100)BASE _TABLEE (TT)关系树查询优化:关系变变换的关关键DTTCC220111 消除子子查询,“平平坦”的的关系树树 子查询询一律转转化为半半连接(SSEMII JOOIN)例:sellectt frrom T1 wheere t1.id in (seelecct IID ffromm T22)PROJE

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

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

13、符符号DTCC220111典型场景一一:大结结果集DTCC220111 场景描描述 某表TT,31个字字段,448亿条条记录 随机基基于某字字段筛选选:SEELECCT * FRROM T WWHERREFLD1=7533 查询符符合条件件的结果果集达到到千万条条记录 分析SQL语句句非常简简单,没没有更优优的等效效语句结果集筛选选条件不不确定,无无法使用用索引服务器内存存为322G,在在扫描的的过程中中必然出出现页面面淘汰由于基础数数据量大大,因此此即使命命中率不不高(00.2%),也会生成9960万万条记录录的结果果集典型场景一一:大结结果集DTCC220111从3个方向向入手,提提升全表

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

15、DTCC220111 调整数数据读取取策略 数据页页(paage)是是数据读读写的单单位 优化前前的全表表扫描:按页读读取,每每次IOO只扫描描一个页 优化后后:一次次扫描多多个页,减减少IOO数量 测试:经过优优化后,磁磁盘的吞吞吐量提提升1倍典型场景二二:大表表连接DTCC220111 场景描描述 表T11,31个字字段,550000W条记记录,数数据类型型包括iint、varchhar、dattetiime、Decc;表T22,155个字段段,5000W条条记录,数据类型包包括vaarchhar、dattetiime、Decc; SELLECTT T11.NAAME, T22.TIITL

16、EE FRROM PERRSONN.PEERSOONT1, RRESOOURCCES.EMPPLOYYEE T2 WHEERET1.PEERSOONIDD = T2.PERRSONNID ANDD T11.SEEX = MM; 连接查查询字段段由最终终用户临临时指定定,表上上未建索索引 结果集集不大,但但查询表表数据量量大,连连接查询询响应时时间陡增增典型场景二二:大表表连接DTCC220111 分析 行存储储特性:连接查查询所连连接的字字段在数数据页中中的存储非连续续,进行行连接查查询,需需将所有有数据页页读到内存,IOO消耗巨巨大; 连接匹匹配时,要要对读入入缓存中中的所有有页进行行扫描。

17、 行存储储:连接列分分散在每每个数据据页中Cn+1页1Cn+1页NC1C2C1C2CnC1CmC1C1C2CnC1Cm典型场景二二:大表表连接DTCC220111 优化方方向:列列存储按字段存存储连接列被被集中存存储Cn+1 Cnn+1页1Cn+1页N读入缓存存中的数数据页明明显减少少,系统统IO下下降C1C1C1C1C1C2C2C3Cm典型场景二二:大表表连接 优化方方向:存存储压缩缩 适用于于列存储储模式的的压缩算算法 初步压压缩结果果:DTCC220111采用本案例例数据进进行测试试Floatt 554%(压压缩后大大小/压缩前前大小)Doublle 333%Dec 522%字符56%典

18、型场景二二:大表表连接 优化效效果从17小时时降至110分钟钟以内DTCC220111典型场景三三:全表表查询建建表DTTCC220111 场景描描述 表T,15个个字段,500W条记录,数据类型包括int、varchhar、dattetiime、Decc ; 根据TT进行查查询建表表:CRREATTE TTABLLE TTT aas SSELEECT * FFROMMT;典型场景三三:全表表查询建建表DTTCC220111 分析 大表进进行查询询建表时时,需经经过以下下五个步步骤 这个过过程中可可优化的的操作有有:查询询与结果果集的生成和大量量数据的的插入操操作典型场景三三:全表表查询建建表

19、DTTCC220111 直接BB树操作作 避免结结果集处处理与数数据插入入操作 直接复复制根节节点和叶叶子是在在内存中进行行操作,速速度更快快 优化效效果对案例中的的T进行建建表查询询 优化前前耗时约约35SS 优化后后耗时约约4S,性性能提升升9倍装载表数据据到内存存源表B树扫扫描复制B树典型场景四四:重复复表达式式计算DDTCCC20111 场景描描述 针对5500万万条记录录的表进进行如下下查询 SELLECTT IDDnumm,suub(66,8,IDnnum) ass 生日日,(nnow()-sub(66,8,IDnnum) aas 年年龄 ffromm 问题分分析 表达式式subb

20、(6,8,IIDnuum) 可重用用典型场景四四:重复复表达式式计算DDTCCC20111 改进优优化: 一个表表达式出出现多次次,只计计算一次次 本例中中性能提提升700%。其其他场景景性能提提升程度度取决于计算算表达式式的复杂杂度与数数据量典型场景五五:并行行查询插插入DTTCC220111 场景描描述 同结构构的表TT1TT10,每每张表5500万万条记录录,需要要将100张表的所有有数据合合并到一一个临时时表Tttmp中中 INSSERTT INNTO Ttmmp SSELEECT * FFROMM T11 INSSERTT INNTO Ttmmp SSELEECT * FFROMM

21、T22。 应用的的并行化化并没有有带来较较大的提提升 分析 Ttmmp成为为瓶颈:原有的的逻辑RRowiid成为为资源瓶瓶颈 逻辑RRowiid:不不代表物物理存储储位置,更更新、插插入、重重组等操作代价价降低,但但Rowwid需需要通过过临界资资源获取取 原有产产品针对对OLTTP业务务场景,OLTP事务以分散、短小事务为主主,原有有的RoowIDD机制不不会成为为突出瓶瓶颈典型场景五五:并行行查询插插入DTTCC220111 改进 物理RRowIID:代代表记录录的物理理存储位位置 多个工工作线程程进行插插入操作作,无需需进入临临界资源获取roowidd,每个个工作线线程自行行生成RRow

22、IID 实现真真正意义义上的并并发插入入应用优化DTCC220111 好的性性能需要要应用与与数据库库的配合合实现 应用架架构设计计应站在在系统全全局考虑虑性能问问题 应用与与数据库库应该取取长补短短 数据存存储 基于分分区表进进行数据据划分 应用的的并行化化 复杂事事务分解解为多个个可并行行的简单单事务应用优化-手段DTCC220111保存第一步步过滤结结果集利用视图减减少中间间结果集集的保存存数据按月份份分区TOP查询询减少不不必要的的全结果果集应用优化-大表的的全表扫扫描 DDTCCC20111 典型场场景 50000万无无索引TTOP查查询:SSELEECT * FFROMM T66W

23、HEREE NAAME LIKKE 张三 优化前前:数据据库服务务器CPPU满载载而应用用服务器器没有负载 在最坏坏情况下下,将需需要扫描描整个表表 分析: 系统设设计需要要站在全全局角度度,充分分考虑应应用、中间件、数数据库之之间的负负载分配配 充分利利用已有有的硬件件应用优化-大表的的全表扫扫描 DDTCCC20111 改进: 数据进进行分表表和分区区 DM已已实现的的分区表表并行查查询操作作符,提提供了分区表优化化的支持持 应用依依据分表表更改查查询模块块,从单单线程改改为多线程 在应用用服务器器将各分分表的查查询结果果合并 效果: 按最坏坏情况测测试,查查询时间间由原来来的不可可预期,

24、提升到到2分钟内内应用优化-数据清清洗与入入库 DDTCCC20111 最初方方式: 基于JJDBCC驱动的的数据迁迁移工具具进行清清洗和入入库操作 批量绑绑定 迁移工工具的资资源消耗耗随着迁迁移时间间的持续续增加,导致迁移速速度在运运行3天后急急剧下降降 初始数数据(11T)入入库时间间达到11个月,相相当于400条/s应用优化-数据清清洗与入入库 DDTCCC20111 问题分分析: 超过1100亿亿条记录录,即使使每50000条条提交一一次,也有2百万万次的解解析-计划-代价-执行流流程 大量的的数据库库reddo与unddo日志志操作 解决方方案 利用批批量 利用并并行化充充分发挥挥多

25、CPPU处理理能力,增增加IOO的吞吐量 JDBBC方式式转变为为JNII+ODDBC 实现动动态编译译型的EETL脚脚本引擎擎DTCC220111图 DMEETL 内嵌BBCP应用优化-DM ETL的技术改进应用优化-DM ETL的技术改进DTCC220111应用优化-数据划分和并行化应用优化-数据划分和并行化应用优化-BCPPDTCC220111 将清洗洗与入库库分离 并行化化清洗和和装载入入库 入库应应用BCCP方式式 通过批批量绑定定减少了了网络开开销 服务器器内部为为BCPP专门实实现了”bbcp_fasst_iinseert”方法 绕过SSQL处处理流程程,直接接操作BB树叶子子节点 不进行行Reddo与Unddo 不进行行约束检检查 对原有有BCPP也进行行了服务务器端的的批量化化处理最终效果:性能提提升1000倍,能能够在88小时内内完成海量数据备备份的难难题DTCC220111 备份的的效率问问题 整库备备份操作作耗时太太长 备份粒粒

温馨提示

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

评论

0/150

提交评论