下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于分布式的数字化数据存储检索系统
高速数据是云计算领域提出的要求数据加载效率、存储效率和数据搜索效率。通常,数据加载效率在gbps或gbps的范围内,数据存储规模在tb或pb的范围内。对于大规模数据存储和数据搜索(本文称之为大数据集),大规模数据存储和数据搜索(本文称为大数据集)是一种典型的应用,如大量日志、网络消息、web2.0框架下的ss、电子商务、数据结构等。在数据匹配条件下,由于数据匹配的限制,传统的randomforest在管理大数据集存储方面的工作量较低。在某些情况下,本地数据的失败和系统扩展的效率较低。解决方法是:通过简化数据匹配的要求,消除复杂的相关性请求,并将具体应用改进系统。然而,大量记录存储在同一个表的另一个表中,单个表达到了数十亿或数十亿记录。在这种大数据存储条件下,效率数据存储和搜索存在着新的课题。Google对这一问题进行深入分析,结合Google的业务背景,提出Bigtable数据管理方法,建立列存储数据结构,提供基于Row-Key的数据检索接口.此后,业界也纷纷提出分布式结构化数据存储管理模型,也称为No-SQL(notonlySql)数据库.典型的No-SQL数据库包括Dynamo,Cassandra,PNUTS,Hbase以及Hypertable等.但是目前的分布式No-SQL数据管理系统对于数据的多列查询支持较弱,仅提供基于KEY的读取和写入操作,不具备多列查询、数值统计分析等复杂的查询功能.另外一种BigData管理思路是基于Hadoop建立BigData管理工具,利用MapReduce加速检索过程.这类系统提供了横向扩展规模,但是不支持流数据的高效加载与查询的功能.由于MapReduce的每个Map过程、Reduce结果都要把文件写入到文件系统中进行缓存,导致整个系统的检索效率低下.针对该问题,本文基于Hadoop建立面向结构化流数据提出具有在线数据加载和快速检索的分布式数据存储系统MDSS(massivedatastoragesystem),建立二维表空间数据管理模型,重点解决数据的分布存储与复杂条件的高效查询问题.1存储数据存储系统升级存储“大数据集”要求较高的数据加载效率、数据存储效率以及数据检索效率,目前主要的解决思路是利用多机协同的分布式存储环境提高系统处理效率.MDSS分布式系统结构如图1所示,系统包括4个部分:加载机集群、查询机集群、元数据节点集群以及存储节点集群.加载机集群:整个系统的数据加载端.可以以进程为单位,在多台设备上同时建立多个并发加载客户端,通过并发加载提高系统整体加载效率.在MDSS中,加载机集群同时缓存近期入库的数据,经过固定的时间周期,把缓存数据通过千兆Ethernet写到数据存储管理装置中.查询机集群:用户在查询机上发出查询指令建立查询规划,查询机根据元数据节点集群保存的元数据信息,向存储节点分发查询任务,最后汇总多个存储节点返回的查询结果,提交给用户.存储节点集群:持久存储长期保存的历史数据.把数据源进行分块存储,通常把一次或几次从加载机刷新到集群中的数据作为数据分块单位.元数据节点集群:用来协调整个集群的工作,保存整个系统工作所需的元数据信息.元数据节点集群存储的元数据包括:数据节点状态信息;索引分片具体的存储位置信息;表空间元数据;每个表空间内的一些辅助信息以及系统日志等.MDSS系统主要支持分布式的数据存储和检索,具体数据查询流程如图2所示:(1)用户在查询机上提交查询请求.(2)查询机根据具体的查询任务,向元数据节点查询对应表空间元数据和所需的元数据信息.(3)元数据节点集群根据查询条件,提供检索所需的元数据,例如:对应的表空间结构数据,索引分块与节点的映射关系等.(4)查询机根据元数据信息,建立查询规划,决定向哪些存储节点发送查询命令.某些查询可以利用元数据信息优化查询过程.由于加载机会缓存有近期的数据,针对近期数据的查询会发送到加载机.(5)数据存储节点根据检索条件,检索符合条件的数据集,并发回给查询机,查询机对查询结果进行最后的汇总、统计,以及必要的后期数据处理工作.(6)查询机对结果集按照用户指定的格式封装,返回给查询用户,完成一次完整的数据查询过程.2sd数据的模型和结构2.1表结构编码设计MDSS为用户提供二维表空间数据管理模型.以记录为单位,每个记录内包含多个字段或属性.表空间利用表结构描述字段类型.数据类型由表结构文件描述.表结构文件在创建表空间时生成,保持到元数据节点集群中.MDSS设计了一种针对单表空间内面向流记录的数据统计与分析语言,语法规则与标准的SQL相同,但是取消了标准SQL中关联查询、嵌套查询、视图等复杂的检索功能,本文简称为MQL语言.具体支持的查询功能如表1所示:2.2存储位置设置数据在存储节点上采用列存储结构,把字段值按照字典序排序存储,不同字段分别保存到文件的不同位置,一定长度的数据作为一个单独的文件保存,称为分片(shard).shard是并发检索和分布存储的基本单位,目前通常以加载机一次或几次刷新到集群中的数据源作为一个shard.在每个shard内部引入块内索引,用来标记索引分块内部不同字段属性数据的具体存储位置.索引块的大小通常使用固定大小空间存储,便于一次性加载到内存中进行数据统计.由于内容相同的字段根据字典序排序后相邻存储,因此引入压缩技术会显著提高数据的存储效率.在日志、流记录等应用场合,时间属性是最常用的检索属性,MDSS采用时间属性对数据进行分区管理,索引分片之间保持时间有序.同时建立基于时间属性的分布式B+Tree,加快分区数据的检索过程.B+Tree的叶节点保存每个索引分片对应的最大时间属性和索引分片的存储节点的位置.分布式B+Tree保存在元数据节点集群中.具体结构如图3所示:索引分片数据作为基本的调度和计算单位,持久存储到存储节点上.当数据从加载机刷新到存储节点集群时,根据设置的副本冗余度和集群存储节点列表,按序选择可用的存储节点,写入数据.当设置副本冗余度时,加载机会选择不同的节点分别写入数据.在数据检索时,一个索引分片检索结果如果超过返回时间限制,可以选择对应的索引分片的副本重新执行检索操作,实现数据容错功能.限于篇幅,关于数据详细的组织方式不再详述.3查询子任务合并MDSS执行复杂查询条件的基本原则是对查询条件划分成查询子任务,每个子任务在分布式环境下的不同层次上并发实现,充分发挥分布式环境下并发、并行的计算能力,提高查询效率.3.1查询条件使用主键MDSS把具体的查询条件分解为3类基本条件,每类基本条件作为一类查询子任务.分区查询条件:分区查询条件直接定位于满足查询条件的目标数据文件,大大缩小海量数据的查询范围.MDSS使用主键作为分区检索条件,默认选择时间属性作为主键.过滤查询条件:过滤类查询条件是针对每列独立设置查询条件.字符类字段支持模糊查询;数字类字段支持比较,大于、小于等查询;多列查询条件之间通过逻辑运算符号ANDORNOT进行连接,构成多个逻辑组合查询条件.过滤类查询条件相当于关系代数中的选择和投影操作.统计分析查询条件:统计分析类查询条件需要面向全局数据集的统计、分析操作.具体的查询条件包括:数据分组操作(GROUPBY)、数据排序操作(ORDERBY)、TOP-K以及聚合函数,如SUM,AVG,MAX,MIN等.3.2存储节点的及时检索在分布式环境下,可以把一个具体的复杂查询任务按照上述分类方法分解成3类基本查询条件,每类查询条件对应一种查询子任务,利用分布式环境下的不同层次执行具体的查询子任务.MDSS默认采用时间属性作为主键,根据检索条件中的时间属性可以直接检索到符合条件的目标索引分片,加速检索过程,符合日志类数据、流数据应用场景.对于统计分析类查询条件通常是聚合函数(如SUM,AVG等)和分组、排序等操作同时存在,此时为了保证检索结果的正确性,需要首先在每个存储节点上执行过滤查询条件,每个存储节点向查询客户端返回结果集,查询机上针对所有存储节点返回的数据做最后阶段的统一处理后得到正确结果集.MDSS针对部分查询做了特殊优化处理.具有分组、排序等操作,MDSS会把这类查询条件与过滤类查询条件一起发送到存储节点上执行,此时各个节点返回的子查询结果集是已经分好组、排好序或去重后的结果集,会大大提高数据汇总阶段的执行效率.4实验结果与分析为了测试系统的具体性能,针对某运营商DNS访问记录进行落地存储.实验环境为:加载机为两个节点,配置为AMDOpteron23788核800MHz8GB内存;查询机一个节点,配置为AMDOpteron23788核800MHz16GB内存;元数据集群一个节点,具体配置为AMDOpteron23788核800MHz16GB内存.4个存储节点,具体配置为AMDOpteron83804核800MHz.存储节点加载磁盘阵列,每个节点加载5TB磁盘空间,集群提供20TB存储空间.系统连续运行50天左右,平均每天入库数据量4~5亿条记录,保存DNS记录230亿条左右,占用的存储空间14TB.在当前数据规模条件下进行具体的实验测试.首先给出不同的检索时间间隔对检索效率的影响.针对2011-07-01T00:00:00到2011-07-01T24:00:00期间内,连续24h的数据进行实验分析.该时间段内的保存的记录数目为510335051条.具体的检索条件包括下列条件:3)分区检索条件TIME=T.设检索时间为T为参数,当T取不同时间间隔时,检索效率与具体的时间关系如图4所示:从图4可以看出检索效率基本上与检索条件的时间间隔呈线性增长.在数据库规模为230亿记录存储空间为14TB4个存储节点条件下,对24h内的数据进行多属性检索时,检索时间在140s左右返回查询结果.该结果远远高于传统数据库的查询效率.其主要时间消耗在查询机从元数据节点查询元数据信息以及多查询节点间的数据通信和汇总上.图5给出了MDSS检索效率与返回结果集数目的之间的关系,从图5中可以看出,MDSS检索效率与返回的结果集有关.当结果集过大时,不仅传输数据、数据汇总占用更多的时间,在使用列存储结构、重构整条原始记录都会占用更多的时间.图6给出,当使用多个逻辑条件组合时,检索条件通过OR或AND进行连接,检索效率与多检索条件个数之间的关系.通过图6可以看出,逻辑条件的个数增加时(实验中增加到32个检索条件),检索时间基本不发生变化.由于过滤类检索条件在分布式存储节点上并发执行,每个节点针对具体的索引分片启动多线程检索,同时MDSS索引分片采用列存结构,适于应用在大数据集、复杂检索条件的分析应用中.结合上述实验,可以得出MDSS具体的查询效率主要与检索结果集数目有关,当结果集过大,由分布式系统的磁盘IO、数据通信、查询机上数据汇总等操作会占用较多的时间,进而导致系统检索效率下降.对于相对复杂的检索条件可以根据具体索引结构、数据存储组织方式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2029全球及中国豪华门行业市场调研及投资前景分析报告
- 童外贸鞋行业深度研究报告
- 中国透明墙纸胶行业市场深度分析及投资战略研究报告
- 2025房屋买卖协议书可以当做合同
- 中国阿司匹林泡腾片行业发展潜力预测及投资战略研究报告
- 2025关于承包合同的样本
- 2025年中国妇科抗炎药物行业市场运行态势及投资战略规划报告
- 2025小产权楼房买卖合同
- TPE塑胶粒、PVC塑胶粒的加工生产项目环境影响报告表告
- 2024-2030年中国视频监视器行业发展潜力预测及投资战略研究报告
- 《现代控制理论》全套课件(东北大学)
- 2024春季中铁三局集团校园招聘高频难、易错点500题模拟试题附带答案详解
- 出版社图书编辑出版流程规范
- 地貌与第四纪地质学习通超星期末考试答案章节答案2024年
- GB/T 6003.2-2024试验筛技术要求和检验第2部分:金属穿孔板试验筛
- 一汽在线综合能力测评题
- 2024年焊工职业技能竞赛理论知识考试题库500题(含答案)
- 云南师大附中2025届生物高二上期末教学质量检测试题含解析
- 重庆市九龙坡区2023-2024学年高二年级上册1月期末考试物理试题
- 风能发电对养殖场温湿度变化的影响
- 计算机应用基础
评论
0/150
提交评论