面向数据库特性的SSD写缓存研究
发布时间:2020-07-12 10:55
【摘要】:数据库系统是企业存储管理数据的重要方式,在业界得到了广泛应用。在实际应用中,某些企业基于磁盘构建的存储系统,由于其自身业务发展需求,需要为新的应用提供服务,新的应用的负载特性不同,对存储系统的要求也不相同,由于原来存储系统的性能和特性等因素,无法满足新的应用需求,同时兼顾成本等方面的考虑,可以使用SSD缓存解决上述问题。在基于磁盘构建的存储系统上应用数据库,通过SSD缓存可以避免传统磁盘随机读写性能差带来的影响,针对数据库的SSD缓存,需要为不同数据库设计一种通用的缓存解决方案,并且不同的数据库负载具有类似的I/O特性,SSD缓存需要识别这些特性动态调整其缓存策略。数据库的I/O可以分为两种类型:数据文件I/O和日志文件I/O,通过对数据库I/O测试分析发现,数据库系统中存在大量的随机写I/O,主要由日志文件操作引起,并且其I/O特性非常明显,其对应的I/O区域以写为主,这些随机的写I/O是制约数据库性能的主要瓶颈,所以对数据库的写I/O进行优化能够显著提高数据库的性能,基于以上的分析,提出了面向数据库特性的数据库写优化方案WOC(Write-only Cache):通过周期性收集数据库I/O数据,对其I/O特征进行提取,基于统计的预测算法能够预测未来数据库I/O特征,将符合预测的数据放入到SSD中进行缓存,从而提高数据库的性能。测试结果表明:WOC方案仅仅使用少量的SSD的情况下,能够显著提升数据库应用的性能。综合指标评价显示,在性能和成本的考虑下,WOC相比较其他方案是最佳的选择。
【学位授予单位】:华中科技大学
【学位级别】:硕士
【学位授予年份】:2019
【分类号】:TP333;TP311.13
【图文】:
图 2-4 MySQL 磁盘 I/O 地址变化图图 2-5 MySQL I/O 请求大小分布图图 2-4 所示是 MySQL 磁盘 I/O 地址变化图,横坐标为时间,纵坐标为 I/O 地址,测试负载为 TPC-E。随着时间的推移,MySQL 的磁盘 I/O 地址也发生变化。在一段连续时间内,MySQL 的 I/O 地址是随机变化的,这表明 MySQL 的磁盘 I/O 为随机
18图 2-5 MySQL I/O 请求大小分布图图 2-4 所示是 MySQL 磁盘 I/O 地址变化图,横坐标为时间,纵坐标为 I/O 地址,测试负载为 TPC-E。随着时间的推移,MySQL 的磁盘 I/O 地址也发生变化。在一段连续时间内,MySQL 的 I/O 地址是随机变化的,这表明 MySQL 的磁盘 I/O 为随机I/O。其次,从图中 MySQL 读写 I/O 地址分布来说,有些 I/O 地址区域内读写都比较频繁,而某些 I/O 区域内主要以写为主。这是因为数据库有两种不同的 I/O 类型,数据文件的 I/O 既有读也有写,而对日志文件的操作主要以写 I/O 为主,从而导致了这
图 2-6 LevelDB 磁盘 I/O 地址变化图图 2-7 LevelDB I/O 请求大小分布式图图2-8和2-9所示是对 SSDB进行测试后的结果。SSDB是基于 LevelDB实现的,并对 LevelDB 做了进一步的改进。图 2-8 测试结果显示,SSDB 和 LevelDB 类似,存在大量的写,并且以顺序写入为主。对于图 2-9 来说,89.7%的写 I/O 大小在 256KB
本文编号:2751844
【学位授予单位】:华中科技大学
【学位级别】:硕士
【学位授予年份】:2019
【分类号】:TP333;TP311.13
【图文】:
图 2-4 MySQL 磁盘 I/O 地址变化图图 2-5 MySQL I/O 请求大小分布图图 2-4 所示是 MySQL 磁盘 I/O 地址变化图,横坐标为时间,纵坐标为 I/O 地址,测试负载为 TPC-E。随着时间的推移,MySQL 的磁盘 I/O 地址也发生变化。在一段连续时间内,MySQL 的 I/O 地址是随机变化的,这表明 MySQL 的磁盘 I/O 为随机
18图 2-5 MySQL I/O 请求大小分布图图 2-4 所示是 MySQL 磁盘 I/O 地址变化图,横坐标为时间,纵坐标为 I/O 地址,测试负载为 TPC-E。随着时间的推移,MySQL 的磁盘 I/O 地址也发生变化。在一段连续时间内,MySQL 的 I/O 地址是随机变化的,这表明 MySQL 的磁盘 I/O 为随机I/O。其次,从图中 MySQL 读写 I/O 地址分布来说,有些 I/O 地址区域内读写都比较频繁,而某些 I/O 区域内主要以写为主。这是因为数据库有两种不同的 I/O 类型,数据文件的 I/O 既有读也有写,而对日志文件的操作主要以写 I/O 为主,从而导致了这
图 2-6 LevelDB 磁盘 I/O 地址变化图图 2-7 LevelDB I/O 请求大小分布式图图2-8和2-9所示是对 SSDB进行测试后的结果。SSDB是基于 LevelDB实现的,并对 LevelDB 做了进一步的改进。图 2-8 测试结果显示,SSDB 和 LevelDB 类似,存在大量的写,并且以顺序写入为主。对于图 2-9 来说,89.7%的写 I/O 大小在 256KB
【参考文献】
相关硕士学位论文 前3条
1 王冠鹏;PostgreSQL数据库中SSD缓存模块的设计与实现[D];北京邮电大学;2015年
2 陈学轩;SSD数据库性能测试及调优[D];北京大学;2013年
3 杨超;TPC-E测试系统的设计与实现[D];华中科技大学;2011年
本文编号:2751844
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2751844.html