解析结构化数据存储检索系统
作者:胡涛
来源:《电子技术与软件工程》2013年第18期
摘 要:随着时代的发展和科技的进步,近些年来,在云计算领域内,逐渐出现了一种新型的数据,那就是Big Data,这样在对其存储和检索的时候就不能继续采用传统的关系型数据库系统;虽然可以采用分布式No-SQL来进行存储,但是有一些功能依然无法实现。针对这种情况,本文提出了结构化数据存储检索系统,也就是俗称的MDSS。本文对结构化数据存储检索系统进行了简要的分析,希望可以提供一些有价值的参考意见。 【关键词】数据库 检索 存储 1 MDSS系统工作原理
大数据集要求更高的数据检索效率,在数据加载以及数据存储方面都提出了很高的要求,目前,通常采用的办法是依据多机协同的分布式存储环境,实现系统处理效率提高的目的。 通常情况下,可以将MDSS分布式系统分为四个方面,分别是加载机集群、查询机集群、元数据节点集群以及存储节点集群。具体来讲,包括这些方面的内容:
加载机集群:加载机集群以进程为单位,它存在于整个系统中,发挥的功能是数据加载,可以将很多的客户端同时加载在多台设备上,通过并发加载,系统整体的加载效率就可以得到有效的提高。在MDSS中,近期入库的数据会同时缓存进加载集群,然后经过一段时期,千兆Ethernte就会在相关的存储装置中储存这些数据信息。
查询机集群:通过查询机集群,可以让用户的查询行为变得更加的方便,只需要从查询机上发出查询指令,查询机将查询任务分发给各个存储节点,依据的是元数据节点集群保存的元数据信息,最后对这些存储节点返回的查询结果进行汇总,用户接收到的是汇总结果。 存储节点集群:通过存储节点集群,可以长期的储存那些历史数据,对数据源进行分块存储,数据分块单位很好理解,指的是集群中的部分数据,它是加载机一次或者多次刷新过来的。
元数据节点集群:元数据节点集群也具有十分重要的作用,它不仅可以对整个集群的工作进行分配和管理,还可以有效的保存那些系统工作所需求的各种元数据信息。元数据节点集群存储的元数据包括很多方面的内容,比如数据节点状态信息、表空间元数据、索引分片具体的存储位置信息以及每个表空间内的一些辅助信息等等。 2 MDSS数据模型与结构
龙源期刊网 http://www.qikan.com.cn
数据模型:MDSS将二维表空间数据管理模型提供给用户,以记录为单位,有很多的字段或属性存在于记录内,表空间在对这些字段类型描述的时候利用的是表结构。表结构文件来描述数据类型,在对表空间进行创建时,表结构文件会同时生成,存在于元数据节点集群中。 MDSS还设计了一种数据统计和分析语言,它在单表空间内面向流记录有着较强的针对性,语法规则等同于标准的SQL,但是标准SQL中的一些复杂的检索功能被取消了,比如关联查询功能、嵌套查询功能、视图功能等等。
数据存储组织结构:采用列存储结构的方式来在存储节点中存储数据,在存储是依据字典排序来排序字段值,在文件的不同位置来分别保存不同字段,如果数据达到了一定的长度,那么在保存的时候就可以设置为单独的文件,这种数据被称之为分片。以分片为单位来进行并发检索和分布存储,通常情况下,分片指的是集群中接收到加载机刷新过来的数据源。 将块内索引引入到每一个分片内,可以对索引分块内部不同字段属性数据的具体存储位置进行标记,通常会使用固定大小空间存储索引块,这样就可以在内存中将数据统计一次性进行;因为存储的时候是依据字典序来排序的,那么就可以迅速找到内容相同的字段,这样数据的存储效率就可以得到大大的提高。
在日志、流记录等应用场合应用最普遍的检索属性就是时间属性,MDSS在分区管理数据时依据的就是时间属性;按照时间顺序来排列索引分片,同时建立基于时间属性的分布式B+Tree,这样分块数据的检索过程就可以得到大大的提高。
存储节点会长久的存储索引分片数据,将其作为基本的调度和计算单位。当从存储节点集群接收到了加载机的数据,依据设置的副本杂余度来选择存储节点,并且按照集群节点列表来依次存储,将数据写入即可。当对副本杂余度进行设置的时候,将数据分别写入到不同的节点中。
在检索数据方面,如果一个索引分片检索结果没有在规定的时间返回,那么就需要重新执行检索操作,操作的对象是对应索引分片的副本,这样就可以实现数据容错功能。 3 MDSS系统并发查询方法
对查询条件进行划分,这是MDSS执行复杂查询条件的基本原则,划分出来的查询子任务可以有若干个,这些子任务可以在分布式环境中的不同层次上并发实现,这样就可以最大限度的发挥分布式环境下的并发计算能力以及并行计算能力,还可以在很大程度上提高查询效率。
查询条件分解方法:MDSS通常情况下会将查询条件分为三类,也就是一共有三类查询子任务。一是分区查询条件,分区查询条件可以对满足查询条件的目标数据文件直接定位,这样就可以在很小的一个数据范围内进行查找,大大的提高效率。默认选择时间属性是MDSS的分区检索条件,也就是我们俗称的主键。二是过滤查询条件,这种查询条件有着十分强的针对
龙源期刊网 http://www.qikan.com.cn
性,它的各个列是主要对象,在查询的时候,不仅可以对字符类字段进行模糊查询,也可以对数字类字段进行查询,还可以依据大于、小于来查询。要想有效的连接不同列的查询条件,只需要采用逻辑运算符号即可,比如AND OR NOT。经过分析我们可以发现,过滤类查询条件类似于关系代数中的选择和投影操作。三是统计分析查询条件,它的功能主要是对全局数据集进行统计以及分析。具体来讲,又包括很多方面的内容,比如数据分组操作等等。 4 结语
本文首先介绍了MDSS系统的工作原理,然后具体探讨了MDSS数据模型与结构和MDSS系统并发查询方法,希望可以提供一些有价值的参考意见。 参考文献
[1] 陈金水.非结构化数据存储管理的实用化方法[J].计算机与现代化,2006,2(8):123-125.
[2]李春林.海量非结构化数据存储管理技术解析[J].中国东盟博览,2012,2(12):87-89. [3] 吴广君,王树鹏.海量结构化数据存储检索系统[J].计算机研究与发展,2012,2(1):23-26. 作者单位
宁夏财政厅信息中心 宁夏回族自治区银川市 750001
因篇幅问题不能全部显示,请点此查看更多更全内容