一种基于倒排索引的列存储数据库的查询方法

文档序号:9887729阅读:465来源:国知局
一种基于倒排索引的列存储数据库的查询方法
【技术领域】
[0001] 本发明涉及数据库查询技术领域,特别是一种基于倒排索引的列存储数据库的查 询方法。
【背景技术】
[0002] 随着大数据的兴起,各种NoSQL数据库蓬勃发展,其主要包括键值存储数据库、列 存储数据库、文档型数据库、图形数据库四大类。其中以列存储类型的发展最为迅速,对于 列存储数据库来说,其特点是一个键指向多个列族,列族本身也有一定的层级结构,比如 HBase、Cassandra等,从而实现对复杂数据类型的存储。列存储数据库选型丰富,但是其有 着天然的弊端,即缺少对于列族的条件查询支持,仅支持基于键的单向查询。
[0003] 中国发明专利CN 101404013A公开了一种数据库大数据量表存储和查询方法,通 过数据库物理设计和逻辑设计来实现海量数据表的存储"分区",而不依赖于数据库本身是 否具备分区技术;该方法根据日结账表所特有的一些特性设计合理的规则,根据规则来对 表定义进行"分区"设计,使记录在想数据库插入过程中自动"分发"设计,使记录在向数据 库插入过程中自动"分发"到不同存储"分区"中;"分区"之后的日结账表根据规则设计来创 建联合视图,通过联合视图提供查询功能,这样实现的日结账表在数据查询上会有明显的 优势,而对于表空间存在大小限制的数据库,也不会因为日结账表数据量庞大而导致数据 库表空间达到上限而无法解决。

【发明内容】

[0004] 本发明需要解决的技术问题提供一种基于倒排索引的列存储数据库的查询方法。
[0005] 为解决上述的技术问题,本发明的一种基于倒排索引的列存储数据库的查询方 法,包括以下步骤,
[0006]步骤S101:索引方式定义,将需要进行索引的列的值转换为索引表的键,并将其对 应的数据的键作为索引表的列,实现数据映射关系的倒排;
[0007] 步骤S102:条件查询内容解析,当进行条件查询时,解析出索引列族中的原数据表 的键;
[0008] 步骤S103:条件查询,根据步骤S102解析的键,在原数据表中,根据查询出的键获 取对应的内容,从而实现列存储数据库的条件查询。
[0009] 进一步的,所述步骤S102具体包括在进行条件查询时,将条件的值转换为查询内 容,在索引表中查询对应的键,获取其列族的相关内容,解析出索引列族中的原数据表的 键。
[0010] 采用上述方法后,本发明基于列存储数据库自身的对键的索引支持,通过反转索 引的方式,将原有的键和列族的对应关系,转换为索引列和数据键的对应关系,从而实现了 列存储数据库的条件查询,完善了列存储数据库的功能。
【附图说明】
[0011] 下面将结合附图和【具体实施方式】对本发明作进一步详细的说明。
[0012] 图1为本发明一种基于倒排索引的列存储数据库的查询方法的流程图。
【具体实施方式】
[0013] 如图1所示,本发明的一种基于倒排索引的列存储数据库的查询方法,包括以下步 骤,
[0014] 步骤S101:索引方式定义,将需要进行索引的列的值转换为索引表的键,并将其对 应的数据的键作为索引表的列,实现数据映射关系的倒排;
[0015] 步骤S102:条件查询内容解析,当进行条件查询时,解析出索引列族中的原数据表 的键;
[0016] 步骤S103:条件查询,根据步骤S102解析的键,在原数据表中,根据查询出的键获 取对应的内容,从而实现列存储数据库的条件查询。
[0017] 进一步的,所述步骤S102具体包括在进行条件查询时,将条件的值转换为查询内 容,在索引表中查询对应的键,获取其列族的相关内容,解析出索引列族中的原数据表的 键。
[0018] 假定有原数据表内容如下:
[0019] 表1:原数据表
[0020] LUUA」 列仔储数据洋円置J对t璉的系51
,所以酡很力俚的对璉进仃宜刘,怛定尤沄对 列族进行查询,因此需要对粗要查询的列族进行索引处理,从而生成如下的倒排索引表。
[0022] 表2:倒排索引表 「nrml
L0024」当需要对被索引列族进行查询时,首先查询倒排索引表,获取数据表中对应的键, 然后根据键去查询实际的数据。
[0025]虽然以上描述了本发明的【具体实施方式】,但是本领域熟练技术人员应当理解,这 些仅是举例说明,可以对本实施方式作出多种变更或修改,而不背离发明的原理和实质,本 发明的保护范围仅由所附权利要求书限定。
【主权项】
1. 一种基于倒排索引的列存储数据库的查询方法,其特征在于,包括以下步骤, 步骤S101:索引方式定义,将需要进行索引的列的值转换为索引表的键,并将其对应的 数据的键作为索引表的列,实现数据映射关系的倒排; 步骤S102:条件查询内容解析,当进行条件查询时,解析出索引列族中的原数据表的 键; 步骤S103:条件查询,根据步骤S102解析的键,在原数据表中,根据查询出的键获取对 应的内容,从而实现列存储数据库的条件查询。2. 按照权利要求1所述的一种基于倒排索引的列存储数据库的查询方法,其特征在于: 所述步骤S102具体包括在进行条件查询时,将条件的值转换为查询内容,在索引表中查询 对应的键,获取其列族的相关内容,解析出索引列族中的原数据表的键。
【专利摘要】本发明涉及数据库查询技术领域,特别是一种基于倒排索引的列存储数据库的查询方法,包括以下步骤,步骤S101:索引方式定义,将需要进行索引的列的值转换为索引表的键,并将其对应的数据的键作为索引表的列,实现数据映射关系的倒排;步骤S102:条件查询内容解析,当进行条件查询时,解析出索引列族中的原数据表的键;步骤S103:条件查询,根据步骤S102解析的键,在原数据表中,根据查询出的键获取对应的内容,从而实现列存储数据库的条件查询。采用上述方法后,本发明通过反转索引的方式,将原有的键和列族的对应关系,转换为索引列和数据键的对应关系,从而实现了列存储数据库的条件查询,完善了列存储数据库的功能。
【IPC分类】G06F17/30
【公开号】CN105653628
【申请号】
【发明人】覃璐
【申请人】湖南蚁坊软件有限公司
【公开日】2016年6月8日
【申请日】2015年12月28日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1