超大型数据存储方法、分布式数据库系统及其检索方法技术方案

技术编号:9490009 阅读:69 留言:0更新日期:2013-12-25 23:48
本发明专利技术提供一种超大型数据存储方法,包括如下步骤:将待存储的每一条数据按预设的分割属性进行分割,得到每条数据的活跃数据和死数据;将所述死数据存储后压缩;生成所述活跃数据的数据库表,将所述数据库表按预设的分发策略分类存储在不同的数据库。本发明专利技术还提供一种分布式数据库系统,以及一种分布式数据库系统的检索方法,能解决超大型结构化数据的存储难题,存储资源消耗小,数据的检索速度快。

【技术实现步骤摘要】
超大型数据存储方法、分布式数据库系统及其检索方法
本专利技术涉及数据库
,特别是涉及一种超大型数据存储方法,一种分布式数据库系统,以及一种分布式数据库系统的检索方法。
技术介绍
21世纪是一个数据爆炸的时代,特别是对数据定义的逐步对象化、精细化,越来越多的结构化数据会随之产生。特别是当前通信运营商、互联网行业目前对用户行为分析关注度越来越高,伴随着需要存储与查询分析的数据量也越来越大。例如,某省级电信运营商上网清单数据量每天都是在10多亿条记录以上,单表一天数据量达300G以上,而类似的清单数据类型达几十种,由于一般需要保留三个月到半年,因此所需要的存储资源一般可以达到PB级。如此超大数据的存储如果采用传统的关系型数据库来存储,会对主机的性能、存储资源都会有很高的要求,需要有巨大的投资。目前业界比较流行的大数据存储包括hadoop、mongodb、mysql等分布式数据存储与统计技术,但这些技术面对如此大的数据存储与应用,仍然需要较大的硬件开销。大数据存储目前业界一般有二种模式,一种是sharenothing架构,另一种是shareeverything架构,其中sharenothing架构主要是数据分散存储,各节点间不进行数据共享访问,shareeverything架构是数据存储在共享磁阵中,各分布式节点均可以共享访问。其中由于shareeverything架构需要共享磁阵,导致对磁阵的带宽总线以及网络构造极高,在数据量增长到PB级别时,基本没有实现优势。而sharenothing由于是分布式的数据存储架构,因此节点可以灵活扩展,少到10台左右的集群,多到几万台的集群,均可以满足数据量不断增加的应用需要。目前业界常用的hadoop、mongodb、mysql等分布式架构均是采用sharenothing来进行的实现,虽然从数据存储与查询角度都可以满足超大型数据的应用需求,但其对存储资源的消耗都是几倍于原始数据的大小,因此目前迫切需要一种能消耗较少的硬件资源的数据存储方案。
技术实现思路
基于此,本专利技术提供一种超大型数据存储方法,一种分布式数据库系统,以及一种分布式数据库系统的检索方法,能解决超大型结构化数据的存储难题,存储资源消耗小,数据的检索速度快。一种超大型数据存储方法,包括如下步骤:将待存储的每一条数据按预设的分割属性进行分割,得到每条数据的活跃数据和死数据;将所述死数据存储后压缩;生成所述活跃数据的数据库表,将所述数据库表按预设的分发策略分类存储在不同的数据库。一种分布式数据库系统,包括多个数据库,每个所述数据库中存储有不同类别的多个数据库表,所述数据库还以压缩文件包的形式存储有多条死数据;所述数据库表存储多条活跃数据,每条所述活跃数据附加有与对应的死数据的映射;其中,所述死数据和所述活跃数据为根据预设的分割属性从待存储的每一条数据分割而得到。一种分布式数据库系统的检索方法,包括上述分布式数据库系统,检索方法包括如下步骤:接收数据的检索请求;若所述检索请求为活跃数据检索请求,则基于数据分发策略根据所述检索请求确定所述分布式数据库系统中需检索的数据库及其数据库表;将检索请求分发到各个所述需检索的数据库;接收各个数据库返回的检索结果后输出;若所述检索请求为死数据检索请求,则通过对应的活跃数据中的映射,查找到死数据的压缩文件,读取压缩文件中的死数据后输出。上述的超大型数据存储方法中,将数据按预设的分割属性进行分割,对其中的死数据存储后压缩,大大减少了存储资源的消耗;而其他的活跃数据则分类存储在不同的数据库;本专利技术的超大型数据存储方法能解决超大型数据的存储难题,占用空间较小,大幅提高了数据检索和统计的处理速度。上述的分布式数据库系统中,包括多个数据库,数据库中存储两类数据,一种是不同类别的多个数据库表,对应存储多条业务数据;另一类是按预设的分割属性分割而得到的死数据,对其以压缩文件包的形式存储;通过死数据的压缩存储及活跃数据的分类存储;相对于其他的超大型数据库本专利技术的分布式数据库具有占用空间小、存储资源消耗小的优点;并且对于该数据库的数据检索和统计的处理速度非常快。附图说明图1为本专利技术超大型数据存储方法在一实施例中的流程示意图。图2为本专利技术分布式数据库系统的检索方法在一实施例中的流程示意图。具体实施方式下面结合实施例及附图对本专利技术作进一步详细说明,但本专利技术的实施方式不限于此。如图1所示,是本专利技术超大型数据存储方法在一实施例中的流程示意图,包括如下步骤:S11、将待存储的每一条数据按预设的分割属性进行分割,得到每条数据的活跃数据和死数据;S12、将所述死数据存储后压缩;对于待存储的数据,一般情况下,除了可能应用于查询条件、统计、关联类的属性外,往往还存在大量的非活跃类数据属性(不会应用于查询条件、统计、关联类的属性),即死数据,这些属性数据如果统一采用活跃数据的存储模式,会造成存储空间的浪费,检索效率的低下。根据实际的业务需要,通过定义不同的数据中哪些属性是死数据,对每一条数据进行分割,将这些死数据直接以压缩文件的方式进行存储,这样对死数据的存储会大大降低存储空间。一般文本文件的压缩程度是在5到100倍左右,因此可带来几倍或是几十倍存储空间的节省,大大减少了存储资源的消耗。其中,所述将所述死数据存储后压缩的步骤可为:将所述死数据按预设的占用单位进行分块存储并压缩;对于死数据除了分离成单独的文件进行存储外,需要同时考虑将文件分成固定大小的小文件块进行存储,如以32M、64M、128M、256M等不同单位进行存储,这样在数据压缩与解压缩时会更加迅速,满足实时用户交互等场合的查询需求。S13、生成所述活跃数据的数据库表,将所述数据库表按预设的分发策略分类存储在不同的数据库。一般数据具备多种属性特征,如日期时间、区域、设备、业务、用户等,通过预设的数据分发策略,将数据分类存储在不同的数据库,有利于提高检索和统计的效率。如日期时间一般可以细到天、小时、5分钟、1分钟级别来作为数据分发的策略,将不同时间的数据分发到不同的表中进行存储,在需要相应数据的时候,可以先定位到数据在哪些表中,然后再查这些表来得到相应的数据,避免需要扫描整份数据。对于区域,可以细到省、地市、县区、营服、网格粒度来作为数据分发策略;对于设备,可以细到具体的设备。对于业务、用户可以按照业务、用户的末M位尾号(其中M可以是1位、2位、...任意位)来定义数据分发,除了可以达到时间、区域细分的效果外,在应用计算用户数、业务数的应用场合可以避免数据重叠原因造成的频繁交互比较。通过组合不同的分发属性策略可以达到更优的数据分发效果,让数据检索与统计效率达到最优。在一较佳实施例中,还可包括步骤:建立每条数据中活跃数据与死数据的映射;其中,所述建立每条数据中活跃数据与死数据的映射的步骤可为:记录所述死数据压缩后的文件名、存储位置和数据长度;将所述死数据压缩后的文件名、存储位置和数据长度附加至对应的活跃数据的数据库表中;本实施例中通过建立映射保持每条数据中活跃数据和死数据的关联,记录死数据被压缩后的压缩文件名称,该条死数据在压缩文件中的存储位置,以及该条死数据的数据长度;当需要查询死数据时,可先通过活跃数据找到文件ID,然后打开这个文件,并将文件指针移本文档来自技高网
...
超大型数据存储方法、分布式数据库系统及其检索方法

【技术保护点】
一种超大型数据存储方法,其特征在于,包括如下步骤:将待存储的每一条数据按预设的分割属性进行分割,得到每条数据的活跃数据和死数据;将所述死数据存储后压缩;生成所述活跃数据的数据库表,将所述数据库表按预设的分发策略分类存储在不同的数据库。

【技术特征摘要】
1.一种超大型数据存储方法,其特征在于,包括如下步骤:将待存储的每一条数据按预设的分割属性进行分割,得到每条数据的活跃数据和死数据;其中,所述活跃数据是属性为可能应用于查询条件、统计、关联类的数据,所述死数据是属性为不会应用于查询条件、统计、关联类的数据;将所述死数据存储后压缩;生成所述活跃数据的数据库表,将所述数据库表按预设的分发策略分类存储在不同的数据库;其中,所述分发策略包括按照业务和用户的末M位尾号进行分类存储,其中M是1位、2位、...、任意位。2.根据权利要求1所述的超大型数据存储方法,其特征在于,还包括步骤:建立每条数据中活跃数据与死数据的映射。3.根据权利要求1所述的超大型数据存储方法,其特征在于,将所述死数据存储后压缩的步骤为:将所述死数据按预设的占用单位进行分块存储并压缩。4.根据权利要求2所述的超大型数据存储方法,其特征在于,所述建立每条数据中活跃数据与死数据的映射的步骤为:记录所述死数据压缩后的文件名、存储位置和数据长度;将所述死数据压缩后的文件名、存储位置和数据长度附加至对应的活跃数据的数据库表中。5.一种分布式数据库系统,其特征在于,包括多个数据库,每个所述数据库中存储有不同类别的多个数据库表,所述数据库还以压缩文件包的形式存储有多条死数据;所述数据库表存储多条活跃数据,每条所述活跃数据附加有与对应的死数据的映射;其中,所述死数据和所述活跃数据为根据预设的分割属性从待存储的每一条数据分割而得到,所述活跃数据是属性为可能应用于查询条件、统计、关联类的数据,所述死数据是属性为不会应用于查询条件、统计、关联类的数据;其中,所述数据...

【专利技术属性】
技术研发人员:林斌李星南杨德强余锦业包达志姜绍艳李溢杰李伟坚蒋康明
申请(专利权)人:广东电网公司电力调度控制中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1