[发明专利]数据库管理方法、装置、设备及存储介质在审
申请号: | 201811075456.9 | 申请日: | 2018-09-14 |
公开(公告)号: | CN110908974A | 公开(公告)日: | 2020-03-24 |
发明(设计)人: | 季阳光 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/242 |
代理公司: | 北京展翼知识产权代理事务所(特殊普通合伙) 11452 | 代理人: | 屠长存 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 管理 方法 装置 设备 存储 介质 | ||
本公开提出了一种数据库管理方法、装置、设备及存储介质。监听数据库接收到的来自客户端的数据库查询语句;对所述数据库查询语句进行分析;以及基于分析结果,确定所述数据库中的热点数据和/或热点表。由此,定位热点的过程中不依赖数据库实例的运行状态,也不会对数据库造成性能压力,极大提高了热点定位的效率和准确性。
技术领域
本公开涉及数据库领域,特别是涉及一种数据库管理方法、装置、设备及存储介质。
背景技术
目前的主流数据库大多会使用缓存来提高数据访问的速度。数据库的缓存会被格式化成固定大小的数据块,每个数据块含有多条数据。当一个会话检索数据块中的数据时需要在这个数据块的块头上加一个只读的latch(闩锁),具体的latch数量各个数据库的都一样。当一个数据块上的只读latch数量达到上限后,后续会话会持续轮询一段时间,即后续会话一直持有cpu,cpu空转并不干活。
但是很多时候由于应用设计的不合理,在某些场景下会导致缓存数据的争用从而降低应用的性能。例如,当并发量非常高的时候,就会有大量的会话因为无法获取数据块上的latch,而使cpu在空转。从而导致系统负载陡增,从而使数据库服务器无法提供正常服务。
发明内容
本公开的一个目的在于提供一种数据库管理方案,以解决上述至少一种问题。
根据本公开的第一个方面,提供了一种数据库管理方法,包括:监听数据库接收到的来自客户端的数据库查询语句;对数据库查询语句进行分析;以及基于分析结果,确定数据库中的热点数据和/或热点表。
可选地,对数据库查询语句进行分析的步骤包括:对数据库查询语句期望访问的数据和/或数据所在的表进行分析。
可选地,确定数据库中的热点数据和/或热点表的步骤包括:统计数据库中的数据和/或表被访问的频次;以及基于频次,确定热点数据和/或热点表。
可选地,数据库管理方法还包括:根据热点数据和/或热点表,进行优化,以减少对数据库的访问。
可选地,进行优化的步骤包括:将热点数据和/或热点表存储在缓存内。
可选地,将热点数据和/或热点表存储在缓存内的步骤包括:将热点数据拆散,并且/或者,将热点表中的数据拆散;以及将拆散后的数据存储到缓存中的多个数据块中,以减少每个数据块中的热点数据的数量。
可选地,数据库的缓存包括一个或多个数据块,每个数据块包括一条或多条缓存数据,该方法还包括:基于热点数据和/或热点表,确定热点数据块;提高热点数据块的只读闩锁的数量上限。
根据本公开的第二个方面,还提供了一种数据库管理装置,包括:监测模块,用于监听数据库接收到的来自客户端的数据库查询语句;分析模块,用于对数据库查询语句进行分析;以及确定模块,用于基于分析结果,确定数据库中的热点数据和/或热点表。
可选地,分析模块对数据库查询语句期望访问的数据和/或数据所在的表进行分析。
可选地,确定模块统计数据库中的数据和/或表被访问的频次,基于频次,确定热点数据和/或热点表。
可选地,数据库管理装置还包括优化模块,用于根据热点数据和/或热点表,进行优化,以减少对数据库的访问。
可选地,优化模块将热点数据和/或热点表存储在缓存内。
可选地,优化模块将热点数据拆散,并且/或者,将热点表中的数据拆散,并将拆散后的数据存储到缓存中的多个数据块中,以减少每个数据块中的热点数据的数量。
可选地,数据库的缓存包括一个或多个数据块,每个数据块包括一条或多条缓存数据,该装置还包括:热点数据块定位模块,用于基于热点数据和/或热点表,确定热点数据块;数量上限提高模块,用于提高热点数据块的只读闩锁的数量上限。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811075456.9/2.html,转载请声明来源钻瓜专利网。