【技术实现步骤摘要】
基于混合存储的高性能可扩展哈希索引
[0001]本专利技术涉及键值存储与哈希索引
,尤其是涉及针对具备持久性
CPU
高速缓存的持久性内存设备的一种基于混合存储的高性能可扩展哈希索引构建方法
。
技术介绍
[0002]哈希索引又称散列索引,由于其常数级别的查找时间复杂度而被广泛应用于成为了数据密集型应用的基石,如内存数据库
、
键值存储系统等,以提供快速的响应
。
对于任意给定的关键字,哈希索引根据关键字经过散列函数的映射来决定存放键值对的位置
。
当需要进行搜索请求时,哈希索引将关键字代入散列函数后得到包含该关键字的记录在表中的地址,通过该地址访问获得关键字对应的值
。
[0003]新型存储设备持久性内存的出现,为键值存储系统设计带来新的机遇
。
随着相关的电子电路技术发展迅速,已经先后出现以相变存储器
、
阻变存储器和磁阻式存储器等为代表的持久性内存实现技术,且由英特尔公司研制的傲腾持久性内存也已经商用
。
持久性内存具有低延迟
、
非易失
、
可字节寻址的特性,还具有可扩展性高
、
能耗开销低和存储密度大等优点
。
按实现技术不同,持久性内存设备还存在不同访问粒度和持久化域等,差异化的硬件特性,如英特尔傲腾持久性内存
100
系列和
200
系列都具有
256
...
【技术保护点】
【技术特征摘要】
1.
基于混合存储的高性能可扩展哈希索引,其特征在于包括以下步骤:步骤1:基于
CPU
高速缓存
、
易失内存与持久性内存的三层结构,包括:
1.1
在持久性内存上建立一个可扩展的哈希索引,每个桶的大小设置较大;
1.2
在持久性内存内建立一个收集日志池,每个日志大小为
256B
,包含
15
个键值对与
16B
的元数据;通过频繁访问日志池并不显式驱逐日志使得日志驻留在
CPU
高速缓存中;根据哈希值的前
K
位决定写入收集日志的位置;
1.3
在易失内存上建立一个与持久性内存结构相同的可扩展索引,每个桶的大小设置较小;
1.4
在持久性内存建立备份日志,用于保证易失内存可扩展索引的恢复;
1.5
在易失内存上建立一个特征数组与位图,每个元素为对应持久性内存上索引中的键,元素值为对应键的其中
2B
;位图用于管理备忘日志内的空间;步骤2:日志化无搜索插入,包括:
2.1
通过哈希值确定写入日志,采用请求与交换
CAS
原语将日志内项目数目加一并确定写入位置;
2.2
在相应位置按照先值后键的顺序写入日志中;
2.3
在完成写入后通过
CAS
原语将日志内的位图置1代表写入完成;
2.4
当缓存内的日志键值对数量达到设定的阈值时,将采用内存复制的指令将日志复制到备份日志,并将日志内的键值分别插入到易失索引中;
.2.5
当易失索引内桶内键值对数量达到设定的阈值时,将采用内存复制的指令将桶复制到非易失索引中;步骤3:自底向上搜索,包括:
3.1
将待搜索键的哈希值的
2B
取出,通过
SIMD
技术与易失内存上的特征数组进行比较,若相同,则将键与相应的非易失索引内的键比较;若比较后相同,则取出相应值;
3...
【专利技术属性】
技术研发人员:沈志荣,舒继武,余子祥,张一鸣,吴荣鑫,高聪明,李乔,
申请(专利权)人:厦门大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。