CN106874458A - 一种基于分层分配的多层数据库的布隆过滤器构造方法 - Google Patents

一种基于分层分配的多层数据库的布隆过滤器构造方法 Download PDF

Info

Publication number
CN106874458A
CN106874458A CN201710078690.6A CN201710078690A CN106874458A CN 106874458 A CN106874458 A CN 106874458A CN 201710078690 A CN201710078690 A CN 201710078690A CN 106874458 A CN106874458 A CN 106874458A
Authority
CN
China
Prior art keywords
bloom filter
key
leveldb
layer
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710078690.6A
Other languages
English (en)
Other versions
CN106874458B (zh
Inventor
李永坤
张月明
张伟韬
吕敏
许胤龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pingkai Star Beijing Technology Co ltd
Original Assignee
University of Science and Technology of China USTC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CN201710078690.6A priority Critical patent/CN106874458B/zh
Publication of CN106874458A publication Critical patent/CN106874458A/zh
Application granted granted Critical
Publication of CN106874458B publication Critical patent/CN106874458B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于分层分配的多层数据库的布隆过滤器构造方法,特征是包括设计建立存储结构、计算组合概率和、求解得分配给每层布隆过滤器的位数、维护存储结构;在进行合并操作时,使处于多层键值数据库(LevelDB)的高层的每个键分配到更多的布隆过滤器比特位数,低层的键分配到较少的布隆过滤器比特位数,其中布隆过滤器的误报率随着比特位数的增多而降低。与LevelDB传统的布隆过滤器构造方法相比,在保证内存开销与之前一致的情况下,本方法可以减少因布隆过滤器的误报带来的硬盘输入输出(I/O)操作,降低硬盘的I/O次数,减少LevelDB查询操作的平均延迟;也可以在保证查询时的期望硬盘I/O次数与传统方法基本相等的情况下,减少布隆过滤器带来的内存开销。

Description

一种基于分层分配的多层数据库的布隆过滤器构造方法
技术领域
本发明属于计算机数据存储技术领域,具体涉及对采用日志合并树作为主体的多层键值数据库系统的布隆过滤器的比特位数进行分层分配的布隆过滤器构造方法。
背景技术
美国计算机协会出版的《1970年ACM CACM国际期刊》(Communications of theACM 1970年7月第13卷,问题7,第422-426页)所介绍的布隆过滤器(Space/time trade-offs in hash coding with allowable errors)是一个空间效率极其高效,用来检测一个元素是否存在与一个集合中的概率数据结构。由谷歌公司开源的部署在硬盘上的基于日志合并树的多层键值数据库系统(LevelDB)在实现和使用布隆过滤器技术时,为每一层存储键值对的文件(SSTable)中的每一个数据块都建立了一个布隆过滤器。自LevelDB 1.4版本发行以来,对每层存储键值对的文件的每个数据块的布隆过滤器构造方式都采用每个键分配相同比特位数的方式。这种方法没有考虑到LevelDB每层的键的区间大致相同,因此可能会造成高层的文件访问频率相对于低层较高,布隆过滤器的误报次数也随之增多,从而因为布隆过滤器的误报产生额外的硬盘I/O操作的问题,延长了查询操作的平均延迟,降低了系统的整体性能。
发明内容
本发明的目的是提出一种基于分层分配的多层数据库的布隆过滤器构造方法,以弥补现有每层中每个文件内的每个键分配固定比特位数的缺陷,在保证布隆过滤器存储空间开销与之前一致的前提下,减少LevelDB的查询操作因布隆过滤器的误报而带来的硬盘输入/输出(I/O)操作,提高LevelDB的查询操作速度,或者在保证LevelDB布隆过滤器整体的误报率与之前基本不变的情况下,减少存储空间即内存的开销。
本发明基于分层分配的多层数据库的布隆过滤器构造方法,其特征在于包括以下步骤:
第一步:设计建立存储结构,并进行相应的初始化
定义如下标识符表示相应的存储结构:
L--表示多层键值数据库LevelDB的层数,
B--分配给每个键的平均布隆过滤器比特位数,
Si—LevelDB第i,0<=i<L,层的存储空间大小,
SL---LevelDB的总大小,
R—LevelDB层间大小的增长倍数,
Bi—给处于第i层的键分配的布隆过滤器比特位数,
F(Bi)---在分配的比特位数是Bi的情况下,布隆过滤器的误报率,
P—LevelDB的查询操作找到对应的键的可能性,
SN—存储键值对的文件SSTable包含的键值对数目,
T—存储键值对的文件SSTable的所占的存储空间的大小;
根据硬盘上所部署的键值数据库系统对以上参数进行初始化;
第二步:计算组合概率和
对LevelDB的层数L进行L=L+4操作,即把第0层的4个文件作为前四层;设Pa<i,j>表示查询操作访问至第i层(包括第i层),LevelDB的布隆过滤器发生j次误报的组合概率和,其中在第k层,0<=k<L,发生误报的概率为第一步定义的F(Bk),即为0.618BK;计算出Pa<i,j>满足0<=i<L,1<=j<=(i+1)的所有情况;
第三步:求解得分配给每层布隆过滤器的位数
当对LevelDB进行查询操作时,所查询的键值对存在于数据库中的可能性为P,不存在于数据库的可能性为1-P;当键值对存在于数据库中时,至少有一次I/O是为了访问所需要查询的键值对,当布隆过滤器发生误报时,可能产生额外的I/O;而所查询的键值对位于第i层的可能性为若键值对不存在于数据库中时,则只可能因为布隆过滤器的误报产生额外的I/O次数;由此得出当LevelDB进行查询操作时硬盘I/O次数的期望值EX为:
计算使用LevelDB原本的布隆过滤器构造方法时与基于分层分配的布隆过滤器构造方法的内存开销,其中,使用LevelDB原本的布隆过滤器构造方法的内存开销为分配给LevelDB每个键的布隆过滤器比特位数乘以键值对的数目的总和,即为使用基于分层分配的布隆过滤器构造方法的内存开销为分配给LevelDB每层的文件内的键的布隆过滤器比特位数乘以该层所包含的键值对的数目的总和,即为通过枚举分配给LevelDB每层的文件内的键的布隆过滤器比特位数Bi的值----文件内分给每个键的布隆过滤器比特位数相同都为Bi,其中i的区间为[0,L-1],Bi的区间为[1,32],都为整数,在保证LevelDB原本的布隆过滤器构造方法与基于分层分配的布隆过滤器构造方法的内存开销差值小于一个指定值的情况下,使得上述期望值EX最小;
第四步:维护存储结构
把LevelDB部署到主机硬盘上,当LevelDB进行合并(compaction)操作时,若新生成的SSTable文件将被压往第i层,则给新生成的文件分配比特位数为SN*Bi的布隆过滤器----即根据本次合并操作新生成的存储键值对的文件被压往的层,用第三步求得的Bi来构造相应的布隆过滤器。
上述本发明基于分层分配的多层数据库的布隆过滤器构造方法包括了设计建立存储结构,计算组合概率和,求解得分配给每层布隆过滤器的位数和维护存储结构。现实生活中的键值存储的工作负载(workload)通常呈现出很强的随机性,导致LevelDB每层的键的区间大致相同,因此在查询过程中使得LevelDB的高层文件相对于低层文件访问频率较高。本发明采用分层分配布隆过滤器的比特位数的方法,在进行合并(compaction)操作时,使处于LevelDB的高层的每个键分配到更多的布隆过滤器比特位数,低层的键分配到较少的布隆过滤器比特位数,其中布隆过滤器的误报率随着比特位数的增多而降低。与LevelDB传统的布隆过滤器构造方法采取的每层的每个键比特位数相同的分配方法相比,在保证内存开销与之前一致的情况下,本方法克服了传统方法因查询过程中LevelDB高层文件的访问频率比低层文件高导致因高层文件的布隆过滤器误报产生的硬盘I/O次数也较多的缺点,带来了LevelDB布隆过滤器整体误报率降低的优点,从而减少了因为布隆过滤器的误报带来的硬盘输入/输出(I/O)操作,降低硬盘的I/O次数,减少LevelDB查询操作的平均延迟。本发明也可以在保证查询时的期望硬盘I/O次数与传统的方法基本相等的情况下,使LevelDB的低层布隆过滤器分配到较少的比特位数,与传统的每层中每个键比特位数相同的分配方法相比,减少布隆过滤器带来的内存开销,提高系统的整体性能。
附图说明
图1是LevelDB的每层的键的范围示意图。
图2是LevelDB进行查询操作的示意图。
图3是LevelDB合并(compaction)操作示意图。
具体实施方式
实施例1:
下面结合附图通过具体实施例对本发明基于分层分配的布隆过滤器比特位数分配方法作进一步的详细说明。
实施例1:
本实施例基于分层分配的多层数据库的布隆过滤器构造方法,具体包括以下步骤。
第一步:存储结构设计,并进行相应的初始化,采用:
L--表示多层键值数据库LevelDB的层数,
B--分配给每个键的平均布隆过滤器比特位数,
Si—LevelDB第i,0<=i<L,层的存储空间大小,
SL---LevelDB的总大小,
R—LevelDB层间大小的增长倍数,
Bi—给处于第i层的键分配的布隆过滤器比特位数,
F(Bi)---在分配的比特位数是Bi的情况下,布隆过滤器的误报率,
P—LevelDB的查询操作找到对应的键的可能性,
SN—存储键值对的文件SSTable包含的键值对数目,
T—存储键值对的文件SSTable的所占的存储空间的大小;
在本实施例中具体采用L=7,B=8,S0=8MB,R=10,S1=10MB,S2=100MB…S6=1TB,F(Bi)≈0.618Bi,P=0.5,T=2MB。SN的值由键值对大小决定,若假设键值对的大小为116字节,在本实施例中SN可以取为18000。
第二步:计算本实施例的组合概率和
图1为LevelDB的每层的所有的键构成的区间示意图。图中用方块表示LevelDB的一个存储键值对的文件(SSTable),由第0层到第L-1层的文件构成L层的LevelDB,在LevelDB中,每个文件内的键值对按照指定的顺序进行排列,除第0层外,每层的每个文件也按照指定的顺序排列,第0层的文件内部键值对有序排列,文件间则是无序排列的,图中横坐标表示键的范围,而方块的长度来表示文件所覆盖的区间,长度越长,则该文件的键的区间就越大。因为现实中工作负载的随机性,即键值对请求中,键的分布的随机性很强,在LevelDB中,除第0层外,本层文件是由上一层文件和本层的若干文件合并而成的,所以每层的所有键构成的键的区间大致相同。图1中虽然第0层的文件只有四个,但是每个方块的长度很长,表示该文件内所有的键组成的区间很大,并且在LevelDB中,第0层的每个文件间的键的区间可能会相互重叠,相应在图中第0层的四个方块存在一定的重叠,由LevelDB的性质得,随着层数的增长,每层所包含的文件的数量会增多,而每层的键的总区间大致不变,相应的每个文件所包含的区间就会缩小,在图中方块的长度随着层数的增长而缩短。
图2为LevelDB进行查询操作的示意图。图中此次查询的键位于第L-2层(在图中打着勾号的方块表示在该存储键值对的文件中获取到查询的键值对),因为所查询的键落在L-2层之前的几层文件的键的区间内,在此次查询操作中会访问前几层的布隆过滤器来避免访问存储键值对的文件,但是在第0层和第1层有3个文件的布隆过滤器发生了误报(在图中打着叉号的方块表示该文件的布隆过滤器发生了误报),导致此次查询操作访问了第0层和第1层的3个文件,产生了3次额外的硬盘I/O。
由图1和图2可知,当进行查询操作,所查询的键位于第i层时,由于每层的键的区间大致相同,所以查询时会访问第i层的前几层文件的布隆过滤器,并且可能因为在第i层的前几层布隆过滤器发生误报访问前几层的文件从而引发硬盘I/O操作。
现在对L进行加4操作,即当前L=10。
由图1和图2得出的结论可以计算Pa<i,j>,即由当前查询到的层数i,得出第i层前几层文件的布隆过滤器发生指定误报次数j的组合情况,例如,设i=2,j=2,计算Pa<2,2>;即发生了2次布隆过滤器的误报,则这两次误报可能发生在第0层和第1层、第0层和第2层或第1层和第2层。所以可以得出Pa<2,2>=F(B0)*F(B1)+F(B0)*F(B2)+F(B1)*F(B2)。由此计算出满足0<=i<10,1<=j<=(i+1)的Pa<i,j>所有情况。
第三步:求解得分配给每层布隆过滤器的位数
当查询的键值对位于LevelDB中时,至少有一次I/O是为了访问所需要查询的键值对,当布隆过滤器发生误报时,可能产生额外的I/O。例如,所查询的键值对位于第2层,布隆过滤器可能会产生0至2次的误报,即此次查询发生的硬盘I/O次数的期望值为:1+Pa<2,1>+Pa<2,2>,而所查询的键值对可能位于LevelDB的任意一层,由此计算出键值对位于LevelDB中时,引发的硬盘I/O次数的期望值为如要查询的键值对不存在于LevelDB中,则此次访问需要访问到最后一层,才能判断出查询的键值对不存在于LevelDB中,即此次查询发生的硬盘I/O次数的期望值为:而所查询的键值对位于LevelDB中的可能性为0.5,不存在于LevelDB中的可能性也为0.5,可以计算出当进行查询操作时,发生的硬盘I/O次数期望值为:
本实施例的内存开销为分配给LevelDB每层的文件内的键的布隆过滤器比特位数乘以该层所包含的键值对的数目的总和,即为而使用LevelDB原方法的布隆过滤器的内存开销为分配给每个键的布隆过滤器比特位数乘以LevelDB所包含的键值对的数目,即为本实例的布隆过滤器的内存开销应与LevelDB原方法消耗基本一致,即在满足的情况下,通过枚举法求得Bi(0<=i<=9)在每层的值,使得查询操作时发生的硬盘I/O次数期望值最小,可以求得,Bi在每层的值依次为:{32,32,32,32,30,32,25,6,8,8},发生的硬盘的I/O次数的期望的最小值为0.7009471766,另外,也可求得LevelDB原方法的发生的硬盘的I/O次数的期望值为0.5862897610。
第四步:维护存储结构
图3给出了LevelDB合并(compaction)操作示意图。图中采用虚线分为上、下两部分,虚线上面的部分表示LevelDB第i层进行合并操作前的情况,虚线下面的部分表示LevelDB第i层合并操作后的情况。在图的上部分中,位于第i层的黑色方块为此次合并操作选中的文件,同时在第i+1层的与该选中文件的键的范围重叠的3个文件也作为此次合并操作的输入文件,用黑色方块表示;其他不参与此次合并操作的文件用白色方块表示。在发生合并时,这四个文件中的键在按照指定顺序排序后,按顺序存储在4个大小几乎相等的新生成的文件中,并被放置在第i+1层,即虚线上方的第i层与第i+1层的4个黑色方块在进行合并操作后,形成了虚线下方第i+1层的4个黑色方块,其他未参与此次合并操作的文件保持不变。当LevelDB进行合并(compaction)操作时,而在这个过程中会为每个文件生成新的布隆过滤器,此时,根据此次合并操作压往的层级j,给每个新生成的文件分配长度为Bj(0<=j<=9)*SN的布隆过滤器。
在本实施例中,通过基于分层分配的多层数据库的布隆过滤器比特位数的分配方法来进行LevelDB每个存储键值对的文件SSTable的布隆过滤器的构造,得出了相比于原来每个键分配的布隆过滤器比特位数相同的方式,令高层文件的键分配得较多的布隆过滤器比特位数,低层文件的键分配得较少的布隆过滤器比特位数,其中在本实施例中,高层为层级小于等于6的层,低层则为层级大于6的层。相比与传统的每层文件中每个键分配相同的布隆过滤器比特位数的方式,采用本方法可以减少16%的因为布隆过滤器的误报带来的硬盘I/O操作,从而降低了硬盘的I/O次数,减少了LevelDB查询操作的平均延迟。

Claims (1)

1.一种基于分层分配的多层数据库的布隆过滤器构造方法,其特征在于包括以下步骤:
第一步:设计建立存储结构,并进行相应的初始化
定义如下标识符表示相应的存储结构:
L--表示多层键值数据库LevelDB的层数,
B--分配给每个键的平均布隆过滤器比特位数,
Si—LevelDB第i,0<=i<L,层的存储空间大小,
SL---LevelDB的总大小,
R—LevelDB层间大小的增长倍数,
Bi—给处于第i层的键分配的布隆过滤器比特位数,
F(Bi)---在分配的比特位数是Bi的情况下,布隆过滤器的误报率,
P—LevelDB的查询操作找到对应的键的可能性,
SN—存储键值对的文件SSTable包含的键值对数目,
T—存储键值对的文件SSTable的所占的存储空间的大小;
根据硬盘上所部署的多层键值数据库系统对以上参数进行初始化;
第二步:计算组合概率和
对LevelDB的层数L进行L=L+4操作,即把第0层的4个文件作为前四层;设Pa<i,j>表示查询操作访问至第i层,包括第i层,LevelDB的布隆过滤器发生j次误报的组合概率和,其中在第k层,0<=k<L,发生误报的概率为第一步定义的F(Bk),即为0.618BK;计算出Pa<i,j>满足0<=i<L,1<=j<=(i+1)的所有情况;
第三步:求解得分配给每层布隆过滤器的位数
当对LevelDB进行查询操作时,所查询的键值对存在于数据库中的可能性为P,不存在于数据库的可能性为1-P;当键值对存在于数据库中时,至少有一次I/O是为了访问所需要查询的键值对,当布隆过滤器发生误报时,可能产生额外的I/O;而所查询的键值对位于第i层的可能性为若键值对不存在于数据库中时,则只可能因为布隆过滤器的误报产生额外的I/O次数;由此得出当LevelDB进行查询操作时硬盘I/O次数的期望值EX为:
E X = P * &Sigma; i = 0 i = L - 1 ( 1 + &Sigma; j = 0 j = i P a < i - 1 , j > * j * S i S L ) + ( 1 - P ) * &Sigma; j = 1 j = L j * P a < L - 1 , j >
计算使用LevelDB原本的布隆过滤器构造方法时与基于分层分配的布隆过滤器构造方法的内存开销,其中,使用LevelDB原本的布隆过滤器构造方法的内存开销为分配给LevelDB每个键的布隆过滤器比特位数乘以键值对的数目的总和,即为使用基于分层分配的布隆过滤器构造方法的内存开销为分配给LevelDB每层的文件内的键的布隆过滤器比特位数乘以该层所包含的键值对的数目的总和,即为通过枚举分配给LevelDB每层的文件内的键的布隆过滤器比特位数Bi的值----文件内分给每个键的布隆过滤器比特位数相同都为Bi,其中i的区间为[0,L-1],Bi的区间为[1,32],都为整数,在保证LevelDB原本的布隆过滤器构造方法与基于分层分配的布隆过滤器构造方法的内存开销差值小于一个指定值的情况下,使得上述期望值EX最小;
第四步:维护存储结构
把LevelDB部署到主机硬盘上,当LevelDB进行合并操作时,若新生成的SSTable文件将被压往第i层,则给新生成的文件分配比特位数为SN*Bi的布隆过滤器----即根据本次合并操作新生成的存储键值对的文件被压往的层,用第三步求得的Bi来构造相应的布隆过滤器。
CN201710078690.6A 2017-02-14 2017-02-14 一种基于分层分配的多层数据库的布隆过滤器构造方法 Active CN106874458B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710078690.6A CN106874458B (zh) 2017-02-14 2017-02-14 一种基于分层分配的多层数据库的布隆过滤器构造方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710078690.6A CN106874458B (zh) 2017-02-14 2017-02-14 一种基于分层分配的多层数据库的布隆过滤器构造方法

Publications (2)

Publication Number Publication Date
CN106874458A true CN106874458A (zh) 2017-06-20
CN106874458B CN106874458B (zh) 2019-10-22

Family

ID=59166257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710078690.6A Active CN106874458B (zh) 2017-02-14 2017-02-14 一种基于分层分配的多层数据库的布隆过滤器构造方法

Country Status (1)

Country Link
CN (1) CN106874458B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729535A (zh) * 2017-11-17 2018-02-23 中国科学技术大学 一种键值数据库内布隆过滤器的配置方法
CN107766478A (zh) * 2017-10-11 2018-03-06 复旦大学 一种面向高竞争情景的并发索引结构的设计方法
US10248646B1 (en) 2018-08-22 2019-04-02 Cognigo Research Ltd. Token matching in large document corpora

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100332765A1 (en) * 2009-06-29 2010-12-30 Sun Microsystems, Inc. Hierarchical bloom filters for facilitating concurrency control
CN102110171A (zh) * 2011-03-22 2011-06-29 湖南大学 基于树形结构的布鲁姆过滤器的查询与更新方法
CN102799617A (zh) * 2012-06-19 2012-11-28 华中科技大学 多层Bloom Filter的构建及查询优化方法
CN103020296A (zh) * 2012-12-31 2013-04-03 湖南大学 一种高精度多维计数布鲁姆过滤器及其大数据处理方法
CN103559215A (zh) * 2013-10-14 2014-02-05 西安交通大学 一种面向内容网络中内容名存储结构的设计方法
JP5716554B2 (ja) * 2011-06-06 2015-05-13 富士通株式会社 検索プログラム、検索方法、検索装置、およびノード
CN105320654A (zh) * 2014-05-28 2016-02-10 中国科学院深圳先进技术研究院 动态布隆过滤器和基于动态布隆过滤器的元素操作方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100332765A1 (en) * 2009-06-29 2010-12-30 Sun Microsystems, Inc. Hierarchical bloom filters for facilitating concurrency control
CN102110171A (zh) * 2011-03-22 2011-06-29 湖南大学 基于树形结构的布鲁姆过滤器的查询与更新方法
JP5716554B2 (ja) * 2011-06-06 2015-05-13 富士通株式会社 検索プログラム、検索方法、検索装置、およびノード
CN102799617A (zh) * 2012-06-19 2012-11-28 华中科技大学 多层Bloom Filter的构建及查询优化方法
CN103020296A (zh) * 2012-12-31 2013-04-03 湖南大学 一种高精度多维计数布鲁姆过滤器及其大数据处理方法
CN103559215A (zh) * 2013-10-14 2014-02-05 西安交通大学 一种面向内容网络中内容名存储结构的设计方法
CN105320654A (zh) * 2014-05-28 2016-02-10 中国科学院深圳先进技术研究院 动态布隆过滤器和基于动态布隆过滤器的元素操作方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766478A (zh) * 2017-10-11 2018-03-06 复旦大学 一种面向高竞争情景的并发索引结构的设计方法
CN107729535A (zh) * 2017-11-17 2018-02-23 中国科学技术大学 一种键值数据库内布隆过滤器的配置方法
CN107729535B (zh) * 2017-11-17 2020-01-03 中国科学技术大学 一种键值数据库内布隆过滤器的配置方法
US10248646B1 (en) 2018-08-22 2019-04-02 Cognigo Research Ltd. Token matching in large document corpora
US10796092B2 (en) 2018-08-22 2020-10-06 Netapp, Inc. Token matching in large document corpora

Also Published As

Publication number Publication date
CN106874458B (zh) 2019-10-22

Similar Documents

Publication Publication Date Title
CN104866608B (zh) 一种数据仓库中基于连接索引的查询优化方法
Bugiotti et al. Database design for NoSQL systems
CN103678160B (zh) 一种存储数据的方法和装置
CN103458023B (zh) 分布式闪存存储系统
CN106599199A (zh) 一种数据缓存与同步方法
US20160371314A1 (en) Hierarchical tablespace space management
Goil et al. A parallel scalable infrastructure for OLAP and data mining
CN104516912B (zh) 一种动态的数据存储方法及装置
CN103995855B (zh) 存储数据的方法和装置
CN102663116A (zh) 面向列存储数据仓库的多维olap查询处理方法
CN106326387B (zh) 一种分布式数据存储结构及数据存储方法和数据查询方法
CN106874458A (zh) 一种基于分层分配的多层数据库的布隆过滤器构造方法
CN102890678A (zh) 一种基于格雷编码的分布式数据布局方法及查询方法
US11983176B2 (en) Query execution utilizing negation of a logical connective
US20230418820A1 (en) Accessing index data to handle null values during execution of a query that involves negation
CN103823641B (zh) 一种在线扩容的虚拟卷系统及其实现方法
CN115114294A (zh) 数据库存储模式的自适应方法、装置、计算机设备
CN103530067B (zh) 一种数据操作的方法和设备
US20240004858A1 (en) Implementing different secondary indexing schemes for different segments stored via a database system
TWI734364B (zh) 資料分塊儲存方法、裝置及電子設備
CN108182209A (zh) 一种数据索引方法、及设备
Carter et al. Nanosecond indexing of graph data with hash maps and VLists
US10983975B2 (en) Data block storage method and apparatus, and electronic device
CN108460074A (zh) 基于BloomFilter的多列索引在列存数据库中的创建及使用方法
Goil et al. Design and implementation of a scalable parallel system for multidimensional analysis and OLAP

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220905

Address after: 100192 207, floor 2, building C-1, Zhongguancun Dongsheng science and Technology Park, No. 66, xixiaokou Road, Haidian District, Beijing

Patentee after: Pingkai star (Beijing) Technology Co.,Ltd.

Address before: 230026 Jinzhai Road, Baohe District, Hefei, Anhui Province, No. 96

Patentee before: University of Science and Technology of China

TR01 Transfer of patent right