基于非易失存储系统的高性能关系型数据库服务技术方案

技术编号:23050082 阅读:24 留言:0更新日期:2020-01-07 14:46
本发明专利技术提供了一种通过非易失性存储系统对传统关系型数据库进行性能加速的技术。本项发明专利技术针对目前在云计算和物联网相关的各类信息系统软件中广泛应用的关系型数据库系统对性能提升的要求,引入非易失存储系统,通过对关系型数据库的中间缓存系统进行加速(通过非易失存储),从而在响应速度和数据安全兼顾的情况下完成数据库整体性能提升。本项发明专利技术包含两方面创新:1.在数据库读写缓存之上应用NVRAM(非易失性内存);2.通过NVRAM资源维护关系数据库的核心数据结构解决数据高可用问题。本项发明专利技术在增强云计算和物联网边缘计算系统效能方面具有良好的适用性。

High performance relational database service based on non-volatile storage system

【技术实现步骤摘要】
基于非易失存储系统的高性能关系型数据库服务
本专利技术属于涉及信息
,尤其是涉及用于支持云计算和边缘计算数据管理系统,采用非易失性存储(NVRAM)技术为关系型数据库系统带来的I/O性能提升。
技术介绍
近年来,随着云计算和边缘计算技术的飞速发展和相关应用的不断落地,以数据分析和处理为基础的智能化数据应用开始飞速增加。该类应用涉及大量的数据查询和缓存、管理、索引和查询,对关系型数据库系统的性能提出了新的挑战。特别是在边缘计算场景下,需要考虑功耗与效能和稳定性平衡的需求下,简单的使用高容量内存和高速SSD硬盘并未能解决所面临的上述问题。因此如何有效实现关系型数据库的效率提升并保持功耗与稳定性已经是各个软硬件厂商所共同面临的问题。基于上述技术要求,本项专利提供了通过采用非易失性存储(NVRAM)加速关系型数据库数据缓存,以此来提升数据库系统的读写性能和吞吐量。本项专利技术通过将结构化数据存储引擎:InnoDB存储引擎的内存数据结构分层化,增加以NVRAM实现的缓存层(参考附图1),在兼顾数据完整性的同时,实现对数据响应能力的提升。InnoDB存储引擎作为广泛应用的MySQLDB的数据引擎,对其的性能提升将对使用MySQLDB的应用系统产生直接的影响。
技术实现思路
针对云计算和边缘计算对存储和管理结构化数据的性能方面的需求,本专利技术的目的是提供一种可以快速、便捷的提升结构化数据存储引擎:InnoDB的以非易失性存储系统(NVRAM)硬件为基础、结合软件实现的软硬件结合性能加速技术。本项技术主要以软件驱动专用硬件的方式对数据库系统的优化为主,即通过软件技术来利用NVRAM的高速I/O能力和数据持久化能力,实现对结构化数据存取、查询的加速(参见附图1)。使用者需要在数据库系统所在的服务器上安装NVRAM硬件和数据库与NVRAM硬件对接的软件模块。关系型数据库存储引擎通常为两层数据存储系统:内存表和日志数据、文件系统接口层(永久化存储)(参见附图2)。内存表和日志存放在内存数据结构中,包括数据页管理、插入缓冲池、并发锁信息表、索引页、自适应索引和数据字典。维持改内存数据集通常需要大量内存以提升数据响应能力,而同时为保障数据完整性,需要在页存储一级进行文件写入/更新操作。由于需要支持并发用户,因此需要维护数据锁的表,该表为典型的内存数据。对于日志数据,有独立的数据管理驱动来负责内存和文件系统间的数据持久化。对于事物密集型应用,多表间的关联操作会占用大量内存空间,因此以目前InnoDB引擎的方式进行数据缓存,数据页将更多的导入文件系统空间,因而降低性能,为此引入NVRAM作为中间缓存(参见附图1),可以有效提升读命中率,并可由非易失性存储能力保障写操作的数据完整性。本项专利技术将数据页、数据插入缓冲区和数据字典以分层管理的方式由NVRAM和内存共同处理。日志数据完全由NVRAM接管。对于引入NVRAM作为中间缓存后的数据管理总结如下:1.数据页根据用户设定的比例分布于内存和NVRAM之间,具体比例为内存缓存区尺寸/NVRAM缓冲区尺寸;2.根据最近访问频度,将高频页面置于内存缓存,其余置于NVRAM缓存,并根据访问频度变化进行自适应调度,即将数据页在内存和NVRAM之间交换;3.数据页的持久化从“内存→文件系统”改为“内存→NVRAM→文件系统”;4.“NVRAM→文件系统”的数据更新频率和比“内存→文件系统”数据更新频率大为降低,具体取决于应用程序对数据库的读写压力;5.插入缓冲根据用户设定的比例分布于内存和NVRAM之间,具体比例为内存缓存区尺寸/NVRAM缓冲区尺寸;6.插入缓冲的写入从内存开始,超出内存缓冲空间的内容写入NVRAM;7.插入缓冲的持久化从“内存→文件系统”改为“内存→NVRAM→文件系统”;8.数据字典的写入从内存开始,超出内存缓冲空间的内容写入NVRAM;9.数据字典的持久化从“内存→文件系统”改为“内存→NVRAM→文件系统”;10.日志存储由NVRAM维护,如果日志超出NVRAM存储空间,则向文件系统写入日志。本项专利技术将InnoDB的数据存储扩展为三层:内存表和日志数据、NVRAM数据层、文件系统接口层(永久化存储)(参见附图3)。中间加入NVRAM数据层,利用NVRAM的接近内存的读写速度和数据不丢失(掉电情况下),起到高速磁盘的作用。对于NVRAM的管理,本项专利技术提供专门的改进版InnoDB实现,替代对内存数据管理和日志数据管理的组件,修改后的系统架构分三层:内存表数据结构管理、读写调度、文件层持久化(参见附图3)。与标准InnoDB实现不同的是:1.将数据页缓存在内存和由NVRAM实现的高速存储系统中,并由NVRAM向文件系统同步数据;而原先的存储引擎将数据页缓存在内存中,并向文件系统同步数据;2.将数据插入记录缓存在内存和由NVRAM实现的高速存储系统中,并由NVRAM向文件系统同步数据;而原先的存储引擎将数据插入记录缓存在内存中,并向文件系统同步数据;3.由NVRAM实现对数据字典的缓存,而原先的存储引擎将数据字典缓存在内存中,并向文件系统同步数据;4.当数据页占用空间,NVRAM空间达到上限时,写入文件系统,意味着更大的高速数据缓存,提升了数据库系统中对读操作的响应速度;5.对于写操作,NVRAM提供了更大的缓存空间,避免因操作缓存至文件系统导致双重写入;6.对于日志数据,NVRAM可以实现轻量级持久化,避免因文件系统操作,导致事物系统运行缓慢;7.鉴于NVRAM的非易失性,即使物理服务器掉电,数据仍可由NVRAM进行恢复,特别是日志数据,可以有效保障数据完整性和高可用。由NVRAM驱动程序实现的数据读写策略:1.读操作,从数据页中指定地址读取数据,如果读取失败(数据没有缓存在内存中),则从NVRAM中读取数据,并将NVRAM中的数据页于内存中相对低频的数据页进行替换;2.读操作,从NVRAM指定地址读取数据,如果读取失败,文件系统中提取数据,并将文件系统中的数据块提取至NVRAM(如果NVRAM已满,则替换掉最近访问次数最低的数据块);3.写操作,向数据页中指定地址写入数据,如果写入失败(数据没有缓存在内存中),则向NVRAM写入数据,并将NVRAM中的数据页于内存中相对低频的数据页进行替换;4.写操作,向NVRAM写入数据,如果写入失败,向文件系统中写入数据,并将文件系统中的数据块提取至NVRAM(如果NVRAM已满,则替换掉最近访问次数最低的数据块);5.内存中修改的数据字典数据定期向NVRAM进行更新;6.日志数据由NVRAM管理,读写直接在NVRAM上操作,当日志数据结构超出NVRAM给定的缓存空间时,将其写入文件系统。本项专利技术的上述技术方案有益结果如下:云计算和边缘计算应用通常涉及大量高速数据查询、存取、更新操作,特别是事物类型操作。通常会采用高速闪存系统和大容本文档来自技高网...

【技术保护点】
1.基于非易失存储系统的高性能关系型数据库服务,包括:提供了通过采用非易失性存储(NVRAM)加速关系型数据库数据缓存,以此来提升数据库系统的读写性能和吞吐量。本项专利技术通过将结构化数据存储引擎:InnoDB存储引擎的内存数据结构分层化,增加以NVRAM实现的缓存层(参考附图1),在兼顾数据完整性的同时,实现对数据响应能力的提升。InnoDB存储引擎作为广泛应用的MySQL DB的数据引擎,对其的性能提升将对使用MySQL DB的应用系统产生直接的影响。针对云计算和边缘计算对存储和管理结构化数据的性能方面的需求,本专利技术提供一种可以快速、便捷的提升结构化数据存储引擎:Inno DB的以非易失性存储系统(NVRAM)硬件为基础、结合软件实现的软硬件结合性能加速技术。本项技术主要以软件驱动专用硬件的方式对数据库系统的优化为主,即通过软件技术来利用NVRAM的高速I/O能力和数据持久化能力,实现对结构化数据存取、查询的加速(参见附图1)。对于事物密集型应用,多表间的关联操作会占用大量内存空间,因此以目前Inno DB引擎的方式进行数据缓存,数据页将更多的导入文件系统空间,因而降低性能,为此引入NVRAM作为中间缓存(参见附图1),可以有效提升读命中率,并可由非易失性存储能力保障写操作的数据完整性。本项专利技术将数据页、数据插入缓冲区和数据字典以分层管理的方式由NVRAM和内存共同处理。日志数据完全由NVRAM接管。/n...

【技术特征摘要】
1.基于非易失存储系统的高性能关系型数据库服务,包括:提供了通过采用非易失性存储(NVRAM)加速关系型数据库数据缓存,以此来提升数据库系统的读写性能和吞吐量。本项发明通过将结构化数据存储引擎:InnoDB存储引擎的内存数据结构分层化,增加以NVRAM实现的缓存层(参考附图1),在兼顾数据完整性的同时,实现对数据响应能力的提升。InnoDB存储引擎作为广泛应用的MySQLDB的数据引擎,对其的性能提升将对使用MySQLDB的应用系统产生直接的影响。针对云计算和边缘计算对存储和管理结构化数据的性能方面的需求,本发明提供一种可以快速、便捷的提升结构化数据存储引擎:InnoDB的以非易失性存储系统(NVRAM)硬件为基础、结合软件实现的软硬件结合性能加速技术。本项技术主要以软件驱动专用硬件的方式对数据库系统的优化为主,即通过软件技术来利用NVRAM的高速I/O能力和数据持久化能力,实现对结构化数据存取、查询的加速(参见附图1)。对于事物密集型应用,多表间的关联操作会占用大量内存空间,因此以目前InnoDB引擎的方式进行数据缓存,数据页将更多的导入文件系统空间,因而降低性能,为此引入NVRAM作为中间缓存(参见附图1),可以有效提升读命中率,并可由非易失性存储能力保障写操作的数据完整性。本项发明将数据页、数据插入缓冲区和数据字典以分层管理的方式由NVRAM和内存共同处理。日志数据完全由NVRAM接管。


2.基于非易失存储系统的高性能关系型数据库服务,对于读操作:分别从内存、NVRAM和分布式文件系统尝试读取数据,对比标准的InnoDB所采用的内存和文件系统两层存储结构,引入NVRAM数据缓存层,可以有效提升读操作命中率,提升I/O效率;对于写操作:分别对内存、NVRAM和分布式文件系统尝试写入数据,对比对比标准的InnoDB所采...

【专利技术属性】
技术研发人员:赵继胜吴宇
申请(专利权)人:上海孚典智能科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1