全局失效数据感知的键值存储系统优化

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:xiazaiyigeshishi
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
基于日志结构合并树(Log-Structured Merge-tree,LSM-tree)的键值(Key-Value,KV)存储系统因其高性能和高扩展性得到了广泛的应用。由于LSM-tree键值存储采用异地更新,其不同层可能会存有同一个键(key)的不同版本键值对数据。LSM-tree键值存储通过对数据进行Compaction(归并排序)删除失效数据(除快照以外的旧版本键值对数据)。然而,每次Compaction只能根据参与的局部数据确定并删除部分失效数据,这可能导致失效数据长期滞留在系统中并多次参与Compaction,在影响系统读写性能的同时占用了系统的存储空间。对于数据更新分布均匀的应用而言,这些失效数据对系统产生的影响是不容忽视的。针对上述问题,设计并实现了全局失效数据感知的键值存储系统Gida DB(Global Invalid Data Awareness Database)。Gida DB根据LSM-tree内存只读组件中较新的数据,查找LSM-tree各层SSTable(Sorted String Table)中的旧数据,并将结果存储在旧数据信息表中。Gida DB并行执行查找旧数据与刷写内存只读组件,以减少旧数据查找带来的额外延迟。在Compaction时,Gida DB读取旧数据信息表用于检测参与Compaction的SSTable文件中的旧数据,并结合快照信息,识别并删除SSTable文件中的失效数据,从而减少失效数据多次参与Compaction引起的额外I/O,并减少失效数据带来的额外空间占用。测试结果表明,与Level DB相比,Gida DB的写放大降低了25.1%、写吞吐量提升了25.4%、空间占用减少了34.3%、读延迟减少了19.6%。在Level DB基础上同时部署Gida DB方案与最新写放大优化方案ALDC,与ALDC相比,Gida-ALDC的写放大减少10.7%、写吞吐量提升了8.9%、空间占用减少了22.1%、读延迟减少了13.0%,说明Gida DB方案能在一定程度上进一步提高ALDC方案的空间利用率和读写性能。
其他文献
学位
学位
学位
学位
学位
学位
学位
在无线通信及探测技术需求推动下,高数据速率毫米波通信、高精度毫米波成像、高安全性量子通信等技术快速发展。但我国核心芯片长期受制于人,严重制约我国通信与探测技术的发展。作为以上技术的核心基础,我国宽带硅基放大器芯片的研究具有重要意义。基于上述背景,本论文开展了面向通信与探测的硅基宽带放大器研究与设计,主要内容和贡献概括如下:1)重点研究60GHz毫米波接收机中高性能宽带可变增益放大器的设计和实现。基
本文基于机构差异化视角,探究不同类型机构持股对上市公司信息披露质量的影响。本文以我国A股上市公司为研究对象,采用2010—2019年各季度不同类型机构对各上市公司持股数据,从机构差异化视角出发,研究机构持股对上市公司信息披露质量的影响,其中,本文将机构投资者分为五类:基金、券商、保险机构、社保基金以及境外投资者,研究发现,基金、外资投资者、券商的持股行为会降低上市公司信息披露质量;而社保基金、保险
便携式设备是一些可携带、拆卸、手持的,体积小功耗低的用于辅助工作和生活的小型设备,如语音助手机器人、导盲机器人等。这类设备具有实时人机交互功能,内置多种传感器,具备一定的视觉和语音交互能力(如携带式导盲机器人)。深度学习可以很好地解决视觉和语音交互问题,但是运行深度神经网络模型需要巨大的计算开销,这对于实时性要求较高的便携式设备的设计是一个挑战。将数据传送到云端处理的方案的实时性很受限于网络,如果