一种可灵活配置的数据库分层存储优化方法_2

文档序号:9887820阅读:来源:国知局
引的硬盘类型设置为HDD; 通过功能4用户可设置索引缓存的内存类型,例如把经常访问索引的内存类型设置为 DRAM,把不经常访问索引的内存类型设置为NVM; 通过功能5用户可依据应用特征决定是否记录WAL日志,例如把OLAP的表定义为不记 WAL日志,把OLTP的表定义为记WAL日志; 通过功能6用户可设置WAL日志的存储类型,例如依据写WAL日志影响系统性能的严重 程度大小,决定把WAL日志存储到NVM还是HDD上; 本发明对传统数据库的存储管理进行增强改造,这种改造既考虑到要保护用户已有投 资,即未采用通过NVM和SSD全替换DRAM和SSD方式,而采用按需部分替换方式,也考虑到利 用当前存储新技术NVM和SSD,以及数据库各类应用的具体存储和访问特征,采用分而治之 的细化策略,利用新SQL功能支持用户灵活设计自己的数据分层存储方案。
[0029] 在实际应用中,依据拇指规则,大多数据的SQL语句通常只需访问少量数据,我们 把这些数据称为活跃数据,其余数据我们称为不活跃数据。换句话说,一个数据库数据一般 包括少量的活跃数据和大量的不活跃数据。在数据库内部,依据用途不同,数据被划分为 表、索引和WAL日志。与表相比,索引的规模通常会小很多,而且活跃度高。为防止断电等导 致的数据丢失问题,数据库还应确保事务提交后WAL日志要实时预先写到硬盘上,因此写 WAL日志的优先度要高于写表数据。通过上述分析,数据库数据由热到冷的次序可定义为: 活跃索引_>不活跃索引_>WAL日志-> 活跃表-> 不活跃表 根据这个定义,本发明对传统数据库内部的数据存储进行了细化管理。改造前,数据库 的存储管理如图1所示。
[0030] 图1中缓存数据采用DRAM内存,永久存储数据采用HDD硬盘。因 DRAM内存的非易失 性导致所有数据最终都必须存储到HDD硬盘上,尤其是WAL日志数据必须在事务提交后实时 存储到HDD硬盘上,否则一旦断电则可能导致数据丢失。然而,HDD硬盘存储速度非常慢,其 性能好坏制约内存和CHJ能力的充分发挥。不仅如此,DRAM内存容量较小也限制CPU的处理 能力。如上所述,DRAM的容量和易失性问题,HDD的速度问题、以及必须向HDD实时记录WAL日 志问题已限制当前数据库的数据管理规模和处理能力。因此,基于DRAM内存和HDD硬盘的数 据库存储管理方法已开始越来越制约数据库应用的进一步发推广。
[0031] 针对上述问题,本发明利用当前内存和硬盘的新技术优化改造了传统数据库的存 储管理方式。改造后的数据库存储管理示例如图2所示。
[0032]需说明的是,图2只是改造后的一个存储管理示例,用户可通过相关的SQL功能按 需灵活设计自己的存储管理方案。上面图1和图2比较,改造后,在内存上新增NVM存储,在硬 盘上新增SSD存储。并且,改造后可通过数据特征细化存储管理方案。
[0033]改造前后内存和硬盘管理的对比如表3所示: 表3改造前后内存管理对比表 表
在实际应用中,用户还需应依据具体应用的表和索引的活跃程度设计自己的内存和硬 盘的存储管理策略。如果索引的数据规模非常小,则不必再从活跃度上对它做进一步划分, 而是直接把它存到DRAM和SSD上即可。此外,由于OLAP应用主要关注数据的处理规模和速 度,而对断电等可能导致的数据丢失问题却不十分关注,因此对这类应用可采用不记WAL日 志的方式。
[0034]改造后因数据存储管理方式的变化导致数据库内部SQL语句的实现也相应发生了 变化。改造前,数据库内部的SQL语句执行流程如图3所示。
[0035]图3中内存介质只有DRAM,硬盘介质只有HDD。改造后,扩展NVM和SSD两种介质,此 时SQL语句执行流程如图4所示。
[0036]通过上面两个SQL语句执行流程图可以看出,本次改造除细化了数据的存储管理 外并没有改变传统的SQL语句执行流程,因此开发工作量相对较小。这次改造不仅丰富内存 和硬盘的存储类型,而且还为用户定制自身的存储管理提供灵活可配的方法。这种方式既 保护用户已有投投资,还提升数据库数据存储能力,尤其是利用新存储技术NVM和SSD有效 解决传统数据库的10瓶颈问题。
[0037]本发明所述的可灵活配置的数据库分层存储优化方法主要优点包括: 扩展当前数据库使用的存储介质类型,即新增NVM和SSD存储支持,使得当前数据库不 再局限于单一的DRAM和HDD介质; 利用新存储技术提升传统数据库的数据存取容量和速度; 支持按需定制应用数据的存储模式,通过各种新开发的SQL功能支持用户依据各自应 用的特征(如数据的访问活跃度)灵活配置数据的存储管理方式。
[0038]尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基 本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为 包括优选实施例以及落入本发明实施例范围的所有变更和修改。
[0039]以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方 式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对 于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变 之处,综上所述,本说明书内容仅为本发明的实施方式,并非因此限制本发明的专利范围, 凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在 其他相关的技术领域,均同理包括在本发明的专利保护范围内。不应理解为对本发明的限 制。
【主权项】
1. 一种可灵活配置的数据库分层存储优化方法,其特征在于,包括以下步骤: 提供一 SQL功能,用于支持用户按需灵活配置表、索引和WAL日志的存储管理方式;和 用户利用提供的所述SQL功能,依据应用数据的活跃程度,定制自己的表、索引和WAL日 志的存储管理方式。2. 如权利要求1所述的可灵活配置的数据库分层存储优化方法,其特征在于,所述SQL 功能包括:配置表、索引、WAL日志的内存或硬盘的存储介质类型,所述存储介质包括DRAM、 NVM、SSD和HDD。3. 如权利要求1所述的可灵活配置的数据库分层存储优化方法,其特征在于,所述SQL 功能包括:不记录WAL日志的开关。4. 如权利要求1所述的可灵活配置的数据库分层存储优化方法,其特征在于:通过所述 SQL功能,用户设置表存储的硬盘类型,把经常访问表的硬盘类型设置为SSD,把不经常访问 表的硬盘类型设置为HDD。5. 如权利要求1所述的可灵活配置的数据库分层存储优化方法,其特征在于:通过所述 SQL功能,用户设置表缓存的内存类型,把经常访问表的内存类型设置为DRAM,把不经常访 问表的内存类型设置为NVM。6. 如权利要求1所述的可灵活配置的数据库分层存储优化方法,其特征在于:通过所述 SQL功能,用户设置索引存储的硬盘类型,把经常访问索引的硬盘类型设置为SSD,把不经常 访问索引的硬盘类型设置为HDD。7. 如权利要求1所述的可灵活配置的数据库分层存储优化方法,其特征在于:通过所述 SQL功能,用户设置索引缓存的内存类型,把经常访问索引的内存类型设置为DRAM,把不经 常访问索引的内存类型设置为NVM。8. 如权利要求1所述的可灵活配置的数据库分层存储优化方法的形成方法,其特征在 于:通过所述SQL功能,用户依据应用特征决定是否记录WAL日志,把OLAP的表定义为不记 WAL日志,把OLTP的表定义为记WAL日志。9. 如权利要求1所述的可灵活配置的数据库分层存储优化方法,其特征在于:通过所述 SQL功能,用户依据应用特征设置WAL日志存储到NVM或HDD。
【专利摘要】本发明涉及一种可灵活配置的数据库分层存储优化方法,包括以下步骤:提供一SQL功能,用于支持用户按需灵活配置表、索引和WAL日志的存储管理方式;和用户利用提供的所述SQL功能,依据应用数据的活跃程度,定制自己的表、索引和WAL日志的存储管理方式。本发明有益效果:所述方法采用分层存储思想,对传统数据库存储管理进行优化,改造后的数据库不仅支持NVM和SSD等新型存储介质,而且还允许用户通过SQL命令按需分层存储数据,有效解决传统数据库的IO瓶颈问题,显著地提升整个系统的性能。
【IPC分类】G06F17/30
【公开号】CN105653720
【申请号】
【发明人】李海华, 冷建全, 冯玉
【申请人】北京人大金仓信息技术股份有限公司
【公开日】2016年6月8日
【申请日】2016年1月7日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1