分布式并行数据库集群在海量数据处理上的应用.ppt
《分布式并行数据库集群在海量数据处理上的应用.ppt》由会员分享,可在线阅读,更多相关《分布式并行数据库集群在海量数据处理上的应用.ppt(54页珍藏版)》请在三一办公上搜索。
1、,分布式并行数据库集群在海量数据处理上的应用,武新-南大通用数据技术有限公司,目 录,1 列存储 vs 行存储数据库性能特征分析,2 GBase MPP并行数据库集群,3 海量数据统计、分析应用案例,4 总结&QA,GBase 8a 分析型数据库产品形态,GBase 8a 列存储数据库简介,GBase 8a是南大通用公司面向海量数据分析型应用领域,以独特的列存储、高效压缩、智能索引、并行架构等技术为基础,自主研发的一款极高性能关系型数据库产品。具有满足各个数据密集型行业日益增大的数据分析,数据挖掘,数据备份和即席查询的需求。,GBase 8a Cluster 基于MPP的SN并行数据库集群简介
2、,GBase 8a Cluster是在GBase 8a列存储数据库基础上开发的,基于现代云计算理念和shared nothing架构的并行数据库集群。以其独特的偏平架构,高可用性和动态扩展能力,为超大规模数据管理提供一个高性价比的通用平台。,.,架构特征应用程序SQL,数据库节点,Interconnect,无Master,节点对等的扁平架构。高性能,高密度节点。完全并行的MPP架构,在线节点动态伸缩。多副本数据,透明高可用。数据分发节点,外部数据来源,ftp,nfs etc,数据库系统一直面临的性能瓶颈问题数据库性能优化的核心思想是提升查询SQL的I/O效率,1-I/O,被动优化手段 硬件改进
3、,2 索引怪圈,效率3 性能与优化,1.系统扩容2.系统升级、替换,系统性能提升有限,的矛盾海量数据处理性能瓶颈I/O 效率、传统Index,主动优化手段 提升数据库效率1.修改数据模型、修改SQL、影响CBO、产生更有效SQL执行计划2.使用Index,MV,Partitionning3.使用并行,充分利用SMP特征系统性能提升明显,与I/O 有关的2个定义,1 I/O 速度=I/O数据量/时间(MB/s)2 I/O 效率=有效数据/实际I/O数据量(%),I/O速度与效率没有相关性,通过硬件扩容只能提升I/O性能,并不能提升I/O效率,I/O效率是衡量不同数据库面对海量数据统计、分析性能差
4、异最关键的指标、也是现代数据库研发最核心的问题之一。,性能核心问题 1:I/O效率低下使用不同index定位需要的数据产生高效的SQL执行计划提升每次I/O包含的有效数据量对数据进行预计算(MV)使用分区技术,压缩技术,7,统计分析类SQLI/O 效率,行存储数据库 10%,列存储数据库 50%,I/O效率问题分析案例一张具有30列的普通二维表,查询只涉及表中的3 列Select,Col3,col6,sum(col7)as bfrom mytab,结果集,假定经过条件过滤,需要从,8,Where col3=100101Group by col3,col6Order by b desc,过滤条件
5、基本算子,磁盘中读取十万行记录。,实际I/O效率在,1-10%之间!,Free space,rowN,行存储数据库I/O特征,c3,c6,c7,行存数据库IO读取方式:数据是按数据块读取 数据块中每行数据包含表的所有列,HeadTx Layer,尽管查询只访问表中3个列,但所有30列都需要从磁盘读出 表列数越多,行存I/O效率就越低,性能越差,9,datafile,I/O,row0DB blocks,head,1111,2222,GBase 列存储 I/O 特征,按列存储技术:表的每一列物理上分开存储 每一列是以数据包(DC)为单位组织的 只有访问查询所涉及的列产生IO,实际I/O效率在30-
6、90%之间!C7(DC=2),查询没有涉及的列不需要访问,不产生IO 表列数越多,GBase列存I/O效率越高,越有性能优势333,I/O,999,C1,C2,C3,C1,C2,C6,C7,C8,.,C29,C30,10,Column files,Data Cells(DC),列存储架构=提升I/O效率=降低I/O需求,上面的查询用例中,10万行数据最终会产生多少I/O?,假设每个字段长度平均为10 bytes,10万行数据连续存储,行存数据库需要读取的I/O:100000*30*10 bytes=28.6,MB,GBase 8a需要读取的I/O:100000*3*10 bytes=2.86M
7、B,在这个案例中,GBase 8a需要的I/O只是行存数据库的1/10。,10万行数据离散分布,假设分布率为10%(即每10行数,据有1行满足过滤条件):,行存数据库需要读取的I/O:100000*10*30*10 bytes=,286 MB,GBase 8a需要读取的I/O:100000*10*3*10 bytes=,28.6MB,性能核心问题2:传统Index带来的矛盾,优点,问题,使用Index不使用Index,提升I/O效率无需维护数据入库速度快,对应用不透明 维护代价极高 需要人工优化查询I/O效率低、导致性能低下,查询性能,海量数据,数据入库速度系统优化复杂,能否不使用传统Inde
8、x就能获得高效率I/O、进而提升数据库性能12,GBase 8a基于数据包的列存储+粗粒度索引,8a 粗粒度智能索引结构,8a 底层列存储结构,字段1(date)100101100101,100102100102100103,字段2(int)10,105,2530,501,5,3,4,5,粗粒度:扩展性很高,对数据入库性能几乎不影响局部性:实现高效的数据边入库边查询、统计。数据入库速度不随数据量增加而下降。全部字段索引:不再需要手工建立索引。即席查询,R-OLAP不再是无法优化的问题,复杂查询自动优化效果明显。基于知识理论的CBO效率大大提升。,e,5,5,7,655360+24351,sum
9、,10,GBase 8a CBO使用智能索引原理Select,a,sum(b)as b,结果集,from mytabA=100101?Where a=100101 过滤条件,智能索引信息和结构a(date)b(int)c d,Group by aOrder by b desc,基本算子,100101100101,100102,10,105,25,True=完全确定-100%满足过滤条件Possible=有可能-部分满足过滤条件,100102100103预计算数据Min,max,sum,.,30,50 1,5 100101,100101100101,100102,10,10,6553605,25
10、,1155261,False=完全排除-100%不满足过滤条件Sum(b)=?6b列一个需要读取的数据包126,GBase 8a智能索引特征,GBase智能索引,传统B-tree 索引,传统Bitmap 索引,索引粒度索引的可扩展性索引的适用范围索引占有的空间使用的透明性索引的建立,维护数据统计信息,每个数据包非常高所有字段数据的百分之一完全透明完全自动包含,可直接使用,每行数据一般数据重复率低的字段=数据复合索引受SQL限制手工不包含,每行数据一般数据重复率高的字段数据的几十分之一透明,需要解压缩到内存中手工不包含,免维护,自动优化,高扩展性,高效自适应压缩-提升I/O性能,create t
11、able lineorder(lo_orderkey bigint,lo_linenumber int compress(2),lo_custkey int,lo_partkey int,lo_suppkey int,lo_orderdate int,lo_orderpriority varchar(15)compress(0),lo_shippriority varchar(1),lo_quantity int,lo_extendedprice int,lo_ordtotalprice int,lo_discount int,lo_revenue int,lo_supplycost int,
12、lo_tax int,lo_commitdate int,lo_shipmode varchar(10)compress(1,3);不同压缩算法选项,GBase压缩特征 压缩比可达到1:20,远远高于行存储 压缩算法按数据类型和数据分布不同而优化,自动选择最优压缩算法或用hint 指定 实现库级,表级,列级压缩选项,灵活平衡性能与压缩比的关系GBase压缩优点 可节省90%的存储空间,大大降低TB数据处理能耗 压缩态下对I/O要求大大降低,数据加载和查询性能可以进一步提升,DC,DC,DC,DC,SMP多CPU上的双向并行技术:提升CPU利用率并行threads,在不同CPUs上,并行thre
13、ads,协调thread(save),单表,并行加载,txt裸数据,扫描 统计扫描 统计扫描 统计高速数据分析 智能索引,压缩压缩压缩压缩引擎,DCDCDCDCDC DCDC DCDC DCDCGBase 8a,300GB/小时多表500GB/小时集群2TB/小时,管道操作并行threads,在不同CPUs上扫描,并行threads关联,聚合,协调thread,并行操作:Join,并行查询,Data,扫描,关联,聚合,Group bySort,数据在磁盘上,扫描Scanners,关联Joiners,聚合Aggregators管道操作,结果,物化ScanLike 查询,一个典型的SQL执行过程分
14、析,Select b.c2,sum(a.c3)as c3From A as a,B as b,投影列=projection,materializationA&B关联列=join,Where a.c1=b.c1And a.c2 between 20120101 and 20120131 条件过滤列=PredicatesAnd b.c2=北京,Group by b.c2Order by c3Limit 100,分组算子=Aggregation排序算子=SortTop N算子=Limiter,C1(int),C2(date),C3(int),Cn,1000,20120101,12,1001,2012
15、0101,35,表A,1190,20121231,56,C1(int),C2(varchar),C3,Cn,1000,北京,表B,10011190,上海天津,results,Final,多CPU并行:从串行到并行执行,Finalresults,串行执行计划,并行执行计划,SortLimit,OpsSort,LimitOps,Split,ParallelGroup byOps,Groupby OpsTmp,SMP 多核并行提升CPU使用效率,opsTmprowset,ParallelAggregation,rowsetParallel,HashJoinA&B,Splitops,HashJoinA
16、&B,Parallel join,Tmprowset,Tmprowset,Tmprowset,Tmprowset,Parallel I/O,ScanA,ScanB,ScanA,ScanB,SMP多CPU并行效果案例TPC-H 10scales 22条SQL 执行时间对比(秒),700600500400300200,603,4倍的加速148,测试环境2*4核CPU,16G内存,2*2TB SATA盘,1000,串行,140120100806040200,并行SSB 10Scales 13条SQL执行时间对比(秒)125.966倍的加速21.47,串行,并行,GBase 8a解决了I/O效率和传统
17、Index问题,高性能高密度,自动优化,基于列+数据包的压缩(高效,透明),GBase 8a列存储RDBMS,粗粒度智能索引(高效自动优化能力),21,基于数据包的列存储结构(提升I/O效率),全并行架构(提升CPU使用效率),目 录,1 列存储 vs 行存储数据库性能特征分析,2-GBase MPP并行数据库集群,3-海量数据统计、分析应用案例,4 总结&QA,1992 By David Dewitt and Jim Gray,典型的Shared Disk架构Interconnection Network,CPU,CPU,CPU,CPU,CPU,CPU,memory,memory,disks
18、数据,memoryShared storage:SAN,NAS,典型的Shared Nothing架构Interconnection Network,CPU,CPU,CPU,CPU,CPU,CPU,memory,memory,memory,disks,disks,disks,disks,数据分布策略Hash,Range,Random数据,新一代并行数据库集群出现的源动力?,Internet 推动了网络技术的发展、性价比的提升,千兆,万兆,Infiniband,交换机,网卡价格的快速下降,PC 服务器越来越“小型机化“,多CPU,多核技术的普及:80核的PC服务器 大内存的支持:2TB 内存,高
19、可靠性技术的普及和使用:冗余电源,冷却系统,ECC,等,Linux系统的成熟,稳定、可靠、多线程内核;高效的文件系统等,BIG DATA 的推动-数据爆炸式增长,单个SMP系统已经无法应付数据增长带来的压力,而老一代基于SN和,专用硬件平台的并行数据库产品性价比太低,MPP并行数据库集群,解决的问题:,提升数据处理性能:Speedup 提升数据处理量:Scale out,海量数据处理的TCO问题:降低处理每一个TB的整体成本,技术难点,CAP:只能同时满足其中2个属性,数据的重分布:性能与数据库可用性?大表之间的join:是否能实现线性扩展?复杂SQL:执行计划的产生,优化,调度?,易用性,可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 并行 数据库 集群 海量 数据处理 应用

链接地址:https://www.31ppt.com/p-2962369.html