[发明专利]基于BloomFilter的多列索引在列存数据库中的创建及使用方法在审

专利信息
申请号: 201711470231.9 申请日: 2017-12-29
公开(公告)号: CN108460074A 公开(公告)日: 2018-08-28
发明(设计)人: 武新;赵伟;史大义;姚建华;崔维力;郑黎辉 申请(专利权)人: 天津南大通用数据技术股份有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 天津滨海科纬知识产权代理有限公司 12211 代理人: 杨慧玲
地址: 300384 天津市滨海新区华*** 国省代码: 天津;12
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 多列索引 数据库 数据库查询 最大程度地 磁盘访问 空间占用 索引查询 可控 索引 创建 耗时 存储 扫描 查询 记录
【说明书】:

发明提供了一种基于BloomFilter原理的多列索引在列存数据库中的实现方法,包括:基于BloomFilter原理的多列索引在列存数据库中的创建方法,及在列存数据库查询中的使用方法。本发明实现的多列索引具有以下优点:不存储实际值,空间占用小;索引查询速度快,耗时固定;一个索引即可支持任意列的组合查询;BloomFilter中的假阳率(False positives)可控。本发明的有益效果是能最大程度地排除不命中的记录,减少扫描所需的磁盘访问,从而提升数据库的性能。

技术领域

本发明属于数据库领域,尤其是涉及基于BloomFilter的多列索引在列存数据库中的创建及使用方法。

背景技术

Bloom Filter是由Burton Howard Bloom在1970年提出的。它实际上是由一个很长的二进制向量和一系列随机映射函数组成,Bloom Filter可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的假阳率(False positives,即如果Bloom Filter报告某一元素存在于某集合中,但实际上该元素可能并不在该集合中)和删除困难,但是没有识别错误的情形(False negatives,即如果Bloom Filter报告某一元素不存在于某集合中,那么这个元素一定不会在该集合)。

使用示例:初始状态时,Bloom Filter是一个包含m位的位数组,每一位都置为0,如图4所示。

为了表达S={x1,x2,…,xn}这样一个n个元素的集合,Bloom Filter 使用k个相互独立的哈希函数(Hash Function),它们分别将集合中的每个元素映射到{1,…,m}的范围中。对任意一个元素x,第i个哈希函数映射的位置hi(x)就会被置为1(1≤i≤k)。注意,如果一个位置多次被置为1,那么只有第一次会起作用,后面几次将没有任何效果。在图5中,k=3,且有两个哈希函数选中同一个位置(从左边数第五位)。

在判断y是否属于这个集合时,我们对y应用k次哈希函数,如果所有 hi(y)的位置都是1(1≤i≤k),那么我们就认为y是集合中的元素,否则就认为y不是集合中的元素。图6中y1就不是集合中的元素。y2或者属于这个集合,或者刚好是一个false positive。

优点:相比于其它的数据结构,Bloom Filter在空间和时间方面都有巨大的优势。Bloom Filter存储空间和插入/查询时间都是常数。另外,Hash函数相互之间没有关系,方便由硬件并行实现。Bloom Filter不需要存储元素本身,在某些对保密要求非常严格的场合有优势。Bloom Filter可以表示全集,其它任何数据结构都不能;k和m相同,使用同一组Hash函数的两个Bloom Filter的交并差运算可以使用位操作进行。

缺点:但是Bloom Filter的缺点和优点一样明显。假阳率(False Positive)是其中之一。随着存入的元素数量增加,误算率随之增加。但是如果元素数量太少,则使用散列表足矣。

另外,一般情况下不能从Bloom Filter中删除元素.我们很容易想到把位列阵变成整数数组,每插入一个元素相应的计数器加1,这样删除元素时将计数器减掉就可以了。然而要保证安全的删除元素并非如此简单。首先我们必须保证删除的元素的确在BloomFilter里面。这一点单凭这个过滤器是无法保证的。另外计数器回绕也会造成问题。

发明内容

有鉴于此,本发明旨在创建一种基于Bloom Filter的多列索引,并应用于列存数据库中。

为了达到上述目标,需要解决Bloom Filter自带的存在假阳率的问题。本发明采用的技术方案是为每一条记录建立一个Bloom Filter,具体的:

基于Bloom Filter的多列索引在列存数据库中的创建方法,包括如下步骤:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津南大通用数据技术股份有限公司,未经天津南大通用数据技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201711470231.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top