[发明专利]一种云环境中基于分片位图索引的查询方法有效
申请号: | 201210155253.7 | 申请日: | 2012-05-17 |
公开(公告)号: | CN102722531A | 公开(公告)日: | 2012-10-10 |
发明(设计)人: | 孟必平;王腾蛟;李红燕;高军;杨冬青;唐世渭 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 余长江 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 环境 基于 分片 位图 索引 查询 方法 | ||
技术领域
本发明属于信息技术领域,涉及一种云环境中的分布式位图索引方法以及利用该方法对数据进行查询。
背景技术
云计算环境以及数据管理
云计算技术的快速发展为海量数据的存储和管理提供了可能。相比传统的单机计算环境,云环境可以有效地利用分布式集群的庞大计算资源来满足海量数据管理对计算资源和存储资源的需求,并且拥有易于维护、易于扩展和易于管理等优良特性。面对数据量的快速增长,云计算技术能够快速调整并分配所需资源以适应数据的疯狂膨胀;同时能够为非机构化数据提供具有弹性的、松散组织的存储模式以及建立在这种存储模式之上的分布式并行计算资源。随着网络时代数据的迅速膨胀,管理大规模数据成为了一个非常迫切的需求。云环境在计算资源与存储资源方面的优势使其具备了存储和管理大规模数据的能力。
位图索引
位图索引是一种使用位图的特殊的数据库索引技术。在位图索引中,位图中每个位的取值为0或1,表示对应的元组在是否在被索引属性上取得某项给定的取值。因此位图的长度等于元组总数。属性A上的位图索引将为该属性上所有可能的取值建立一个位图,用以指示各元组在该属性上的取值情况。如果属性A上可能的取值较多,将产生较多个位图。在这种情况下,可以使用B+树来组织这些位图。B+树可以保证快速定位所欲查找的位图。位图索引的优势在于,可以利用传统计算机高效的按位逻辑操作来快速处理复合的查询条件。例如,将在属性A1上检索得到的位图和在属性A2上检索得到的位图执行逻辑按位与即可得到同时满足这两个属性上的查询条件的结果。
云环境中索引的集中式管理方案
在集中式方案中,被索引字段上的所有值被全局排序并集中管理。具体而言,每条记录对应的索引项将包含被索引的字段的值以及该记录对应的主键值。在索引结构中,这些索引项按照被索引字段的值全局排序。系统处理被索引字段上的查询请求的过程分为两个步骤。首先在全局排序的索引结构中找到符合条件的索引项,从而得知相应记录的主键值。然后,依据主键值访问聚集索引从而定位完整的记录。
集中式方案的最大挑战莫过于全局排序了的索引项的管理。一个最直接的方法是将这些索引项如同其他一般数据一样分布式的存储在数据管理系统中。以开源项目HBase中的主键检索机制为例,图1展示了集中式方案中索引结构的构成与访问方式,其中根表记录了目标元组应当对应于哪一个元数据表,而元数据表则记录了目标元组在数据表中真实的位置。检索过程中,首先通过第1,2,3步获得目标元组所对应的主键值,然后经过第5,6,7步根据主键值找到目标元组。通过这种方式,庞大的索引结构也可以享受到海量数据管理系统提供的可靠性、可扩展性和易管理性。但是,整个访问过程中的每一个步骤仅有一个单独的数据节点参与完成,这并没有有效利用分布式计算资源带来的优势。从而,查询的响应时间将会非常长。
云环境中索引的分布式管理方案
在分布式方案中,各数据节点上独立建立各自管理的局部数据上的索引。分布式方案没有维护索引值的全局排序,而是将其局部化到每个单独的数据节点上。从而,数据节点相互之间不存在依赖关系,这为查询请求的并发执行带来了便利。当被索引键值上的查询请求到达时,检索任务将被分发到所有的数据节点上并以并发方式执行,最终的查询结果是所有数据节点上返回结果的并集。每个数据节点上数据的索引将被独立维护,因此其局部的索引结构具有很强的灵活性:各节点使用的索引技术可以是同构的,例如均使用B+树索引;也可以使异构的,例如有的节点上使用B+树索引,而其他的节点上则使用位图索引等等。异构的局部索引允许各数据节点依据自身的计算资源来选择所使用的索引技术,例如,主存资源不充足的节点可以使用B+树索引并仅在主存中维护B+树靠近根部两层的节点。而CPU计算能力较差的节点则可以使用位图索引,从而利用位图上的逻辑操作来降低计算量。图2展示了分布式方案中索引结构的构成与访问方式。
通过这种方式,索引结构依附于数据本身而被分散到各个节点中。节点之间具有独立性。检索任务也分配到各节点中独立执行,从而,并行计算资源得到很好地利用。但是,特别以最常用到的等值条件为代表,由于绝大多数检索任务的目标记录数量很少,在分布式集群中并行地执行该任务往往造成很多未存储任何目标记录的数据节点也触发了检索过程,而最终将返回空集。在检索任务频繁的情况下,这一并行执行过程将会耗费大量的不必要的计算资源,最终将会降低系统的吞吐量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210155253.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:识别词典制作装置及声音识别装置
- 下一篇:一种抗脏污插入式涡街流量计