CN112486994B - 一种基于日志结构合并树的键值存储的数据快速读取方法 - Google Patents
一种基于日志结构合并树的键值存储的数据快速读取方法 Download PDFInfo
- Publication number
- CN112486994B CN112486994B CN202011384970.8A CN202011384970A CN112486994B CN 112486994 B CN112486994 B CN 112486994B CN 202011384970 A CN202011384970 A CN 202011384970A CN 112486994 B CN112486994 B CN 112486994B
- Authority
- CN
- China
- Prior art keywords
- data
- layer
- log
- tree
- data layer
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 241000544061 Cuculus canorus Species 0.000 claims abstract description 29
- 230000003321 amplification Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于日志结构合并树的键值存储的数据快速读取方法。本发明通过多层数据层构建日志结构合并树,日志结构合并树的每层数据层中存取多组键值数据对,统计分析日志结构合并树的每层数据层中数据读取频率,将日志结构合并树划分为高读取频率的数据层以及低读取频率的数据层,为高读取频率的数据层构建多层布谷鸟哈希表应用数据读取层;若数据层中键值数据对中键的字节数量大于字节阈值则对其进行MD5编码后存入布谷鸟哈希表;在进行数据索引读取时,先查询布谷哈希索引,若未命中继续查询低读取频率数据层。本发明优点在于,通过一种启发式策略选取高访问频率的数据层,为其构造额外地哈希索引,使用有限的内存空间来明显地提高读性能。
Description
技术领域
本发明属于计算机科学存储系统领域,尤其涉及一种基于日志结构合并树的键值存储的数据快速读取方法。
背景技术
数据密集型的企业级应用程序经常使用持久键值存储系统来进行数据读写,例如Web网站爬虫,社交网络,图像存储等。持久键值存储系统一般会提供常用的操作接口,如对键值对的写入/更新,对数据的读取/点查询和扫描(范围查询)来服务各种应用程序。在众多键值存储系统中,基于日志结构的合并树(LSM-tree)的键值存储系统尤其受欢迎,主要原因是它们将密集的随机写转换为顺序写以充分利用磁盘的I/O带宽。基于LSM-tree的键值存储系统通常由内存模块和磁盘模块组成:内存模块由跳表数据结构组成,磁盘模块由多级数据层组成,每一级数据层在键值上是有序的。基于LSM-tree的键值存储系统首先在内存模块中缓冲足够的随机写入的数据,将其转化为有序的数据表,然后将有序的数据表写入磁盘模块中。数据写入磁盘模块后,先将数据表写入第一级数据层,如果第一级数据层写满后,会从第一级数据层中选取一个数据表写入第二级数据层;如果第二级数据层写满后,会再从第二级数据层选取一个数据表写入第三级数据层,以此类推。多级数据层大小会呈指数级增加,邻近的下一级数据层会扩大为上一级的10倍,如第三级数据层的大小是第二级数据层的10倍。以常用的键值存储系统LevelDB为例,其Level 0存在多个键值范围覆盖的SSTable,其Level 1到最后一层Level N的每一层SSTable按键值大小顺序排列。如果目标数据位于磁盘模块的靠后的数据层,则在查询目标数据时需要先查找内存模块里的数据,然后从上到下查询多级数据层。在查询每一级数据层时,LevelDB需要访问每一层的元数据,选取可能存在目标数据的SSTable,然后通过读取SSTable的Index Block来确定数据可能在哪个Data Block中;在读取Data Block之前,还需读取对应的Bloom Filter来确定目标key是否在该Data Block中;如果Bloom Filter计算确定目标key存在于Data Block中,就从Data Block中读取数据。所以,对于LevelDB的读请求来说,如果查询目标数据时需要涉及查询多级数据层,将会产生高昂的读开销。因此现有的基于LSM-tree的键值存储系统有严重的读放大问题,会引发大量的读取的I/O请求。
发明内容
本发明针对现有的基于LSM-tree的键值存储系统存在的读放大问题,提出一种利用额外内存索引来加速数据读取的方法。
一种基于日志结构合并树的键值存储的数据快速读取方法,其特征在于,包括以下步骤:
步骤1:通过多层数据层构建日志结构合并树,日志结构合并树的每层数据层中存取多组键值数据对,统计分析日志结构合并树的每层数据层中数据读取频率,根据日志结构合并树的每层数据层中数据读取频率将日志结构合并树划分为高读取频率的数据层以及低读取频率的数据层,通过日志结构合并树高读取频率的数据层构建多层布谷鸟哈希表应用数据读取层;
步骤2:针对每层布谷鸟哈希表应用数据读取层中,若键值数据对中索引的字节数量大于字节阈值则将键值数据对中索引进行MD5编码后存入布谷鸟哈希表,否则键值数据对中索引仍存取至布谷鸟哈希表应用数据读取层即日志结构合并树;
步骤3:在进行数据索引读取时,若数据属于日志结构合并树多层数据层中高读取频率的数据层,则通过布谷鸟哈希表应用数据读取层中索引读取键值数据对中数据;若数据属于日志结构合并树多层数据层中低读取频率的数据层,则通过日志结构合并树中键值数据对中索引读取键值数据对中数据。
作为优选,步骤1所述日志结构合并树包括:
第一层日志结构合并树数据层、第二层日志结构合并树数据层、...、第M层日志结构合并树数据层;
步骤1所述日志结构合并树的每层数据层中存取多组键值数据对为:
其中,M表示日志结构合并树的数据层的层数,<keyi,j,valuei,j>表示日志结构合并树中第i层数据层中第j组键值数据对,keyi,j表示日志结构合并树中第i层数据层中第j组键值数据对中索引,valuei,j表示日志结构合并树中第i层数据层中第j组键值数据对中数据,j∈[1,Ni],Ni表示日志结构合并树中第i层数据层中键值数据对的数量;
步骤1所述日志结构合并树的每层数据层的数据读取频率为:
F1、F2...、FM
其中,Fi为日志结构合并树第i层数据层的数据读取频率;
统计分析日志结构合并树中每层数据层的数据读取频率的方法为:
当数据在日志结构合并树中每层数据层进行查找时,若查询到目标数据则返回目标结果;
若未查询到目标数据则到日志结构合并树中下一层数据层去查询;
若查询到目标数据定义为正查询,若未查询到目标数据定义为负查询;
统计日志结构合并树中每层数据层的数据的读取频率为正查询次数和负查询次数之和,即Fi=Fp-i+Ff-i。
步骤1所述根据日志结构合并树的每层数据层中数据读取频率在日志结构合并树划分为高读取频率的数据层以及低读取频率的数据层为:
若查询的目标数据在日志结构合并树中第i层数据层时,则需要进行(i-1)次的负查询和1次正查询;
设定读取频率比例阈值为T,0.3≤T≤0.5,用于计算所述的日志结构合并树高读取频率的数据层;
设置内存最大值为Smax;
所述计算所述的日志结构合并树高读取频率的数据层为:
(F1+F2+…+FK)/(F1+F2+…+FM)<=T
(S1+S2+…+SK)<=Smax
其中,Fi为日志结构合并树第i层数据层的数据读取频率,i∈[1,M],Fk为日志结构合并树中第k层高读取频率的数据层,k∈[1,K],T为读取频率比例阈值;
日志结构合并树的每层数据层的存到布谷哈希表中所占有的空间大小依次为:
S1、S2...、SM
其中,Si为日志结构合并树第i层数据层的数据存到布谷哈希表中所占有的空间大小;
Sk=Nk*B
其中,Nk为日志结构合并树中第k层高读取频率的数据层中键值数据对的数量,B为布谷哈希表的哈希桶的大小;
日志结构合并树中第一层数据层、日志结构合并树中第二层数据层、...、日志结构合并树中第K层数据层为步骤1所述的日志结构合并树中高读取频率的数据层;
日志结构合并树中第K+1层数据层、日志结构合并树中第K+2层数据层、...、日志结构合并树中第M层数据层为步骤1所述的日志结构合并树中低读取频率的数据层;
步骤1所述多层布谷鸟哈希表应用数据读取层为:
日志结构合并树中第一层数据层、日志结构合并树中第二层数据层、...、日志结构合并树中第K层数据层,K<M。
现有的技术在为日志结构合并树构建额外索引加速读操作时,会不加限制地使用内存空间,导致内存空间消耗过大。本发明通过一种启发式策略选取高访问频率的数据层,为其构造额外地哈希索引,使用有限的内存空间来明显地提高读性能。
附图说明
图1:是本发明的总体结构图。
图2:是本发明中布谷鸟哈希表结构说明图。
图3:是本发明中添加布谷鸟哈希表后,键值存储系统的读取流程图。
图4:是本发明方法流程图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
因为布谷鸟哈希表会占用额外的内存空间,为了限制额外的内存开销,所以我们只对前三级的数据层构造快速哈希索引。在键值存储系统中为存放LSM-tree中前三级数据层的键值对构造额外的布谷鸟哈希索引结构,如图1所示。布谷鸟哈希表存放于内存模块,缓存前三级数据层中key的存放地址信息。哈希表的bucket桶中存放的键值对<k,v>,其键值k存放的是前三级数据层的key,其v值存放的是key所在的文件编号(file number)。布谷鸟哈希表配有两个不同的hash函数,表示会有两个候选bucket桶存放对应的键值对,如图2所示。
因为LSM-tree的数据写入原理,所以最新的数据都在靠上的数据层。如果想在LSM-tree中查找目标数据,就必须从上到下依次查询每一层数据层,直至找到目标数据。无论目标数据是在LSM-tree中靠上的数据层,还是在靠后的数据层,读请求都需要查找LSM-tree的前几层数据。因此如果我们为前几级数据层中的key构建更快速的索引,跳过原来的在每一层的慢速查询,可以加速整个读取过程。基于LSM-tree的键值存储系统装载布谷鸟哈希表后,读请求的流程将发生变化。
因为哈希表会占用额外的内存空间,但由于内存空间有限,如何在保证带来性能提升的同时,不会占用过多的内存空间。我们通过统计分析每一个数据层的访问频率,如靠上的层级,如L0、L1等会被频繁地访问,如果目标数据是在L0、L1,会查询并找到目标数据;如果目标数据是在靠后数据层,也会先查询L0、L1后得到查询失败地结果后才能继续查询靠后的层级。因此我们的索引构建时做如下考虑,如果LSM-tree的数据层数未超过3,对全部数据构建额外的哈希索引。如果LSM-tree的数据层数超过3,只对前三层的数据构建哈希索引。因为LSM-tree的结构特点,前三层的数据占总数据的比例较低,所以内存空间开销不大,同时能省去大量的读取I/O请求。
对于大小较大的key来说,也会使得哈希表占有空间很大。如果key的size有128bytes,则哈希表将会消耗大量的内存空间。因此,我们对哈希表的bucket桶中的<k,v>的k限制大小为16bytes。如果key的size小于16bytes,则key正常存储。如果key的size大于16bytes,则对其进行MD5编码,生成一个128-bit的数值存入k中。
下面结合图1至图4介绍本发明的具体实施方式为一种基于日志结构合并树的键值数据快速读取方法,图4是本发明的方法流程图,包括布谷鸟哈希索引的构建和数据的读取流程等,其特征在于,包括以下步骤:
步骤1:通过多层数据层构建日志结构合并树,日志结构合并树的每层数据层中存取多组键值数据对,统计分析日志结构合并树的每层数据层中数据读取频率,根据日志结构合并树的每层数据层中数据读取频率将日志结构合并树划分为高读取频率的数据层以及低读取频率的数据层,通过日志结构合并树高读取频率的数据层构建多层布谷鸟哈希表应用数据读取层。如图1所示,该图展示了本发明的整体架构;
步骤1所述日志结构合并树包括:
第一层日志结构合并树数据层、第二层日志结构合并树数据层、...、第M层日志结构合并树数据层;
步骤1所述日志结构合并树的每层数据层中存取多组键值数据对为:
其中,M表示日志结构合并树的数据层的层数,<keyi,j,valuei,j>表示日志结构合并树中第i层数据层中第j组键值数据对,keyi,j表示日志结构合并树中第i层数据层中第j组键值数据对中索引,valuei,j表示日志结构合并树中第i层数据层中第j组键值数据对中数据,j∈[1,Ni],Ni表示日志结构合并树中第i层数据层中键值数据对的数量;
步骤1所述日志结构合并树的每层数据层的数据读取频率为:
F1、F2...、FM
其中,Fi为日志结构合并树第i层数据层的数据读取频率;
统计分析日志结构合并树中每层数据层的数据读取频率的方法为:
当数据在日志结构合并树中每层数据层进行查找时,若查询到目标数据则返回目标结果;
若未查询到目标数据则到日志结构合并树中下一层数据层去查询;
若查询到目标数据定义为正查询,若未查询到目标数据定义为负查询;
统计日志结构合并树中每层数据层的数据的读取频率为正查询次数和负查询次数之和,即Fi=Fp-i+Ff-i。
步骤1所述根据日志结构合并树的每层数据层中数据读取频率在日志结构合并树划分为高读取频率的数据层以及低读取频率的数据层为:
若查询的目标数据在日志结构合并树中第i层数据层时,则需要进行(i-1)次的负查询和1次正查询;
设定读取频率比例阈值为T,0.3≤T≤0.5,用于计算所述的日志结构合并树高读取频率的数据层;
设置内存最大值为Smax;
所述计算所述的日志结构合并树高读取频率的数据层为:
(F1+F2+…+FK)/(F1+F2+…+FM)<=T
(S1+S2+…+SK)<=Smax
其中,Fi为日志结构合并树第i层数据层的数据读取频率,i∈[1,M],Fk为日志结构合并树中第k层高读取频率的数据层,k∈[1,K],T为读取频率比例阈值;
日志结构合并树的每层数据层的存到布谷哈希表中所占有的空间大小依次为:
S1、S2...、SM
其中,Si为日志结构合并树第i层数据层的数据存到布谷哈希表中所占有的空间大小;
Sk=Nk*B
其中,Nk为日志结构合并树中第k层高读取频率的数据层中键值数据对的数量,B为布谷哈希表的哈希桶(hash bucket)的大小;
日志结构合并树中第一层数据层、日志结构合并树中第二层数据层、...、日志结构合并树中第K层数据层为步骤1所述的日志结构合并树中高读取频率的数据层;
日志结构合并树中第K+1层数据层、日志结构合并树中第K+2层数据层、...、日志结构合并树中第M层数据层为步骤1所述的日志结构合并树中低读取频率的数据层;
步骤1所述多层布谷鸟哈希表应用数据读取层为:
日志结构合并树中第一层数据层、日志结构合并树中第二层数据层、...、日志结构合并树中第K层数据层,K<M。
步骤2:针对每层布谷鸟哈希表应用数据读取层中,若键值数据对中索引的字节数量大于字节阈值则将键值数据对中索引进行MD5编码后存入布谷鸟哈希表,否则键值数据对中索引仍存取至布谷鸟哈希表应用数据读取层即日志结构合并树。如图2所示,该图展示了布谷鸟哈希表的结构;
步骤3:在进行数据索引读取时,若数据属于第一层日志结构合并树、第二层日志结构合并树、...、第K层日志结构合并树,则通过布谷鸟哈希表应用数据读取层中索引读取键值数据对中数据;若数据属于第K+1层日志结构合并树、第二层日志结构合并树、...、第N层日志结构合并树,则通过日志结构合并树中键值数据对中索引读取键值数据对中数据。如图3所示,该图展示了键值存储系统的读取流程。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (1)
1.一种基于日志结构合并树 的键值存储的数据快速读取方法,其特征在于,包括以下步骤:
步骤1:通过多层数据层构建日志结构合并树,日志结构合并树的每层数据层中存取多组键值数据对,统计分析日志结构合并树的每层数据层中数据读取频率,根据日志结构合并树的每层数据层中数据读取频率将日志结构合并树划分为高读取频率的数据层以及低读取频率的数据层,通过日志结构合并树高读取频率的数据层构建多层布谷鸟哈希表应用数据读取层;
步骤2:针对每层布谷鸟哈希表应用数据读取层中,若键值数据对中索引的字节数量大于字节阈值则将键值数据对中索引进行MD5编码后存入布谷鸟哈希表,否则键值数据对中索引仍存取至布谷鸟哈希表应用数据读取层;
步骤3:在进行数据索引读取时,若数据属于日志结构合并树多层数据层中高读取频率的数据层,则通过布谷鸟哈希表应用数据读取层中索引读取键值数据对中数据;若数据属于日志结构合并树多层数据层中低读取频率的数据层,则通过日志结构合并树中键值数据对中索引读取键值数据对中数据;
步骤1所述日志结构合并树包括:
第一层日志结构合并树数据层、第二层日志结构合并树数据层、...、第M层日志结构合并树数据层;
步骤1所述日志结构合并树的每层数据层中存取多组键值数据对为:
其中,M表示日志结构合并树的数据层的层数,<keyi,j,valuei,j>表示日志结构合并树中第i层数据层中第j组键值数据对,keyi,j表示日志结构合并树中第i层数据层中第j组键值数据对中索引,valuei,j表示日志结构合并树中第i层数据层中第j组键值数据对中数据,j∈[1,Ni],Ni表示日志结构合并树中第i层数据层中键值数据对的数量;
步骤1所述日志结构合并树的每层数据层的数据读取频率为:
F1、F2...、FM
其中,Fi为日志结构合并树第i层数据层的数据读取频率;
统计分析日志结构合并树中每层数据层的数据读取频率的方法为:
当数据在日志结构合并树中每层数据层进行查找时,若查询到目标数据则返回目标结果;
若未查询到目标数据则到日志结构合并树中下一层数据层去查询;
若查询到目标数据定义为正查询,若未查询到目标数据定义为负查询;
统计日志结构合并树中每层数据层的数据的读取频率为正查询次数和负查询次数之和,即Fi=Fp-i+Ff-i;
步骤1所述根据日志结构合并树的每层数据层中数据读取频率在日志结构合并树划分为高读取频率的数据层以及低读取频率的数据层为:
若查询的目标数据在日志结构合并树中第i层数据层时,则需要进行(i-1)次的负查询和1次正查询;
设定读取频率比例阈值为T,0.3≤T≤0.5,用于计算所述的日志结构合并树高读取频率的数据层;
设置内存最大值为Smax;
所述计算所述的日志结构合并树高读取频率的数据层为:
(F1+F2+…+FK)/(F1+F2+…+FM)<=T
(S1+S2+…+SK)<=Smax
其中,Fi为日志结构合并树第i层数据层的数据读取频率,i∈[1,M],Fk为日志结构合并树中第k层高读取频率的数据层,k∈[1,K],T为读取频率比例阈值;
日志结构合并树的每层数据层的数据存到布谷哈希表中所占有的空间大小依次为:
S1、S2...、SM
其中,Si为日志结构合并树第i层数据层的数据存到布谷哈希表中所占有的空间大小;
Sk=Nk*B
其中,Nk为日志结构合并树中第k层高读取频率的数据层中键值数据对的数量,B为布谷哈希表的哈希桶的大小;
日志结构合并树中第一层数据层、日志结构合并树中第二层数据层、...、日志结构合并树中第K层数据层为步骤1所述的日志结构合并树中高读取频率的数据层;
日志结构合并树中第K+1层数据层、日志结构合并树中第K+2层数据层、...、日志结构合并树中第M层数据层为步骤1所述的日志结构合并树中低读取频率的数据层;
步骤1所述多层布谷鸟哈希表应用数据读取层为:
日志结构合并树中第一层数据层、日志结构合并树中第二层数据层、...、日志结构合并树中第K层数据层,K<M。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011384970.8A CN112486994B (zh) | 2020-11-30 | 2020-11-30 | 一种基于日志结构合并树的键值存储的数据快速读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011384970.8A CN112486994B (zh) | 2020-11-30 | 2020-11-30 | 一种基于日志结构合并树的键值存储的数据快速读取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112486994A CN112486994A (zh) | 2021-03-12 |
CN112486994B true CN112486994B (zh) | 2024-04-19 |
Family
ID=74938610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011384970.8A Active CN112486994B (zh) | 2020-11-30 | 2020-11-30 | 一种基于日志结构合并树的键值存储的数据快速读取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112486994B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342813B (zh) * | 2021-06-09 | 2024-01-26 | 南京冰鉴信息科技有限公司 | 键值数据处理方法、装置、计算机设备及可读存储介质 |
CN113778752A (zh) * | 2021-09-10 | 2021-12-10 | 中国电信集团系统集成有限责任公司 | 用于重复数据删除的哈希数据存储方法及装置 |
CN113961514B (zh) * | 2021-12-20 | 2022-03-08 | 支付宝(杭州)信息技术有限公司 | 数据查询方法及装置 |
CN114996275A (zh) * | 2022-06-22 | 2022-09-02 | 华侨大学 | 一种基于多树转换机制的键值存储方法 |
CN115145954A (zh) * | 2022-09-01 | 2022-10-04 | 北京奥星贝斯科技有限公司 | 一种数据查询方法、数据存储方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915145A (zh) * | 2014-03-11 | 2015-09-16 | 华为技术有限公司 | 一种降低LSM Tree写放大的方法和装置 |
CN105447059A (zh) * | 2014-09-29 | 2016-03-30 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN106844650A (zh) * | 2017-01-20 | 2017-06-13 | 中国科学院计算技术研究所 | 一种日志合并树的合并方法及系统 |
CN108268217A (zh) * | 2018-01-10 | 2018-07-10 | 北京航天云路有限公司 | 一种基于时序数据冷热分类的分层存储方法 |
CN110808910A (zh) * | 2019-10-29 | 2020-02-18 | 长沙理工大学 | 一种支持QoS的OpenFlow流表节能存储架构及其应用 |
CN111837113A (zh) * | 2019-09-12 | 2020-10-27 | 创新先进技术有限公司 | 日志结构存储系统 |
CN111837101A (zh) * | 2019-09-12 | 2020-10-27 | 创新先进技术有限公司 | 日志结构存储系统 |
-
2020
- 2020-11-30 CN CN202011384970.8A patent/CN112486994B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915145A (zh) * | 2014-03-11 | 2015-09-16 | 华为技术有限公司 | 一种降低LSM Tree写放大的方法和装置 |
CN105447059A (zh) * | 2014-09-29 | 2016-03-30 | 华为技术有限公司 | 一种数据处理方法及装置 |
CN106844650A (zh) * | 2017-01-20 | 2017-06-13 | 中国科学院计算技术研究所 | 一种日志合并树的合并方法及系统 |
CN108268217A (zh) * | 2018-01-10 | 2018-07-10 | 北京航天云路有限公司 | 一种基于时序数据冷热分类的分层存储方法 |
CN111837113A (zh) * | 2019-09-12 | 2020-10-27 | 创新先进技术有限公司 | 日志结构存储系统 |
CN111837101A (zh) * | 2019-09-12 | 2020-10-27 | 创新先进技术有限公司 | 日志结构存储系统 |
CN110808910A (zh) * | 2019-10-29 | 2020-02-18 | 长沙理工大学 | 一种支持QoS的OpenFlow流表节能存储架构及其应用 |
Non-Patent Citations (1)
Title |
---|
"SlimDB: A Space-Efficient Key-Value Storage Engine For Semi-Sorted Data";Kai Ren;《Proceedings of the VLDB Endowment》;20170930;2037-2048 * |
Also Published As
Publication number | Publication date |
---|---|
CN112486994A (zh) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112486994B (zh) | 一种基于日志结构合并树的键值存储的数据快速读取方法 | |
US9672235B2 (en) | Method and system for dynamically partitioning very large database indices on write-once tables | |
KR101467589B1 (ko) | 데이터 구조를 가지는 하나 이상의 장치 판독가능 매체, 및장치 실행가능 명령어를 구비한 하나 이상의 장치 판독가능 매체 | |
CN101655861B (zh) | 基于双计数布鲁姆过滤器的哈希方法和哈希装置 | |
CN107526550B (zh) | 一种基于日志结构合并树的两阶段合并方法 | |
JP3318834B2 (ja) | データファイルシステム及びデータ検索方法 | |
CN113961514B (zh) | 数据查询方法及装置 | |
US8086641B1 (en) | Integrated search engine devices that utilize SPM-linked bit maps to reduce handle memory duplication and methods of operating same | |
US9104726B2 (en) | Columnar databases | |
US6745198B1 (en) | Parallel spatial join index | |
CN112000846A (zh) | 基于gpu分组lsm树索引的方法 | |
US7987205B1 (en) | Integrated search engine devices having pipelined node maintenance sub-engines therein that support database flush operations | |
CN115718819A (zh) | 一种索引构建方法、数据读取方法及索引构建装置 | |
US20070260579A1 (en) | Method of designing query classification component for multilevel dbms | |
CN116701440B (zh) | 一种布谷鸟过滤器及数据插入、查询、删除方法 | |
US7953721B1 (en) | Integrated search engine devices that support database key dumping and methods of operating same | |
WO2015129109A1 (ja) | インデックス管理装置 | |
US20200019539A1 (en) | Efficient and light-weight indexing for massive blob/objects | |
CN116301656A (zh) | 基于日志结构合并树的数据存储方法、系统及设备 | |
US7822736B2 (en) | Method and system for managing an index arrangement for a directory | |
KR100878142B1 (ko) | 플래시 메모리 상에서의 효율적인 동작을 위한 수정된b-트리 인덱스 구성 방법 | |
CN1235169C (zh) | 一种嵌入式系统的数据存放及其查找方法 | |
US10169250B2 (en) | Method and apparatus method and apparatus for controlling access to a hash-based disk | |
US20130290378A1 (en) | Adaptive probabilistic indexing with skip lists | |
CN116561374B (zh) | 基于半结构化存储的资源确定方法、装置、设备及介质 |
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 |