海量处理与数据分析NoSQL数据库.ppt

上传人:wuy****n92 文档编号:69310256 上传时间:2023-01-01 格式:PPT 页数:32 大小:722KB
返回 下载 相关 举报
海量处理与数据分析NoSQL数据库.ppt_第1页
第1页 / 共32页
海量处理与数据分析NoSQL数据库.ppt_第2页
第2页 / 共32页
点击查看更多>>
资源描述

《海量处理与数据分析NoSQL数据库.ppt》由会员分享,可在线阅读,更多相关《海量处理与数据分析NoSQL数据库.ppt(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、一种支持实时复杂查询和分一种支持实时复杂查询和分析的析的NoSQLNoSQL系统系统题题 纲纲n系统需求与现有方案系统需求与现有方案n技术方案技术方案n应用案例应用案例系统需求概述系统需求概述n数据及系统特点数据及系统特点n结构化:每条记录包含结构化:每条记录包含1010个字段左右,每条记录的大小大约是几个字段左右,每条记录的大小大约是几百字节百字节n数据量巨大:达到千亿级以上,达到数据量巨大:达到千亿级以上,达到PBPB级级n加载速度快:达到百万条加载速度快:达到百万条/s/s的规模的规模n系统规模:可以扩展到上千个节点系统规模:可以扩展到上千个节点n对数据的访问需求对数据的访问需求n提供提

2、供SQLSQL访问接口访问接口n支持大规模结果集:达到千万条规模支持大规模结果集:达到千万条规模n支持按多列的实时查询(秒级)支持按多列的实时查询(秒级)n支持多列之间的逻辑比较关系,例如支持多列之间的逻辑比较关系,例如ANDAND、OROR、NOTNOT等等n支持多列之间的的算术比较关系,例如支持多列之间的的算术比较关系,例如=、等等n支持统计、聚合、分组、排序等操作(秒级)支持统计、聚合、分组、排序等操作(秒级)nORDER BY ASC(DESC)ORDER BY ASC(DESC),GROUP BY,TOP,LIMITGROUP BY,TOP,LIMITnSUMSUM,COUNTCOU

3、NT,AVGAVG,MAXMAX,MINMINn数据不更新,但需要对数据批量删除数据不更新,但需要对数据批量删除系统需求概述系统需求概述共享磁盘Oracle RACDBSAN/共享磁盘DBDBDB网络SAN/FC完全共享SMP服务器DB磁盘现有方案现有方案(1)(1)关系数据库关系数据库单机数据库结构Oracle RACn关系型数据库都主要关系型数据库都主要关注了关注了CACA,即一致,即一致性和可用性性和可用性n性能、可扩展性上都性能、可扩展性上都比较差比较差n无法满足可扩展性和无法满足可扩展性和性能的要求性能的要求完全不共享DBDBDBDB网络磁盘磁盘磁盘磁盘Master现有方案现有方案(

4、2)(2)关系数据库集群关系数据库集群Parallel DBMSn数据分片数据分片(sharding)(sharding)或者功能分或者功能分区区n将数据按照不同的策略进行划将数据按照不同的策略进行划分:功能、字段值范围、分:功能、字段值范围、HASHHASH等等n优点:能够有效的解决可扩展优点:能够有效的解决可扩展性的问题性的问题n 缺点:缺点:shardshard的扩容比较复杂的扩容比较复杂;联合多个;联合多个shardshard的表数据查询复的表数据查询复杂。杂。nNoSQLNoSQL(非关系型)(非关系型)nNoSQL No SQLNoSQL No SQL,而是,而是No Relati

5、onshipNo Relationship,Not Only Not Only SQLSQLn系统特点系统特点n可以处理超大规模的数据,可支持到千亿规模可以处理超大规模的数据,可支持到千亿规模nSharing-NotingSharing-Noting架构,可扩展性强架构,可扩展性强n数据加载速度快,并可随节点个数线性增长数据加载速度快,并可随节点个数线性增长现有方案现有方案(3)-NoSQL(3)-NoSQL方案方案n根据特定应用场景的需要设计开发了很多根据特定应用场景的需要设计开发了很多NoSQLNoSQL系统系统n分布式分布式KVKV型:例如:型:例如:DynamoDynamo,PNUTS

6、PNUTS、FlareFlarenCFCF型:型:例如:例如:BigtableBigtable,CassandraCassandra和和HbaseHbase。n文档型:例如:文档型:例如:MongoDB,coutchDBMongoDB,coutchDB现有方案现有方案(3)-NoSQL(3)-NoSQL方案方案现有方案现有方案(3)-NoSQL(3)-NoSQL方案方案n现有现有No-SQLNo-SQL数据管理系统检索能力数据管理系统检索能力差差nK/VK/V型:仅支持基于型:仅支持基于KeyKey的查询,无法做多关键字查询以的查询,无法做多关键字查询以及根据及根据ValueValue的复杂查

7、询的复杂查询nColumn-BasedColumn-Based型:扩展了型:扩展了KVKV数据模型的表述能力,但是数据模型的表述能力,但是仅支持关键字查询,时间区间查询,不支持针对属性的仅支持关键字查询,时间区间查询,不支持针对属性的复杂查询以及统计、分析等操作复杂查询以及统计、分析等操作 现有方案现有方案(4)Hadoop+MR+HIVE(4)Hadoop+MR+HIVEHbaseHbase、PigPig、HiveHive:提供结构化数据的存:提供结构化数据的存储、查询、分析技术储、查询、分析技术MapReduceMapReduce:提供可靠的分布计算方法:提供可靠的分布计算方法HDFSHD

8、FS:提供统一视图的分布式存储环境:提供统一视图的分布式存储环境n面向非实时的分析型应用面向非实时的分析型应用n速度慢,无法满足实时性的要求速度慢,无法满足实时性的要求现有方案分析现有方案分析PDBMS、No-SQL数据库、数据库、Hadoop局限性分析!局限性分析!Hadoop+MR+HiveRDBMS当节点规模扩大时,由当节点规模扩大时,由于关系模式的约束,子于关系模式的约束,子表表 维护、数据错误等维护、数据错误等原因导致关系数据库的原因导致关系数据库的性能急剧下降!性能急剧下降!MapReduce无索引的无索引的检索方式与检索方式与“pull”模模式的中间数据处理流式的中间数据处理流程

9、导致检索效率低下!程导致检索效率低下!No-SQL仅支持基于仅支持基于Row_Key的查询,不支持多列的查询,不支持多列查询,统计分析等复查询,统计分析等复杂查询;针对大返回杂查询;针对大返回结果集的查询效率低!结果集的查询效率低!现有方案分析现有方案分析系统系统分类分类典型系统典型系统特点概述特点概述关系型数据库关系型数据库DBMS-X,Verita,GreenPlum,AsterData具备检索复杂性,但是不具有扩展性 HadoopHIVE,PIG,HadoopDB etc具备扩展性,但是检索效率低No-SQLLocal Host-Key ValueTC(KC),BDB不具备扩展性Hash

10、-based Key ValueDynamo,Pnuts,voldemort,falre具备扩展性,但是不支持区间查询Column-familyHbase,Hypertable,Cassandra,Memcachedb,levelDB etc具备扩展性,但是不支持多列查询Document based DBMongoDB,coutchDB加载、检索效率低检索模式有序表数据规模低高简单复杂关系数据库关系数据库KV数据库目标领域目标领域No-SQLn改善传统数据库的可扩展性差,并发性差的问题改善传统数据库的可扩展性差,并发性差的问题n解决解决NoSQLNoSQL数据的检索能力差的问题,增加多列查询、

11、统计排序等数据的检索能力差的问题,增加多列查询、统计排序等功能功能系统设计目标系统设计目标系统规模:万亿条系统规模:万亿条最终一致性最终一致性支持更丰富的支持更丰富的SQLSQL查询查询题题 纲纲n系统需求与现有方案系统需求与现有方案n技术方案技术方案n应用案例应用案例系统物理架构系统物理架构负责对集群中各负责对集群中各节点进行管理和节点进行管理和协调功能协调功能负责对全局信息、节负责对全局信息、节点状态信息的管理点状态信息的管理负责数据索引建立、负责数据索引建立、数据存储、数据检索数据存储、数据检索分析等计算功能以及分析等计算功能以及数据数据I/OI/O功能。功能。索引结构索引结构n分布式分

12、布式HashHash表表n随机读,不支持范围查询随机读,不支持范围查询n实例:实例:TairTair,MemcacheMemcache,DynamoDynamo,CassandraCassandran分布式分布式B+TreeB+Treen随机读和顺序扫描,支持范围查询;随机读和顺序扫描,支持范围查询;n顺序划分不均匀,需要叶子节点分裂合并顺序划分不均匀,需要叶子节点分裂合并n实例:实例:Bigtable&HBaseBigtable&HBase,Google MegastoreGoogle Megastore索引结构索引结构n 系统采用全局索引系统采用全局索引+局部索引机制局部索引机制n全局索引

13、:分布式全局索引:分布式B+B+树结构,支持对目标数据的快速定位树结构,支持对目标数据的快速定位n局部索引:保存在每个局部索引:保存在每个nodenode内部,支持复杂的查询和统计内部,支持复杂的查询和统计TableSpace节点节点第二层索引第二层索引第二层索引第三层索引第三层索引第三层索引全局的分布式全局的分布式B+B+树树DatanodeshardshardDatanodeDatanode局部索引局部索引存储及存储及I/OI/O方式方式n列存储列存储n每个每个ShardShard由一个或者多个由一个或者多个Store FileStore File组成,每个组成,每个store Files

14、tore File保保存一个列存一个列nI/OI/O并行并行n将数据分配到将数据分配到Data NodeData Node的多块磁盘上;的多块磁盘上;n数据数据I/OI/O时并行从多块磁盘访问;时并行从多块磁盘访问;n实现多块磁盘实现多块磁盘IOPSIOPS和带宽的聚合。和带宽的聚合。分布式查询流程分布式查询流程查询条件Query PlanshardtoNodeListBloom Filter结果集Master集群Datanode集群n分级、并行检索机制分级、并行检索机制二级并发与汇总二级并发与汇总一级并发与汇总一级并发与汇总分布式查询流程分布式查询流程nDatanodeDatanode独立接

15、收查询规划树独立接收查询规划树n根据语法树叶节点的属性值检索局部索引根据语法树叶节点的属性值检索局部索引n根据语法树内节点合并、过滤规则,生成局部结果集根据语法树内节点合并、过滤规则,生成局部结果集结果集结果集SELECT*FROM TABLE WHERE(DOMAIN=AND NOT VALUE=)OR(DOMAIN=www.google.ak TO l)AND NOT DOMAIN=*;语法语法解析解析分布式查询规划分布式查询规划查询规划查询规划n投影与选择:投影与选择:,shardshardn :select DOMAIN,VALUE:select DOMAIN,VALUEn:where

16、 DOMAIN=and TYPE=A:where DOMAIN=and TYPE=An在在DatanodeDatanode上,针对每个上,针对每个shardshard并发处执行并发处执行n分组与排序:分组与排序:Order ByOrder By,Group BYdatanode+clientGroup BYdatanode+clientn在在DatanodeDatanode上,第二级汇总处执行上,第二级汇总处执行n在在ClientClient一级级处汇总多一级级处汇总多DatanodeDatanode结果,做最后的排序、分组结果,做最后的排序、分组n聚合函数聚合函数clientclientn在

17、在ClientClient第一级汇总处完成,汇总每个第一级汇总处完成,汇总每个DatanodeDatanode返回的结果集后,返回的结果集后,进行分组与排序,执行具体的聚合函数,再运行排序与进行分组与排序,执行具体的聚合函数,再运行排序与topktopk处理处理系统扩展性分析系统扩展性分析n存储规模分析存储规模分析n系统采用系统采用share-nothingshare-nothing结构,增加存储节点,可以增加结构,增加存储节点,可以增加集群的计算能力并线性扩展存储空间集群的计算能力并线性扩展存储空间n读写完全并行化读写完全并行化数据节点数据节点1 1RegionRegion1 1Region

18、Region2 2RegionRegionk k数据节点数据节点2 2RegionRegionk+1k+1RegionRegionk+2k+2RegionRegion2 2k k数据节点数据节点n nRegionRegion(n-1)k+1(n-1)k+1RegionRegion(n-1)k+2(n-1)k+2RegionRegionnknk读读写写读读写写系统扩展性分析系统扩展性分析n加载能力分析加载能力分析n在所有在所有DatanodeDatanode上加载数据,系统加载效率可以线性上加载数据,系统加载效率可以线性提升提升n检索效率分析检索效率分析n在二级并发处会线性提高检索效率在二级并发

19、处会线性提高检索效率n数据规模一定,在仅有选择,投影检索条件时,检索效率会随着存数据规模一定,在仅有选择,投影检索条件时,检索效率会随着存储节点的增加而线性增加储节点的增加而线性增加系统可靠性分析系统可靠性分析n元数据管理集群化,防止单点失效问题元数据管理集群化,防止单点失效问题n元数据信息存储在元数据信息存储在zookeeperzookeeper集群和集群和DataNodeDataNode集群上,具备数据容集群上,具备数据容错功能,在线数据恢复,提供集群高可用性服务错功能,在线数据恢复,提供集群高可用性服务nMasterMaster点不存储元数据信息,可实现快速失效切换点不存储元数据信息,可

20、实现快速失效切换n引入引入commit-logcommit-log,提供记录级别的原子操作,提供记录级别的原子操作n防止内存数据的掉电丢失防止内存数据的掉电丢失n以记录为单位,提供前滚或回滚操作,保证记录写操作的原子性以记录为单位,提供前滚或回滚操作,保证记录写操作的原子性n引入副本容错机制引入副本容错机制n支持多副本支持多副本n采用差量压缩技术,提高存储效率采用差量压缩技术,提高存储效率n无单点失效问题无单点失效问题系统功能概述系统功能概述查询方法查询方法n对外提供在线检索和离线检索两类查询方法对外提供在线检索和离线检索两类查询方法n在线检索在线检索n通过通过SQL-LIKESQL-LIKE

21、语言描述检索规则,利用语言描述检索规则,利用SHELLSHELL或或APIAPI接口返回结果接口返回结果n可实时查询内存数据或历史数据可实时查询内存数据或历史数据n离线检索离线检索n用户定义查询任务,定时启动任务,结果导入离线数据分析库用户定义查询任务,定时启动任务,结果导入离线数据分析库n在离线数据分析库中查询获得相对复杂、耗时的数据查询在离线数据分析库中查询获得相对复杂、耗时的数据查询系统功能概述系统功能概述功能汇总功能汇总(1)支持)支持SQL语言的核心功能语言的核心功能支持多列查询、分组、排序、聚合等查询功能支持多列查询、分组、排序、聚合等查询功能提供必要的函数和数据类型定义提供必要的

22、函数和数据类型定义提供提供SHELL交互界面交互界面WebService接口接口(6)支持并发加载功能)支持并发加载功能采用带外传输机制写入数据到采用带外传输机制写入数据到DatanodeDatanode并发加载方式并发加载方式(2)支持分布式并发查询功能)支持分布式并发查询功能支持二级并发机制:节点之间和支持二级并发机制:节点之间和shard之间之间采用分布式查询规划采用分布式查询规划(3)支持在线查询与定时复杂任务查询)支持在线查询与定时复杂任务查询(5)支持副本容错功能,无单点失效影响)支持副本容错功能,无单点失效影响(4)全局索引)全局索引+局部索引的分布索引式机制局部索引的分布索引式机制全局索引采用分布式全局索引采用分布式B+Tree局部建立了面向多个属性的索引局部建立了面向多个属性的索引数据以数据以shard为单位进行列存储为单位进行列存储题题 纲纲n系统需求与现有方案系统需求与现有方案n技术方案技术方案n应用案例应用案例谢谢谢谢 谢谢谢谢

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁