数据库的处理方法和装置制造方法及图纸

技术编号:18711441 阅读:16 留言:0更新日期:2018-08-21 22:45
本申请公开了一种数据库的处理方法和装置。该方法包括:将目标磁盘中创建目标MySQL数据库,其中,目标MySQL数据库中包括多个数据表;将多个数据表中目标数据表转存至非目标磁盘,并确定目标数据表在非目标磁盘中的存储路径;基于目标数据表的存储路径,在目标磁盘中创建目标数据表对应的软链接,其中,软链接用于指向目标数据表的存储路径,解决了相关技术中由于存放MySQL数据库的磁盘的IO能力限制了MySQL数据库下单库的读写能力,导致对MySQL数据库下单库的读写能力较弱的问题。

Method and device for processing database

The application discloses a method and a device for processing a database. The method includes: creating target MySQL database in target disk, including multiple tables in target MySQL database; transferring target tables from multiple tables to non-target disk, and determining the storage path of target tables in non-target disk; and storing path based on target tables in target magnetic field. The soft link is used to point to the storage path of the target data table, which solves the problem that the IO capability of the disk which stores MySQL database limits the read and write ability of the single library in MySQL database, and leads to the weak read and write ability of the single library in MySQL database.

【技术实现步骤摘要】
数据库的处理方法和装置
本申请涉及数据库存储
,具体而言,涉及一种数据库的处理方法和装置。
技术介绍
MySQL是一个关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一,MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。目前MySQL已经成为最为流行的开源关系数据库系统,并且一步一步地占领了原有商业数据库的市场。MySQL数据库不再仅仅应用于Web项目,其扮演的角色更为丰富。在网络游戏领域中,大部分的后台数据库都采用MySQL数据库,例如,劲舞团、魔兽世界、SecondLife等。此外,MySQL数据库已成功应用于中国外汇交易中心、中国移动、国家电网等许多项目中。如图1所示,MySQL逻辑架构整体分为三层,第一层为客户端层,并非MySQL所独有,例如,连接处理、授权认证、安全等功能均在这一层处理。MySQL大多数核心服务均在第二层,包括查询解析、分析、优化、缓存、内置函数(比如:时间、数学、加密等函数)。所有的跨存储引擎的功能也在这一层实现:存储过程、触发器、视图等。第三层为存储引擎,其负责MySQL中的数据存储和提取。和Linu数据库的处理方法和装置下的文件系统类似,每种存储引擎都有其优势和劣势。中间的服务层通过API与存储引擎通信,这些API接口屏蔽了不同存储引擎间的差异。每一个客户端发起一个新的请求都由服务器端的连接/线程处理工具负责接收客户端的请求并开辟一个新的内存空间,在服务器端的内存中生成一个新的线程,当每一个用户连接到服务器端的时候就会在进程地址空间里生成一个新的线程用于响应客户端请求,用户发起的查询请求都在线程空间内运行,结果也在这里面缓存并返回给服务器端。线程的重用和销毁都是由连接/线程处理管理器实现的。相关技术中都是将MySQL数据库放置在一块磁盘上,由于单个物理磁盘的IO能力是根据磁盘的性能而固定,属于磁盘的固定物理特性。从而存放MySQL数据库的磁盘的IO能力限制了MySQL数据库的单库的读写能力,无法从物理上提高单库的IO能力。针对相关技术中由于存放MySQL数据库的磁盘的IO能力限制了MySQL数据库下单库的读写能力,导致对MySQL数据库下单库的读写能力较弱的问题,目前尚未提出有效的解决方案。
技术实现思路
本申请的主要目的在于提供一种数据库的处理方法和装置,以解决相关技术中由于存放MySQL数据库的磁盘的IO能力限制了MySQL数据库下单库的读写能力,导致对MySQL数据库下单库的读写能力较弱的问题。为了实现上述目的,根据本申请的一个方面,提供了一种数据库的处理方法。该方法包括:将目标磁盘中创建目标MySQL数据库,其中,所述目标MySQL数据库中包括多个数据表;将所述多个数据表中目标数据表转存至非目标磁盘,并确定所述目标数据表在所述非目标磁盘中的存储路径;基于所述目标数据表的存储路径,在所述目标磁盘中创建所述目标数据表对应的软链接,其中,所述软链接用于指向所述目标数据表的存储路径。进一步地,所述非目标磁盘为多个磁盘,将所述多个数据表中目标数据表转存至非目标磁盘包括:确定所述目标数据表的使用频率;确定所述非目标磁盘中每个磁盘的输入输出IO能力;根据所述使用频率和所述IO能力,确定所述目标数据表对应的磁盘,以将所述目标数据表转存至对应的磁盘中。进一步地,根据所述使用频率和所述IO能力,确定所述目标数据表对应的磁盘,以将所述目标数据表转存至对应的磁盘中包括:确定所述非目标磁盘中每个磁盘的IO能力存在差异;根据所述IO能力将所述多个磁盘分为第一磁盘集合和第二磁盘集合,其中,所述第一磁盘集合中磁盘的IO能力高于所述第二磁盘集合中磁盘的IO能力;根据所述使用频率将所述多个数据表分为第一数据表集合和第二数据表集合,其中,所述第一数据表集合中数据表的使用频率高于所述第二数据表集合中数据表的使用频率;将所述第一数据表集合中的数据表存储至所述第一磁盘集合中的磁盘,将所述第二数据表集合中的数据表转存至所述第二磁盘集合中的磁盘。进一步地,根据所述使用频率和所述IO能力,确定所述目标数据表对应的磁盘,以将所述目标数据表转存至对应的磁盘中包括:确定在所述非目标磁盘中每个磁盘的IO能力相同;将所述目标数据表分别转存至不同的磁盘中。进一步地,在基于所述目标数据表的存储路径,在所述目标磁盘中创建所述目标数据表对应的软链接之后,所述方法还包括:检测到所述目标MySQL数据库中的部分数据表处于待使用状态;获取与所述部分数据表对应的软链接;通过获取到的软链接查找所述部分数据表。为了实现上述目的,根据本申请的另一方面,提供了一种数据库的处理装置。该装置包括:创建单元,用于将目标磁盘中创建目标MySQL数据库,其中,所述目标MySQL数据库中包括多个数据表;转存单元,用于将所述多个数据表中目标数据表转存至非目标磁盘,并确定所述目标数据表在所述非目标磁盘中的存储路径;存储单元,用于基于所述目标数据表的存储路径,在所述目标磁盘中创建所述目标数据表对应的软链接,其中,所述软链接用于指向所述目标数据表的存储路径。进一步地,所述非目标磁盘为多个磁盘,所述转存单元包括:第一确定模块,用于确定所述目标数据表的使用频率;第二确定模块,用于确定所述非目标磁盘中每个磁盘的输入输出IO能力;转存模块,用于根据所述使用频率和所述IO能力,确定所述目标数据表对应的磁盘,以将所述目标数据表转存至对应的磁盘中。进一步地,所述转存模块包括:第一确定子模块,用于确定所述非目标磁盘中每个磁盘的IO能力存在差异;第一区分子模块,用于根据所述IO能力将所述多个磁盘分为第一磁盘集合和第二磁盘集合,其中,所述第一磁盘集合中磁盘的IO能力高于所述第二磁盘集合中磁盘的IO能力;第二区分子模块,用于根据所述使用频率将所述多个数据表分为第一数据表集合和第二数据表集合,其中,所述第一数据表集合中数据表的使用频率高于所述第二数据表集合中数据表的使用频率;存储子模块,用于将所述第一数据表集合中的数据表存储至所述第一磁盘集合中的磁盘,将所述第二数据表集合中的数据表转存至所述第二磁盘集合中的磁盘。为了实现上述目的,根据本申请的另一方面,提供了一种数据库的处理系统,包括:目标磁盘,其中,所述目标磁盘上存储有目标MySQL数据库和所述目标MySQL数据库中的目标数据表对应的软链接,所述软链接用于指向所述目标数据表的存储路径;非目标磁盘,用于存储所述目标MySQL数据库中的目标数据表。进一步地,所述非目标磁盘为多个磁盘,依据磁盘的IO能力和数据表的使用频率分配存储在磁盘中的数据表。进一步地,所述非目标磁盘分为第一磁盘集合和第二磁盘集合,所述第一磁盘集合中磁盘存储的数据表的使用频本文档来自技高网
...

【技术保护点】
1.一种数据库的处理方法,其特征在于,包括:在目标磁盘中创建目标MySQL数据库,其中,所述目标MySQL数据库中包括多个数据表;将所述多个数据表中的目标数据表转存至非目标磁盘,并确定所述目标数据表在所述非目标磁盘中的存储路径;基于所述目标数据表的存储路径,在所述目标磁盘中创建所述目标数据表对应的软链接,其中,所述软链接用于指向所述目标数据表的存储路径。

【技术特征摘要】
1.一种数据库的处理方法,其特征在于,包括:在目标磁盘中创建目标MySQL数据库,其中,所述目标MySQL数据库中包括多个数据表;将所述多个数据表中的目标数据表转存至非目标磁盘,并确定所述目标数据表在所述非目标磁盘中的存储路径;基于所述目标数据表的存储路径,在所述目标磁盘中创建所述目标数据表对应的软链接,其中,所述软链接用于指向所述目标数据表的存储路径。2.根据权利要求1所述的方法,其特征在于,所述非目标磁盘为多个磁盘,将所述多个数据表中目标数据表转存至非目标磁盘包括:确定所述目标数据表的使用频率;确定所述非目标磁盘中每个磁盘的输入输出IO能力;根据所述使用频率和所述IO能力,确定所述目标数据表对应的磁盘,以将所述目标数据表转存至对应的磁盘中。3.根据权利要求2所述的方法,其特征在于,根据所述使用频率和所述IO能力,确定所述目标数据表对应的磁盘,以将所述目标数据表转存至对应的磁盘中包括:确定所述非目标磁盘中每个磁盘的IO能力存在差异;根据所述IO能力将所述多个磁盘分为第一磁盘集合和第二磁盘集合,其中,所述第一磁盘集合中磁盘的IO能力高于所述第二磁盘集合中磁盘的IO能力;根据所述使用频率将所述多个数据表分为第一数据表集合和第二数据表集合,其中,所述第一数据表集合中数据表的使用频率高于所述第二数据表集合中数据表的使用频率;将所述第一数据表集合中的数据表存储至所述第一磁盘集合中的磁盘,将所述第二数据表集合中的数据表转存至所述第二磁盘集合中的磁盘。4.根据权利要求2所述的方法,其特征在于,根据所述使用频率和所述IO能力,确定所述目标数据表对应的磁盘,以将所述目标数据表转存至对应的磁盘中包括:确定在所述非目标磁盘中每个磁盘的IO能力相同;将所述目标数据表分别转存至不同的磁盘中。5.根据权利要求1所述的方法,其特征在于,在基于所述目标数据表的存储路径,在所述目标磁盘中创建所述目标数据表对应的软链接之后,所述方法还包括:检测到所述目标MySQL数据库中的部分数据表处于待使用状态;获取与所述部分数据表对应的软链接;通过获取到的软链接查找所述部分数据表。6.一种数据库的处理装置,其特征在于,包括:创建单元,用于在目标磁盘中创建目标MySQL数据库,其中,所述目标MySQL数据库中包括多个数据表;转存单元,用于将所述多个数据表中的目标数据表转存至非目标磁盘,并确定所述目标数据表在所述非目标磁盘中的存储路径;存储单元,用于基于所述目标数据表的存储路...

【专利技术属性】
技术研发人员:吴健张恒健张继洋
申请(专利权)人:上海商米科技有限公司
类型:发明
国别省市:上海,31

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

1