CN118092812A - 基于内存表索引与迭代器缩减机制的键值存储及读写方法 - Google Patents
基于内存表索引与迭代器缩减机制的键值存储及读写方法 Download PDFInfo
- Publication number
- CN118092812A CN118092812A CN202410468038.5A CN202410468038A CN118092812A CN 118092812 A CN118092812 A CN 118092812A CN 202410468038 A CN202410468038 A CN 202410468038A CN 118092812 A CN118092812 A CN 118092812A
- Authority
- CN
- China
- Prior art keywords
- memory table
- key
- layer
- read
- range
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000007246 mechanism Effects 0.000 title claims abstract description 24
- 230000009467 reduction Effects 0.000 title claims abstract description 24
- 239000010410 layer Substances 0.000 claims abstract description 110
- 238000013507 mapping Methods 0.000 claims abstract description 45
- 239000011229 interlayer Substances 0.000 claims abstract description 14
- 230000002688 persistence Effects 0.000 claims description 3
- 238000010276 construction Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 abstract description 4
- 230000006872 improvement Effects 0.000 abstract description 2
- 230000003321 amplification Effects 0.000 description 5
- 238000003199 nucleic acid amplification method Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明一种基于内存表索引与迭代器缩减机制的键值存储及读写方法,涉及计算机存储领域,包括:对于写入的键值对,保存在可写内存表中,当可写内存表大小达到设定的限制时,将可写内存表转换为只读内存表;当只读内存表需要写入磁盘时,将只读内存表临时保存至内存表索引池中;生成一个标识SST文件,并将其写入到磁盘中的L0层;只读内存表与标识SST文件间的一一对应关系通过映射关系表记录;当发生层间合并操作时,检查L1‑L6层的键范围映射表中记录的层级信息是否需要更新。本发明对L0层文件执行读写请求时无需进行磁盘I/O,通过设计键范围映射表结构,减少了范围查找过程中迭代器的构建数量,从而提升键值存储的读写性能,实现键值存储读写性能的提升。
Description
技术领域
本发明涉及计算机存储领域,特别涉及一种基于内存表索引与迭代器缩减机制的键值存储及读写方法。
背景技术
键值存储***在现代数据密集型的应用中扮演者关键角色,包括电子商务、云存储、在线游戏、社交网络、人工智能/机器学习、高性能计算等。目前最先进的键值存储***,如Google的BigTable和LevelDB,Facebook的RocksDB和Cassandra,Apache的HBase,以及Yahoo!的Punts都使用日志结构合并树(LSM树)作为索引结构。与其他索引结构,如B树相比,LSM树的主要优势在于它维护顺序写模式,而B树上的小更新可能涉及许多随机写入,因此效率不高。
LSM树因为其出色的写入性能被熟知,主要思想是在内存缓冲区中维护一批等待刷新到存储设备的随机写入,当缓冲区满时,这些键值对以文件的形式顺序写入存储设备中,所有文件在底层存储设备的分层结构中按排序顺序组织,极大的提高了写入效率。但因为LSM树的内在设计预定义了每层允许的文件数量,每当文件数量超过限制时,就会触发层间合并操作,这可能会导致较高的写入放大。以LevelDB为例,每一层的大小是上一层的10倍,当第i层排序字符串表(SST)文件数量超过阈值时,需将i层的一个SST文件与i+1层的SST文件合并。最坏情况下,要读取10个i+1层的SST文件与i层SST文件合并,并将结果写回i+1层。此时,写入放大高达10倍,在这种情况下,将一个SST文件从L0层移动L6层,写入放大最高将达到50倍。且由于LSM树的层级结构,查找键值对时,需要从内存到存储设备逐级查找键值对。因为L0层各SST文件之间无序,因此需要每个SST文件进行查找,导致了严重的读取放大,牺牲了读取性能。尤其是执行范围查找时,最坏情况下,LevelDB需要为内存表构建2个迭代器,L0层构建12个迭代器,L1-L6层各构建1个迭代器,一共需构建20个迭代器,并对每个迭代器指向的键进行大小比较,直到找到所有数据。然而并非所有迭代器均包含查找范围内的键值对,使得多数迭代器的构建操作为非必要,导致范围查找的性能下降。
发明内容
本发明的主要目的在于克服现有技术中的上述缺陷,提出一种基于内存表索引与迭代器缩减机制的键值存储及读写方法,降低了磁盘读写数据量,并在执行范围查找时缩减迭代器数量,以降低CPU开销,实现键值存储性能的提升。
本发明采用如下技术方案:
一方面,一种基于内存表索引与迭代器缩减机制的键值存储方法,包括:
对于写入的键值对,保存在可写内存表中,当可写内存表大小达到设定的限制时,将可写内存表转换为只读内存表;
当只读内存表需要写入磁盘时,将只读内存表临时保存至内存表索引池中;
生成一个标识SST文件,并将其写入到磁盘中的L0层;只读内存表与标识SST文件间的一一对应关系通过映射关系表记录;
当发生层间合并操作时,检查L1-L6层的键范围映射表中记录的层级信息是否需要更新,如下:
L0合并数据至L1层,对于每一个键值对,查找键范围映射表中包含此键的键范围记录,若记录中不包含L1层,则在记录的层级信息中增加L1层;
Li合并数据至Li+1层,获取Li层中参与层间合并的键范围R;在键范围映射表中找到与键范围R重叠的所有记录,对于每条记录,若其键范围为RT,当RT⊆R时,则在该记录的层级信息中将Li层更新为Li+1层;反之,则在记录的层级信息中增加Li+1层;其中,i>0。
优选的,所述内存表索引池,位于内存中,暂存应写入磁盘L0层的只读内存表IMTi,同时生成持久化标识STTi,并将标识SSTi写入L0层。
优选的,所述映射关系表由两个字段组成,分别是内存表地址和标识SST编号,当只读内存表IMTi存入内存表索引池,且对应的标识STTi生成时,将IMTi的地址记录在内存表地址字段中,将标识文件的编号i记录在标识SST编号字段中。
优选的,所述键范围映射表由范围最小键、范围最大键、所需层级编号和命中次数四个字段组成;其中,所需层级编号指L1-L6层的编号1-6,在执行范围查找时,内存中的内存表以及L0层的SST文件都必须建立迭代器,但L1-L6层不一定都需要建立迭代器,所以用此字段记录部分键范围实际需要构建的迭代器的层级编号,而命中次数表示某个键范围被查询的次数,当键范围映射表的记录达到阈值时,删除命中次数字段靠后的预设比例的记录。
另一方面,一种基于内存表索引与迭代器缩减机制的数据读取方法,基于所述的键值存储方法,包括:
步骤11,判断是点查找或是范围查找,若是点查找,转步骤12;若是范围查找,转步骤16;
步骤12,在可写内存表和未暂存至内存表索引池的只读内存表中查找目标数据,若找到,转步骤13;若未找到,转步骤14;
步骤13,完成用户的点查找请求,向用户发送读取到的目标数据,或返回未找到目标数据;
步骤14,在内存表索引池中查找目标数据,若找到,转步骤13;若未找到,转步骤15;
步骤15,在磁盘LSM树的L1-L6层中自顶向下逐层查找目标数据,查找结束后,转步骤13;
步骤16,为所有内存表建立迭代器,迭代器建立后,转步骤17;
步骤17,查询键范围映射表,若有符合要求的记录,则依照记录的层级建立迭代器,否则为所有层级建立迭代器;迭代器建立后,转步骤18;
步骤18,读取查找范围内的数据,如果采用键范围映射表中的记录,则在读取数据时判断,当前键大小是否超出命中记录的键范围,若超出,转步骤17;若未超出,继续读取数据;范围查找结束后,转步骤19;
步骤19,在键范围映射表中添加或更新记录,以记录此查找范围所需的层级编号。
再一方面,一种基于内存表索引与迭代器缩减机制的数据写入方法,基于所述的键值存储方法,包括:
步骤21,首先将数据可写内存表中,若可写内存表大小达到限制,转步骤22;若未达到限制,转步骤27;
步骤22,将可写内存表转换为只读内存表结构,创建新的可写内存表结构用于数据写入,当只读内存表需要写入磁盘时,将其暂存至内存表索引池中,同时生成对应的标识文件写入磁盘L0层,若L0层标识文件的数量达到限制,转步骤23;若未达到限制,转步骤27;
步骤23,将索引池中的只读内存表与磁盘L1层文件合并,释放暂存的只读内存表,并删除预写日志(WAL)中此文件内容,删除后,转步骤24;
步骤24,修改键范围映射表中的记录,对于步骤23中参与层间合并的每一个键值对,查找表中包含此键的键范围记录,若记录中不包含L1层,则在记录的层级信息中增加L1层,转步骤25;
步骤25,若Li层文件数量超出限制,则将Li中部分文件合并至Li+1,转步骤26;若未超出限制,转步骤27;
步骤26,获取步骤25中参与层间合并的Li层键范围R;在表中找到与键范围R重叠的所有记录,对于每条记录,若其键范围为RT,当时,则在该记录的层级信息中将Li层更新为Li+1层;反之,则在记录的层级信息中增加Li+1层,转步骤27;
步骤27,完成用户的写入请求,向用户发送写入成功的信息。
与现有技术相比,本发明的有益效果如下:
(1)本发明对L0层文件执行读写请求时无需进行磁盘I/O,结合键范围映射表结构,减少了范围查找过程中迭代器的构建数量,从而提升键值存储的读写性能,实现键值存储读写性能的提升;
(2)本发明的键范围映射表减少了在范围查找时为非必要层级构建迭代器带来的额外开销;同时,在各迭代器间比较键大小时,减少了需比较的迭代器数量,加快了键比较速度,提高范围查找性能;
(3)本发明的键范围映射表减少了迭代器构建的数量,避免无效迭代器构建时的磁盘I/O,提高了目标数据在读取数据中的占比,减小读放大;
(4)本发明将L0层中的文件暂存在内存表索引池中,在进行L0层到L1层的层间合并时,不需要将L0层文件从外存设备中读出,而是直接利用内存表索引池中的文件与L1层文件进行合并,因此,减少了从外存读取文件的时间,提高层间合并性能。
附图说明
图1为本发明的基于内存表索引与迭代器缩减机制的键值存储方法的应用***图;
图2为本发明的基于内存表索引与迭代器缩减机制的数据读取方法的流程图;
图3为本发明的基于内存表索引与迭代器缩减机制的数据写入方法的流程图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
参见图1所示,本发明的基于内存表索引与迭代器缩减机制的键值存储***,在内存中维护一个内存表索引池、一张映射关系表和一张键范围映射表。具体的,所述内存表索引池,暂存应写入磁盘L0层的只读内存表IMTi,同时生成持久化标识STTi,并将标识SSTi写入L0层。因此,对于L0层文件的所有请求都可在内存表索引池的只读内存表中实现。所述映射关系表,由两个字段组成,分别是内存表地址和标识SST编号,当只读内存表IMTi存入内存表索引池,且对应的标识STTi生成时,将IMTi的地址记录在内存表地址字段中,将标识文件的编号i记录在标识SST编号字段。所述键范围映射表,键范围映射表由范围最小键、范围最大键、所需层级编号和命中次数四个字段组成,其中所需层级编号指L1-L6层的编号1-6,因为在执行范围查找时,内存中的内存表以及L0层的SST文件都必须建立迭代器,但L1-L6层不一定都需要建立迭代器,所以用此字段记录部分键范围实际需要构建的迭代器的层级编号,而命中次数表示某个键范围被查询的次数,当键范围映射表的记录达到阈值时,删除命中次数字段靠后的预设比例的记录。需要说明的是,该预设比例可以根据实际应用进行设置,如20%,具体本实施例不做限制。
基于上述的基于内存表索引与迭代器缩减机制的键值存储***,本实施例的基于内存表索引与迭代器缩减机制的键值存储方法如下。
对于写入的键值对,首先保存在可写内存表中,当可写内存表大小达到设定的限制时,将可写内存表转换为只读内存表。当只读内存表需要写入磁盘时,***采取的策略并非直接进行写入,而是将只读内存表临时保存至内存表索引池中。同时生成一个标识SST文件,并将其写入到磁盘中的L0层。内存中存在两个表结构,一个是映射关系表,用于记录只读内存表与标识SST文件间的一一对应关系;另一个是L1-L6层的键范围映射表,用于记录键范围内数据所在的层级。因此,当发生层间合并操作时,需检查键范围映射表中记录的层级信息是否需要更新。具体分为两种情况,第一种,L0合并数据至L1层,对于每一个键值对,查找表中包含此键的键范围记录,若记录中不包含L1层,则在记录的层级信息中增加L1层。第二种,Li合并数据至Li+1层(i>0),获取Li层中参与层间合并的键范围R。在表中找到与键范围R重叠的所有记录,对于每条记录,若其键范围为RT,当时,则在该记录的层级信息中将Li层更新为Li+1层;反之,则在记录的层级信息中增加Li+1层。对于点查找操作,首先在内存表中查找,接着在内存表索引池中查找,最后在磁盘LSM树的L1-L6层自顶向下查找,直到找到所需键值对,或返回键值对不存在。对于范围查找操作,首先为所有内存表建立迭代器,再检索键范围映射表,若其中不存在包含起始键的记录,则为所有层级建立迭代器后,再使用迭代器查找数据直到结束;若存在,则仅为记录中的已有层级建立迭代器后,再使用迭代器查找数据,若查找未结束前,当前键已超过记录的最大键,则在键范围映射表中继续检索是否有与目前使用记录的键范围连续的记录,若命中,则更新迭代器,否则为所有层级建立迭代器后,继续查找数据直到结束。最后,还需对键范围映射表进行新增或更新记录操作。
基于上述的基于内存表索引与迭代器缩减机制的键值存储方法,本实施例的基于内存表索引与迭代器缩减机制的键值的数据读取流程参见图2所示,具体如下。
101、用户向***发送读取请求,到102。
102、判断是否为点查询请求,若是,到103,否则到108。
103、在可写内存表和未暂存至内存表索引池的只读内存表中查找目标数据,若找到,到104,否则到106。
104、读取数据,到105。
105、向用户返回目标数据或查找结果。
106、在内存表索引池中查找目标数据,若找到,到104,否则到107。
107、在磁盘LSM树的L1-L6层中自顶向下查找目标数据,若找到,到104,否则到105。
108、为所有内存表建立迭代器,到109。
109、判断键范围映射表记录的键范围是否包含起始键,若是,到110,否则到116。
110、使用命中记录的层级信息建立迭代器,Seek(起始键),判断查找是否结束,若是,到111,否则到112。
111、在键范围映射表中新增或更新记录,向用户返回查找结束。
112、执行Next操作,判断查找是否结束,若是,到111,否则判断当前键是否超出记录的键范围,若是,到113,否则继续执行Next操作。
113、查找键范围映射表中是否有连续的记录,若是,到114,否则到115。
114、更新迭代器,到112。
115、为所有层级建立迭代器,执行Next操作,若查找结束,到111,否则继续执行Next操作。
116、为除L0层外的所有层级建立迭代器,Seek(起始键),判断查找是否结束,若结束,到111,否则执行Next操作,直到查找结束。
基于上述的基于内存表索引与迭代器缩减机制的键值存储方法,本实施例的基于内存表索引与迭代器缩减机制的键值的数据写入流程参见图3所示,具体如下。
201、用户向***发送写入请求,到202。
202、判断可写内存表是否已满,若已满,到203,否则到213。
203、可写内存表转换为只读内存表,到204。
204、判断缓存空间是否已满,若已满,到205,否则到206。
205、判断磁盘L0层中的标识文件数量是否达到限制。若是,到207,否则到208。
206、创建新的可写内存表,到202。
207、将索引池中内存表与磁盘L1层文件合并,释放暂存的只读内存表,并删除WAL中此文件内容,到209。
208、只读内存表暂存至内存索引池中,同时生成相应的标识文件写入磁盘L0层中,并将其对应关系记录于映射关系表中,到204。
209、对于L0合并数据至L1层的每一个键值对,查找键范围映射表中包含此键的键范围记录,若记录中不包含L1层,则在记录的层级信息中增加L1层,到210。
210、判断Li(i>0)层文件数量是否超出限制,若超出,到211,否则到205。
211、将Li层中部分文件合并至Li+1层,到212。
212、对于Li合并数据至Li+1层(i>0)的键范围R。在键范围映射表中找到与键范围
R重叠的所有记录,对于每条记录,若其键范围为RT,当RT R时,则在该记录的层级信息中将
Li层更新为Li+1层;反之,则在记录的层级信息中增加Li+1层,到205。
213、写入数据到可写内存表,到214。
214、向用户返回写入结果。
上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。
Claims (6)
1.一种基于内存表索引与迭代器缩减机制的键值存储方法,其特征在于,包括:
对于写入的键值对,保存在可写内存表中,当可写内存表大小达到设定的限制时,将可写内存表转换为只读内存表;
当只读内存表需要写入磁盘时,将只读内存表临时保存至内存表索引池中;
生成一个标识SST文件,并将其写入到磁盘中的L0层;只读内存表与标识SST文件间的一一对应关系通过映射关系表记录;
当发生层间合并操作时,检查L1-L6层的键范围映射表中记录的层级信息是否需要更新,如下:
L0合并数据至L1层,对于每一个键值对,查找键范围映射表中包含此键的键范围记录,若记录中不包含L1层,则在记录的层级信息中增加L1层;
Li合并数据至Li+1层,获取Li层中参与层间合并的键范围R;在键范围映射表中找到与键范围R重叠的所有记录,对于每条记录,若其键范围为RT,当RT⊆R时,则在该记录的层级信息中将Li层更新为Li+1层;反之,则在记录的层级信息中增加Li+1层;其中,i>0。
2.根据权利要求1所述的基于内存表索引与迭代器缩减机制的键值存储方法,其特征在于,所述内存表索引池,位于内存中,暂存应写入磁盘L0层的只读内存表IMTi,同时生成持久化标识STTi,并将标识SSTi写入L0层。
3.根据权利要求1所述的基于内存表索引与迭代器缩减机制的键值存储方法,其特征在于,所述映射关系表由两个字段组成,分别是内存表地址和标识SST编号,当只读内存表IMTi存入内存表索引池,且对应的标识STTi生成时,将IMTi的地址记录在内存表地址字段中,将标识文件的编号i记录在标识SST编号字段中。
4.根据权利要求1所述的基于内存表索引与迭代器缩减机制的键值存储方法,其特征在于,所述键范围映射表由范围最小键、范围最大键、所需层级编号和命中次数四个字段组成;其中,所需层级编号指L1-L6层的编号1-6,在执行范围查找时,内存中的内存表以及L0层的SST文件都必须建立迭代器,但L1-L6层不一定都需要建立迭代器,所以用此字段记录部分键范围实际需要构建的迭代器的层级编号,而命中次数表示某个键范围被查询的次数,当键范围映射表的记录达到阈值时,删除命中次数字段靠后的预设比例的记录。
5.一种基于内存表索引与迭代器缩减机制的数据读取方法,其特征在于,基于如权利要求1所述的键值存储方法,包括:
步骤11,判断是点查找或是范围查找,若是点查找,转步骤12;若是范围查找,转步骤16;
步骤12,在可写内存表和未暂存至内存表索引池的只读内存表中查找目标数据,若找到,转步骤13;若未找到,转步骤14;
步骤13,完成用户的点查找请求,向用户发送读取到的目标数据,或返回未找到目标数据;
步骤14,在内存表索引池中查找目标数据,若找到,转步骤13;若未找到,转步骤15;
步骤15,在磁盘LSM树的L1-L6层中自顶向下逐层查找目标数据,查找结束后,转步骤13;
步骤16,为所有内存表建立迭代器,迭代器建立后,转步骤17;
步骤17,查询键范围映射表,若有符合要求的记录,则依照记录的层级建立迭代器,否则为所有层级建立迭代器;迭代器建立后,转步骤18;
步骤18,读取查找范围内的数据,如果采用键范围映射表中的记录,则在读取数据时判断,当前键大小是否超出命中记录的键范围,若超出,转步骤17;若未超出,继续读取数据;范围查找结束后,转步骤19;
步骤19,在键范围映射表中添加或更新记录,以记录此查找范围所需的层级编号。
6.一种基于内存表索引与迭代器缩减机制的数据写入方法,其特征在于,基于如权利要求1所述的键值存储方法,包括:
步骤21,首先将数据可写内存表中,若可写内存表大小达到限制,转步骤22;若未达到限制,转步骤27;
步骤22,将可写内存表转换为只读内存表结构,创建新的可写内存表结构用于数据写入,当只读内存表需要写入磁盘时,将其暂存至内存表索引池中,同时生成对应的标识文件写入磁盘L0层,若L0层标识文件的数量达到限制,转步骤23;若未达到限制,转步骤27;
步骤23,将索引池中的只读内存表与磁盘L1层文件合并,释放暂存的只读内存表,并删除预写日志(WAL)中此文件内容,删除后,转步骤24;
步骤24,修改键范围映射表中的记录,对于步骤23中参与层间合并的每一个键值对,查找表中包含此键的键范围记录,若记录中不包含L1层,则在记录的层级信息中增加L1层,转步骤25;
步骤25,若Li层文件数量超出限制,则将Li中部分文件合并至Li+1,转步骤26;若未超出限制,转步骤27;
步骤26,获取步骤25中参与层间合并的Li层键范围R;在表中找到与键范围R重叠的所有记录,对于每条记录,若其键范围为RT,当时,则在该记录的层级信息中将Li层更新为Li+1层;反之,则在记录的层级信息中增加Li+1层,转步骤27;
步骤27,完成用户的写入请求,向用户发送写入成功的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410468038.5A CN118092812B (zh) | 2024-04-18 | 2024-04-18 | 基于内存表索引与迭代器缩减机制的键值存储及读写方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410468038.5A CN118092812B (zh) | 2024-04-18 | 2024-04-18 | 基于内存表索引与迭代器缩减机制的键值存储及读写方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118092812A true CN118092812A (zh) | 2024-05-28 |
CN118092812B CN118092812B (zh) | 2024-06-25 |
Family
ID=91163924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410468038.5A Active CN118092812B (zh) | 2024-04-18 | 2024-04-18 | 基于内存表索引与迭代器缩减机制的键值存储及读写方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118092812B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110010347A1 (en) * | 2007-01-26 | 2011-01-13 | Hicamp Systems, Inc. | Iterator register for structured memory |
CN106708427A (zh) * | 2016-11-17 | 2017-05-24 | 华中科技大学 | 一种适用于键值对数据的存储方法 |
US20200142878A1 (en) * | 2017-06-30 | 2020-05-07 | Microsoft Technology Licensing, Llc | Staging anchor trees for improved concurrency and performance in page range index management |
CN111475507A (zh) * | 2020-03-31 | 2020-07-31 | 浙江大学 | 一种工作负载自适应单层lsmt的键值数据索引方法 |
CN113495692A (zh) * | 2020-04-02 | 2021-10-12 | 三星电子株式会社 | 数据存储的方法和键值存储设备 |
CN114969034A (zh) * | 2022-05-16 | 2022-08-30 | 北京奥星贝斯科技有限公司 | LSM-Tree架构数据库有序表的查询方法和装置 |
CN114996275A (zh) * | 2022-06-22 | 2022-09-02 | 华侨大学 | 一种基于多树转换机制的键值存储方法 |
US11563803B1 (en) * | 2021-11-10 | 2023-01-24 | President And Fellows Of Harvard College | Optimized self-designing key-value storage engine |
CN116821054A (zh) * | 2023-06-27 | 2023-09-29 | 华侨大学 | 一种基于计算卸载机制的分布式键值存储*** |
-
2024
- 2024-04-18 CN CN202410468038.5A patent/CN118092812B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110010347A1 (en) * | 2007-01-26 | 2011-01-13 | Hicamp Systems, Inc. | Iterator register for structured memory |
CN106708427A (zh) * | 2016-11-17 | 2017-05-24 | 华中科技大学 | 一种适用于键值对数据的存储方法 |
US20200142878A1 (en) * | 2017-06-30 | 2020-05-07 | Microsoft Technology Licensing, Llc | Staging anchor trees for improved concurrency and performance in page range index management |
CN111475507A (zh) * | 2020-03-31 | 2020-07-31 | 浙江大学 | 一种工作负载自适应单层lsmt的键值数据索引方法 |
CN113495692A (zh) * | 2020-04-02 | 2021-10-12 | 三星电子株式会社 | 数据存储的方法和键值存储设备 |
US11563803B1 (en) * | 2021-11-10 | 2023-01-24 | President And Fellows Of Harvard College | Optimized self-designing key-value storage engine |
CN114969034A (zh) * | 2022-05-16 | 2022-08-30 | 北京奥星贝斯科技有限公司 | LSM-Tree架构数据库有序表的查询方法和装置 |
CN114996275A (zh) * | 2022-06-22 | 2022-09-02 | 华侨大学 | 一种基于多树转换机制的键值存储方法 |
CN116821054A (zh) * | 2023-06-27 | 2023-09-29 | 华侨大学 | 一种基于计算卸载机制的分布式键值存储*** |
Non-Patent Citations (1)
Title |
---|
朱庆;冯斌;李茂粟;陈媚特;徐肇文;谢潇;张叶廷;刘铭崴;黄志勤;冯义从;: "面向动态关联数据的高效稀疏图索引方法", 测绘学报, no. 06, 15 June 2020 (2020-06-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN118092812B (zh) | 2024-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825748B (zh) | 利用差异化索引机制的高性能和易扩展的键值存储方法 | |
CN105117415B (zh) | 一种优化的ssd数据更新方法 | |
CN110888886B (zh) | 一种索引结构及构建方法、键值存储***及请求处理方法 | |
CN109299113B (zh) | 具有存储感知的混合索引的范围查询方法 | |
CN109683811B (zh) | 一种混合内存键值对存储***的请求处理方法 | |
CN105117417B (zh) | 一种读优化的内存数据库Trie树索引方法 | |
CN105975587B (zh) | 一种高性能的内存数据库索引组织与访问方法 | |
CN103229164B (zh) | 数据访问方法和装置 | |
CN110347852B (zh) | 嵌入横向扩展键值存储***的文件***及文件管理方法 | |
CN107066393A (zh) | 提高地址映射表中映射信息密度的方法 | |
CN107153707A (zh) | 一种针对非易失内存的哈希表构建方法及*** | |
CN112000846B (zh) | 基于gpu分组lsm树索引的方法 | |
CN112486994B (zh) | 一种基于日志结构合并树的键值存储的数据快速读取方法 | |
Lv et al. | Log-compact R-tree: an efficient spatial index for SSD | |
CN109165321B (zh) | 一种基于非易失内存的一致性哈希表构建方法和*** | |
CN106055679A (zh) | 一种多层次缓存感知型索引方法 | |
CN110928882A (zh) | 一种基于改进红黑树的内存数据库索引方法及*** | |
CN114996275A (zh) | 一种基于多树转换机制的键值存储方法 | |
CN118092812B (zh) | 基于内存表索引与迭代器缩减机制的键值存储及读写方法 | |
CN110515897B (zh) | Lsm存储***读性能的优化方法及*** | |
CN111859038A (zh) | 一种分布式存储***数据热度统计方法、装置 | |
WO2015129109A1 (ja) | インデックス管理装置 | |
CN112181288B (zh) | 一种非易失性存储介质的数据处理方法和计算机存储介质 | |
Wang et al. | Towards read-intensive key-value stores with tidal structure based on LSM-tree | |
CN114969069B (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 |