The invention discloses a virtual environment relational database performance optimization method and system. The method comprises the following steps: inside the virtual machine database, located on the dirty data pages in memory buffer is processed by synchronous logic; at the level of VMM, the use of asynchronous way to write cache structure to VMM the database virtual machine synchronous write request adjustment. The present invention synchronous asynchronous write operation of relational database storage model based on new, saving additional CPU resources, and enhance the reliability of the internal database of dirty data virtual machine; improve the storage performance decline brought the synchronous operation upper database virtual machine, easing storage performance on random I/O brings problems; at the same time and considering the impact of specific I/O database storage protocol stack support and friendliness of the virtual environment, the optimization effect is optimal. The invention can be widely used in the field of cloud computing.
【技术实现步骤摘要】
本专利技术涉及云计算领域,尤其是一种虚拟化环境下的关系型数据库存储性能优化方法及系统。
技术介绍
随着云计算平台的普及,以及云平台相关安全保障措施的逐渐完善,越来越多的企业和机构愿意将自身的私有数据库迁移至云端,以节省相应的硬件投入和管理维护成本。但是,由于系统环境结合的复杂性,需要重新审视数据库的存储访问特性和当前云计算核心技术(即系统虚拟化技术)之间的契合度。首先,关系型数据库具备特殊的存储访问特性。相较于其他应用程序,关系型数据库拥有更加丰富的数据类型和复杂多变的操作。以基于InnoDB存储引擎的MySQL系统为例,除了常见的元数据流和常规数据流之外,其还会生成特有的二进制日志数据流、事务日志数据流、索引数据流、二次写缓冲数据流、锁信息数据流以及数据字典流等。这些数据流需要数据库存储协议栈设计出特定的异步运行逻辑与之相匹配并对其进行驾驭,以尽可能地保持可接受的存储性能,但是这样做会产生更多的CPU负载。而且,由于数据的复杂性,在真实的数据库运行环境中,这些数据流纵横交错,互相之间会产生随机I/O,给数据库存储性能带来负面影响,甚至还会造成系统的不稳定性,使用户数据损失。其次,虚拟化环境下,因为虚拟机管理器(Virtual Machine Monitor, 简称VMM)的介入,数据库在访问存储设备时会呈现间接交互的特点,降低了其访问存储设备的效率。并且,为了保持数据库虚拟机的写入语义,VMM会使用强制同步的方法将来自于数据库虚拟机(指安装了数据库软件的虚拟机,Virtual Machine Database,简称VMDB)的写入数据流直接刷入至存储硬 ...
【技术保护点】
虚拟化环境下的关系型数据库存储性能优化方法,其特征在于:该方法基于关系型数据库的同步‑异步写操作存储新模型,包括以下步骤:在虚拟机数据库内部,对位于内存缓冲区中的脏数据页采用同步逻辑进行处理;在VMM层次,使用异步的方式配合VMM写缓存结构来对上层数据库虚拟机的同步写请求进行调节。
【技术特征摘要】
1.虚拟化环境下的关系型数据库存储性能优化方法,其特征在于:该方法基于关系型数据库的同步-异步写操作存储新模型,包括以下步骤:在虚拟机数据库内部,对位于内存缓冲区中的脏数据页采用同步逻辑进行处理;在VMM层次,使用异步的方式配合VMM写缓存结构来对上层数据库虚拟机的同步写请求进行调节。2.根据权利要求1所述的虚拟化环境下的关系型数据库存储性能优化方法,其特征在于:所述在虚拟机数据库内部,对位于内存缓冲区中的脏数据页采用同步逻辑进行处理这一步骤,其包括:从数据库语义的角度对用户脏数据的来源进行分析;根据分析的结果采用相应的同步策略进行同步处理:若用户脏数据所对应的数据文件来自文件系统的抽象,则在数据库系统启动时,通过添加同步标志位进行相关文件系统挂载的方式,实现此类数据的同步;若用户脏数据所对应的数据文件以裸设备的方式存在,则通过修改具体的数据库配置文件来实现此类数据的同步。3.根据权利要求1所述的虚拟化环境下的关系型数据库存储性能优化方法,其特征在于:所述VMM写缓存结构采用链表来存储虚拟机写请求的相关信息,链表上的每一个节点代表一个特定的写请求并按其到达时间在链表里执行插入操作,其中,写请求相关的元数据信息包含了 4 个字段:offset字段,用来表示该写请求所对应的镜像文件的偏移量;buffer字段,用来指代待写入存储设备的脏数据本身;size 字段,用来表示该段脏数据的大小;dirt标志位,用来标识一个新的写操作是否可以直接使用旧的写操作的内存空间以及该写操作的数据是否已经刷入存储设备。4.根据权利要求3所述的虚拟化环境下的关系型数据库存储性能优化方法,其特征在于:所述链表包括基树、Dirty链表和Clean链表,所述基树为VMM写缓存结构的入口,所述Dirty链表用于存储新的写请求,所述链表根据基树使用offset字段来寻找Dirty链表中特定的写请求,所述Dirty链表中的写请求节点在被写回后会清除相应的入口信息并会将该节点所属的内存空间转移到Clean链表中保存;所述Clean链表用于保留已经执行了最终写回过程的写请求的内存空间,所述Clean 链表里的节点所属的内存空间在被新的写请求所重用时,需要该节点先从Clean链表里脱离出来并重新设置dirty字段,然后插入到Dirty链表里。5.根据权利要求1-4任一项所述的虚拟化环境下的关系型数据库存储性能优化方法,其特征在于:所述VMM写缓存结构采用了基于用户空间 I/O 影子进程的虚拟化存储结构,VMM写缓存结构通过异步的方式将来自于数据库虚拟机的同步写操作写入后,在再次接收到来自于虚拟机的读写操作时,需要检查再次接收的读写操作是否命中VMM写缓存结构的内容,若命中,则直接从VMM写缓存结...
【专利技术属性】
技术研发人员:李丁丁,刘继伟,汤庸,李建国,
申请(专利权)人:华南师范大学,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。