CN111506524B - 一种数据库中淘汰、预加载数据页的方法、装置 - Google Patents
一种数据库中淘汰、预加载数据页的方法、装置 Download PDFInfo
- Publication number
- CN111506524B CN111506524B CN201910099936.7A CN201910099936A CN111506524B CN 111506524 B CN111506524 B CN 111506524B CN 201910099936 A CN201910099936 A CN 201910099936A CN 111506524 B CN111506524 B CN 111506524B
- Authority
- CN
- China
- Prior art keywords
- rule
- target
- database
- data
- data pages
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000004458 analytical method Methods 0.000 claims description 94
- 238000012216 screening Methods 0.000 claims description 38
- 230000008030 elimination Effects 0.000 claims description 18
- 238000003379 elimination reaction Methods 0.000 claims description 18
- 239000000523 sample Substances 0.000 claims 1
- 238000007726 management method Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据库中淘汰数据页的方法,该方法包括:从目标租户的目标数据库实例的缓存中选择出候选的第一数据页集合,第一数据页集合包括目标租户的数据库的至少一个数据页;获取第二数据页集合,第二数据页集合为根据目标规则在目标租户的数据库中为目标数据库实例确定的目标数据页集合;在数据库的缓存中,淘汰第一数据页集合中除了第三数据页集合以外的数据页,第三数据页集合包括第一数据页集合与第二数据页集合同时包含的数据页。本申请提供的技术方案可以提高目标租户的目标数据库实例的缓存数据的命中率,并提高数据库的性能。
Description
技术领域
本申请涉及数据库领域,并且更具体地,涉及一种数据库中淘汰数据页、预加载数据 页的方法、装置。
背景技术
数据库是以一定的方式存储在一起、能为多个租户共享、与应用程序彼此独立的数据 集合。随着互联网大数据技术的发展,数据库存储的数据量越来越大,往往都会超出缓冲 池的存储空间大小,将所有数据库中的数据全部存储在缓冲池中是不现实的。因此,提高数据库中存储的数据的访问命中率成为数据库性能优化的一个方向。
传统的方案中,采用最近最少使用(least recently used,LRU)的淘汰算法,从缓冲 池中淘汰数据页,从而腾出缓冲池的空间来加载其他待加载的数据页。但是,LRU算法淘汰的缓冲池中不经常使用的数据页与实际的业务无关,仅与本机的数据页访问次数有关,因此,通过LRU对数据库缓冲池中最少使用的数据页进行淘汰之后,数据库缓冲池中数 据的命中率较低。
因此,如何提高数据库实例的缓存中数据的命中率成为业界亟需要解决的问题。
发明内容
本申请提供一种数据库中淘汰数据页的方法,可以提高数据库实例的缓存中数据的命 中率,并提高数据库的性能。
第一方面,提供了一种数据库中淘汰数据页的方法,所述方法包括:从目标租户的目 标数据库实例的缓存中选择出候选的第一数据页集合,所述第一数据页集合包括所述目标 租户的数据库的至少一个数据页;获取第二数据页集合,所述第二数据页集合为根据目标规则在所述目标租户的数据库中为所述目标数据库实例确定的目标数据页集合;在所述数 据库的缓存中,淘汰所述第一数据页集合中除了第三数据页集合以外的数据页,所述第三 数据页集合包括所述第一数据页集合与所述第二数据页集合同时包含的数据页。
上述技术方案中,结合实际的业务,将租户的应用访问数据库的数据访问规律运用到 数据库页面淘汰或预读流程中,从而可以根据租户的应用访问数据库的数据特点提高数据 库缓存中数据的命中率,提高数据库的使用性能。
在一种可能的实现方式中,如果所述目标规则为第一规则,所述第一规则用于在所述 目标租户的数据库中筛选出被所述目标数据库实例访问的访问次数超过第一阈值的数据 页,则所述目标数据页集合为由根据所述第一规则筛选出的数据页组成的第一集合。
需要说明的是,本申请中的访问可以理解为读和写。也就是说,第一规则用于在所述 目标租户的数据库中筛选出被所述目标数据库实例读取的次数超过第一阈值的数据页。第 一规则还用于在所述目标租户的数据库中筛选出被所述目标数据库实例写的次数超过第 一阈值的数据页。
在另一种可能的实现方式中,如果所述目标规则包括所述第一规则和第二规则,所述 第二规则用于在所述第一集合中筛选出历史的第一集合具有的数据页,则所述目标数据页 集合为由根据所述第二规则筛选出的数据页所组成的第二集合。
应理解,历史的第一集合可以是在当前时间的前n个时间段,根据第一规则确定的每 一个时间段内所对应的第一集合。
在另一种可能的实现方式中,如果所述目标规则包括所述第一规则和第三规则,所述 第三规则用于在所述第一集合中筛选出被与所述目标数据库实例关联的其它数据库实例 同时访问的数据页,则所述目标数据页集合为由根据所述第三规则筛选出的数据页所组成 的第三集合。
需要说明的是,与目标数据库实例相关联的数据库可以是与目标数据库实例的业务相 关联的数据库实例。也可以是与目标数据库实例的数据相关联的数据库实例,例如,只读 副本备数据库实例。
应理解,一个目标数据库实例可以对应一个备数据库实例,也可以对应多个备数据库 实例,本申请对此不作具体限定。
在另一种可能的实现方式中,如果所述目标规则包括所述第一规则和第四规则,所述 第四规则用于在所述第一集合中筛选出被所述目标租户的不同数据库集群中的多个数据 库实例库同时访问的数据页,则所述目标数据页集合为由根据所述第四规则筛选出的数据 页所组成的第四集合。
在另一种可能的实现方式中,如果所述第一数据页集合与所述第三数据页集合相同, 并且所述目标数据库实例的缓存中的剩余缓存空闲少于申请的缓存空间,淘汰所述第三数 据页集合中的部分数据页或者全部数据页。
上述技术方案中,可以淘汰第三数据页集合中的部分数据页或者全部数据页,从而在 数据库实例的缓存中尽可能的保留较多的根据访问次数确定的高访问频率的数据页,提高 数据库实例的缓存中数据页的命中率。
在另一种可能的实现方式中,如果所述第二数据页集合为所述第二集合或者所述第三 集合或者第四集合,并且所述目标数据库实例的缓存中的剩余缓存空闲多于申请的缓存空 间,则选择所述第一集合作为所述第二数据页集合。
上述技术方案中,由于第二集合、第三集合、第四集合中包括的数据页集合为第一集 合的子集,因此,可以淘汰除了第一集合之外的数据页,可以在数据库实例的缓存中尽可 能的保留较多的根据访问次数确定的高访问频率的数据页,从而可以提高数据库实例的缓存中数据页的命中率。
在另一种可能的实现方式中,如果所述第二数据页集合为所述第二集合或者所述第三 集合或者第四集合,并且所述目标数据库实例的缓存中的剩余缓存空闲多于申请的缓存空 间,则选择其它集合作为所述第二数据页集合。
第二方面,提供了一种数据库缓存中预加载数据页的方法,所述方法包括:获取第二 数据库集合,所述第二数据页集合为根据目标规则在目标租户的数据库中为所述目标租户 的目标数据库实例确定的目标数据页集合;在所述目标数据库实例的缓存中的剩余缓存空闲大于所述第二数据库集合中的数据页所占用的缓存空间,则将所述第二数据库集合中包 括的数据页加载到所述目标数据库实例的缓存中。
在一种可能的实现方式中,如果所述目标规则为第一规则,所述第一规则用于在所述 目标租户的数据库中筛选出被所述目标数据库实例访问的访问次数超过第一阈值的数据 页,则所述目标数据页集合为由根据所述第一规则筛选出的数据页所组成的第一集合。
在另一种可能的实现方式中,如果所述目标规则为第一规则和第二规则,所述第二规则用于在所述第一集合中筛选出历史的第一集合具有的数据页,则所述目标数据页集合为 由根据所述第二规则筛选出的数据页所组成的第二集合。
在另一种可能的实现方式中,如果所述目标规则包括所述第一规则和第三规则,所述 第三规则用于在所述第一集合中筛选出被与所述目标数据库实例关联的其它数据库实例 同时访问的数据页,则所述目标数据页集合为由根据所述第三规则筛选出的数据页所组成 的第三集合。
在另一种可能的实现方式中,如果所述目标规则包括所述第一规则和第四规则,所述 第四规则用于在所述第一集合中筛选出被所述目标租户的不同数据库集群中的多个数据 库实例库同时访问的数据页,则所述目标数据页集合为由根据所述第四规则筛选出的数据 页所组成的第四集合。
第三方面,提供了一种管理数据库实例的方法,所述方法包括:获取统计数据,所述 统计数据包括目标租户的数据库中的数据页被所述目标租户的目标数据库实例访问的访 问次数;根据所述统计数据确定第二数据页集合,所述第二数据页集合为根据目标规则为 所述目标租户的目标数据库实例确定的目标数据页集合。
在一种可能的实现方式中,如果目标规则为第一规则,所述第一规则用于根据所述统 计数据在所述目标租户的数据库中筛选出被所述目标数据库实例访问的访问次数超过第 一阈值的数据页,则所述目标数据页集合为由根据所述第一规则筛选出的数据页所组成的 第一集合。
在另一种可能的实现方式中,如果所述目标规则包括所述第一规则和第二规则,所述 第二规则用于根据所述统计数据在所述第一集合中筛选出历史的第一集合具有的数据页, 则所述目标数据页集合为由根据所述第二规则筛选出的数据页所组成的第二集合。
在另一种可能的实现方式中,如果所述目标规则包括所述第一规则和第三规则,所述 第三规则用于根据所述统计数据在所述第一集合中筛选出被与所述目标数据库实例关联 的其它数据库实例同时访问的数据页,则所述目标数据页集合为由根据所述第三规则筛选 出的数据页所组成的第三集合。
在另一种可能的实现方式中,如果所述目标规则包括所述第一规则和第四规则,所述 第四规则用于根据所述统计数据在所述第一集合中筛选出被所述目标租户的不同数据库 集群中的多个数据库实例库同时访问的数据页,则所述目标数据页集合为由根据所述第四 规则筛选出的数据页所组成的第四集合。
第四方面,提供了一种数据库中淘汰数据页的装置,所述装置包括:
选择模块,用于从目标租户的目标数据库实例的缓存中选择出候选的第一数据页集 合,所述第一数据页集合包括所述目标租户的数据库的至少一个数据页;
分析模块,用于获取第二数据页集合,所述第二数据页集合为根据目标规则在所述目 标租户的数据库中为所述目标数据库实例确定的目标数据页集合;
淘汰模块,用于在所述数据库的缓存中,淘汰所述第一数据页集合中除了第三数据页 集合以外的数据页,所述第三数据页集合包括所述第一数据页集合与所述第二数据页集合 同时包含的数据页。
在一种可能的实现方式中,如果目标规则为第一规则,所述第一规则用于在所述目标 租户的数据库中筛选出被所述目标数据库实例访问的访问次数超过第一阈值的数据页,所 述分析模块具体用于:将所述目标数据页集合确定为由根据所述第一规则筛选出的数据页所组成的第一集合。
在另一种可能的实现方式中,如果所述目标规则包括所述第一规则和第二规则,所述 第二规则用于在所述第一集合中筛选出历史的第一集合具有的数据页,所述分析模块具体 用于:将所述目标数据页集合确定为由根据所述第二规则筛选出的数据页所组成的第二集合。
在另一种可能的实现方式中,如果所述目标规则包括所述第一规则和第三规则,所述 第三规则用于在所述第一集合中筛选出被与所述目标数据库实例关联的其它数据库实例 同时访问的数据页,所述分析模块具体用于:将所述目标数据页集合确定为由根据所述第 三规则筛选出的数据页所组成的第三集合。
在另一种可能的实现方式中,如果所述目标规则包括所述第一规则和第四规则,所述 第四规则用于在所述第一集合中筛选出被所述目标租户的不同数据库集群中的多个数据 库实例库同时访问的数据页,所述分析模块具体用于:将所述目标数据页集合确定为由根 据所述第四规则筛选出的数据页所组成的第四集合。
在另一种可能的实现方式中,所述淘汰模块具体用于:如果所述第一数据页集合与所 述第三数据页集合相同,并且所述目标数据库实例的缓存中的剩余缓存空闲少于申请的缓 存空间,淘汰所述第三数据页集合中的部分数据页或者全部数据页。
在另一种可能的实现方式中,所述淘汰模块具体用于:如果所述第二数据页集合为所 述第二集合或者所述第三集合或者第四集合,并且所述目标数据库实例的缓存中的剩余缓 存空闲多于申请的缓存空间,则选择所述第一集合作为所述第二数据页集合。
在另一种可能的实现方式中,所述淘汰模块具体用于:如果所述第二数据页集合为所 述第二集合或者所述第三集合或者第四集合,并且所述目标数据库实例的缓存中的剩余缓 存空闲多于申请的缓存空间,则选择其它集合作为所述第二数据页集合。
第五方面,提供了一种数据库缓存中预加载数据页的装置,所述装置包括:
分析模块,用于获取第二数据库集合,所述第二数据页集合为根据目标规则在目标租 户的数据库中为所述目标租户的目标数据库实例确定的目标数据页集合;
加载模块,用于在所述目标数据库实例的缓存中的剩余缓存空闲大于所述第二数据库 集合中的数据页所占用的缓存空间,则将所述第二数据库集合中包括的数据页加载到所述 目标数据库实例的缓存中。
在一种可能的实现方式中,如果所述目标规则为第一规则,所述第一规则用于在所述 目标租户的数据库中筛选出被所述目标数据库实例访问的访问次数超过第一阈值的数据 页,所述分析模块具体用于:将所述目标数据页集合确定为由根据所述第一规则筛选出的 数据页所组成的第一集合。
在另一种可能的实现方式中,如果所述目标规则为第一规则和第二规则,所述第二规 则用于在所述第一集合中筛选出历史的第一集合具有的数据页,所述分析模块具体用于: 将所述目标数据页集合确定为由根据所述第二规则筛选出的数据页所组成的第二集合。
在另一种可能的实现方式中,如果所述目标规则包括所述第一规则和第三规则,所述 第三规则用于在所述第一集合中筛选出被与所述目标数据库实例关联的其它数据库实例 同时访问的数据页,所述分析模块具体用于:将所述目标数据页集合确定为由根据所述第三规则筛选出的数据页所组成的第三集合。
在另一种可能的实现方式中,如果所述目标规则包括所述第一规则和第四规则,所述 第四规则用于在所述第一集合中筛选出被所述目标租户的不同数据库集群中的多个数据 库实例库同时访问的数据页,所述分析模块具体用于:将所述目标数据页集合确定为由根 据所述第四规则筛选出的数据页所组成的第四集合。
第六方面,提供了一种管理数据库实例的装置,所述装置包括:
获取模块,用于获取统计数据,所述统计数据包括目标租户的数据库中的数据页被所 述目标租户的目标数据库实例访问的访问次数;
分析模块,用于根据所述统计数据确定第二数据页集合,所述第二数据页集合为根据 目标规则为所述目标租户的目标数据库实例确定的目标数据页集合。
在一种可能的实现方式中,如果目标规则为第一规则,所述第一规则用于根据所述统 计数据在所述目标租户的数据库中筛选出被所述目标数据库实例访问的访问次数超过第 一阈值的数据页,所述分析模块具体用于:将所述目标数据页集合确定为由根据所述第一 规则筛选出的数据页所组成的第一集合。
在另一种可能的实现方式中,如果所述目标规则包括所述第一规则和第二规则,所述 第二规则用于根据所述统计数据在所述第一集合中筛选出历史的第一集合具有的数据页, 所述分析模块具体用于:将所述目标数据页集合确定为由根据所述第二规则筛选出的数据页所组成的第二集合。
在另一种可能的实现方式中,如果所述目标规则包括所述第一规则和第三规则,所述 第三规则用于根据所述统计数据在所述第一集合中筛选出被与所述目标数据库实例关联 的其它数据库实例同时访问的数据页,所述分析模块具体用于:将所述目标数据页集合确 定为由根据所述第三规则筛选出的数据页所组成的第三集合。
在另一种可能的实现方式中,如果所述目标规则包括所述第一规则和第四规则,所述 第四规则用于根据所述统计数据在所述第一集合中筛选出被所述目标租户的不同数据库 集群中的多个数据库实例库同时访问的数据页,所述分析模块具体用于:将所述目标数据 页集合确定为由根据所述第四规则筛选出的数据页所组成的第四集合。
第七方面,本申请提供一种服务器,服务器包括处理器、存储器、通信接口、总线。所述处理器、存储器和通信接口之间通过总线连接并完成相互间的通信,所述存储器中用于存储计算机指令,所述服务器通过所述处理器执行所述存储器存储的计算机指令,以使得所述服务器执行第一方面或第一方面任一种可能实现方式中所述的方法。
第八方面,本申请提供一种服务器,服务器包括处理器、存储器、通信接口、总线。所述处理器、存储器和通信接口之间通过总线连接并完成相互间的通信,所述存储器中用于存储计算机指令,所述服务器通过所述处理器执行所述存储器存储的计算机指令,以使得所述服务器执行第二方面或第二方面任一种可能实现方式中所述的方法。
第九方面,本申请提供一种服务器,服务器包括处理器、存储器、通信接口、总线。所述处理器、存储器和通信接口之间通过总线连接并完成相互间的通信,所述存储器中用于存储计算机指令,所述服务器通过所述处理器执行所述存储器存储的计算机指令,以使得所述服务器执行第三方面或第三方面任一种可能实现方式中所述的方法。
第十方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有 计算机指令,当其在计算机(例如服务器)上运行时,使得计算机执行第一方面或第一方面任一种可能实现方式中所述的方法。
第十一方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储 有指令,当其在计算机(例如服务器)上运行时,使得计算机执行第二方面或第二方面任一种可能实现方式中所述的方法。
第十二方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储 有指令,当其在计算机(例如服务器)上运行时,使得计算机执行第三方面或第三方面任一种可能实现方式中所述的方法。
第十三方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行 时,使得计算机执行第一方面或第一方面任一种可能实现方式中所述的方法。
第十四方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行 时,使得计算机执行第二方面或第二方面任一种可能实现方式中所述的方法。
第十五方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行 时,使得计算机执行第三方面或第三方面任一种可能实现方式中所述的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实 现方式。
附图说明
图1是本申请实施例提供的一种数据库管理***100的架构图。
图2是本申请实施例提供的一种管理数据库实例的方法流程图。
图3是本申请实施例提供的一种数据库缓冲池中淘汰数据页的方法示意性流程图。
图4是本申请实施例提供的一种数据库中淘汰数据页的装置400的结构性示意性图。
图5是本申请实施例提供的一种数据库缓存中预加载数据页的装置500的结构性示意 性图。
图6是本申请实施例提供的一种管理数据库实例的装置600的结构性示意性图。
图7是本申请实施例提供的一种服务器700的结构性示意性图。
图8是本申请实施例提供的一种服务器800的结构性示意性图。
图9是本申请实施例提供的一种服务器900的结构性示意性图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
数据库是以一定的方式存储在一起、能为多个租户共享、与应用程序彼此独立的数据 集合。简而言之,数据库可视为电子化的文件柜(存储电子文件的处所),租户可以对文件中的数据进行新增、截取、更新、删除等操作。
为了便于描述,下面对本申请实施例提及的数据库的几个概念进行解释说明。
(1)表(table)
表是数据库逻辑上的划分,一个表属于一个数据库。所有的数据库对象都存放在指定 的表中,每个表都拥有唯一的标识(identification,ID)。
表不仅可以控制租户所占用的表配额,还可以控制数据库所占用的磁盘空间。例如, 在一些大型的数据库应用中,需要控制某个租户或者某一组租户其所占用的磁盘空间。在 文件服务器中,为每个租户设置磁盘配额一样,以防止硬盘空间耗竭。所以,在数据库中,我们也需要限制租户可以使用的磁盘空间大小。为了达到这个目的,就可以通过表来实现。
(2)数据页文件(page文件)
page文件一般指数据库中,数据实际存放的文件,存放在磁盘上。一个表可以包括一 个或多个page文件,一个page文件一般对应于一个表。
(3)缓冲池(buffer pool)
数据库中数据的缓存称为缓冲池。数据库一般会规划一定大小的内存空间,用于存储 常用的数据。由于从内存访问数据比从磁盘访问数据快得多(访问磁盘是典型的输入输出 (input and output,I/O)操作,一次I/O大概耗时0.0125S),通过将部分常用或者需要 预取的数据存放在缓冲池以便***直接访问和操作可以减少磁盘的I/O。
(4)数据库实例
数据库是一些存储在磁盘上的文件,数据库实例可以是将这些文件映射到缓冲池(内 存)中,并映射到内存里的进程。一个数据库和一个数据库实例一般是一一对应的关系。
(5)数据页(page)
数据库中数据存储的基本单位,是一种数据结构。缓冲池中存储的数据的结构为page。 数据库一般会将读/写的数据转换成page这种数据结构,存放在缓冲池中,再通过异步的 方式将数据保存到磁盘上的page文件中。
数据库一般会最大程度的利用缓存机制来提高数据的访问效率。在同等硬件的情况 下,一个数据库的性能好坏直接取决于缓冲池中数据的命中率。如果缓冲池中数据的命中 率较高,数据库***的性能也就越好。
随着互联网大数据技术的发展,数据库存储的数据量越来越大,往往都会超出缓冲池 的存储空间大小,将所有数据库中的数据全部存储在缓冲池中是不现实的。因此,如何提 高数据库中存储的数据的访问命中率成为数据库性能优化的一个方向。
传统的方案中,采用最近最少使用(least recently used,LRU)的淘汰算法,将数据 库中最少使用的数据进行淘汰,从而提高数据库中数据的命中率。但是,LRU算法淘汰的缓冲池中不经常使用的数据页与实际的业务无关,仅与本机的数据页访问次数有关,因此,在实际的应用场景中,通过LRU对数据库缓冲池中最少使用的数据页进行淘汰之后, 数据库缓冲池中数据的命中率较低。
本申请实施例结合租户应用对数据库中缓冲池的访问规律,对缓冲池中的数据页进行 管理,根据租户应用访问数据的规律和特点对缓冲池中的数据进行淘汰或预读,从而可以 提高数据库缓冲池中数据的命中率,并提高数据库的性能。
图1是本申请实施例提供的一种数据库管理***100的架构图。如图1所示,本申请实施例的数据库管理***100中以一个租户的两个数据库集群为例进行详细描述。
应理解,一个租户可以有多个数据库集群,一个租户的不同应用可以使用各自独立的 数据库集群中的数据库实例,并进行数据库实例的读/写操作。
还应理解,一个数据库集群中可以包括多个数据库实例,该多个数据库实例之间可以 是相互关联的关系。作为一个示例,多个数据库实例之间可以是业务之间的相互关联关系。 作为另一个示例,多个数据库实例之间还可以是访问的数据页之间的相互关联关系。
以多个数据库实例之间是访问的数据页之间的相互关联关系为例,一个数据库集群中 可以包括一个主数据库实例(master database instance)和与主数据库相关联的一个或多个只读副本数据库实例(read replica database instance)。只读副本数据库实例有时也可以称 为备数据库。
其中,主数据库实例主要负责在租户的应用发送了读/写请求之后,从主数据库实例 的缓存中或租户的数据库中对需要访问的数据页进行相应的读/写操作。只读副本数据库 实例主要负责在租户的应用发送了读请求之后,从只读副本数据库实例的缓存中或租户的 数据库中对需要访问的数据页进行相应的读操作。也就是说,对于一个租户的同一个数据库集群而言,多个数据库实例中的数据页相同,其中一个主要负责应用的读操作,另一个 可以负责应用的读操作,也可以负责应用的写操作。
参见图1,***100中可以包括应用110、应用120、数据库集群A、数据库集群B、 管理数据库130、分析模块140,下面分别对上述集合模块进行详细描述。
(1)数据库集群A
数据库集群A可以接收租户的应用110发送的数据读/写请求,并根据应用110发送的数据读/写请求,对数据库集群A中包括的数据库实例中的数据进行读/写。其中,数据 库集群A中可以包括主数据库实例111、只读副本数据库实例112。
主数据库实例111可以接收应用110发送的数据读/写请求,并对主数据库实例111的缓存中或租户的数据库中的数据页进行相应的读/写操作。主数据库实例111还可以针对一段时间,统计应用110读/写的该数据库实例111中的表标识和数据页标识,并统计 应用110读/写该表标识和数据页标识的次数。主数据库实例111还可以将统计数据发送 至管理数据库130。
只读副本数据库实例112可以接收应用110发送的数据读请求,并对只读副本数据库 实例112的缓存中或租户的数据库中的数据页进行相应的读/写操作。只读副本数据库实 例112还可以统计一段时间内,统计应用110读取的只读副本数据库实例112中的表标识和数据页标识,并统计应用110读取该表标识和数据页标识的次数。只读副本数据库实例112还可以将统计数据发送至管理数据库130。
(2)数据库集群B
数据库集群B可以接收租户的应用120发送的数据读/写请求,并根据应用120发送的数据读/写请求,对数据库集群B中包括的数据库实例中的数据进行读/写。其中,数据 库集群A中可以包括主数据库实例121、只读副本数据库实例122。主数据库实例121、 只读副本数据库实例122可以针对一段时间,分别统计出应用120访问的表标识和数据页 标识,并将统计出的应用120访问表标识和数据页标识的次数发送至管理数据库130。
主数据库实例121、只读副本数据库实例122和上述主数据库实例111、只读副本数据库实例112相对应,具体的请参考上文中的描述,此处不再赘述。
(3)管理数据库130
管理数据库130可以接收数据库集群A、数据库集群B发送的统计数据。
具体的,管理数据库130可以接收并保存主数据库实例111发送的租户的应用110访 问的表标识和数据页标识,以及各个表标识和数据页标识的访问次数。同样的,管理数据 库130还可以接收并保存只读副本数据库实例112、主数据库实例121、只读副本数据库实例122分别发送的租户的各个应用分别访问的表标识和数据页标识,以及各个表标识和数据页标识的访问次数。
(4)分析模块140
分析模块140可以访问管理数据库130,并可以从数据管理库130中获取各个数据库 实例上报的统计数据。分析模块140还可以基于目标规则以及各个数据库实例上报的统计 数据,分别为各个数据库实例确定目标数据页集合,该目标数据页集合中可以包括租户的 数据库中的至少一个表或数据页。
本申请实施例中对根据目标规则为租户确定目标数据页集合具体实现方式不做限定。 作为一个示例,目标数据页集合可以是根据第一规则从租户的数据库中为租户确定的第一 集合。作为另一个示例,目标数据页集合还可以根据第一规则和第二规则从租户的数据库中为租户确定的第二集合。作为另一个示例,目标数据页集合还可以根据第一规则和第三 规则从租户的数据库中为租户确定的第三集合。作为另一个示例,目标数据页集合还可以 根据第一规则和第四规则从租户的数据库中为租户确定的第四集合。
需要说明的是,可以根据上述各个目标规则单独实施确定目标数据页集合,也可以根 据上述一种或多种目标规则的组合来确定目标数据页集合。
以目标数据页集合可以是根据第一规则为租户确定的第一集合为例。第一规则可以是 在租户的数据库中筛选出被数据库实例访问的访问次数超过第一阈值的数据页。分析模块 140可以获取到管理数据库130中记录的每个数据库实例访问的表标识和数据页标识,以 及每个数据库实例访问的表标识和数据页标识的访问频率。并针对一段时间内,统计各个数据库实例访问的哪些表中的哪些数据页的访问次数超过预设的阈值,并将访问次数超过 预设的数据页组成了第一集合。因此,目标数据页集合为由根据所述第一规则筛选出的数 据页所组成的第一集合。
例如,分析模块140根据租户的应用110通过主数据库实例111访问的哪些表中的哪 些数据页的被访问的访问次数超过预设的阈值,将访问次数超过预设的数据页组成了数据 库集群A中的主数据库实例111的第一集合。同样的,分析模块140还可以通过上述方法 确定数据库集群A中的只读副本数据库实例112的第一集合、数据库集群B中的主数据库实例121的第一集合、数据库集群B中的只读副本数据库实例122的第一集合。
需要说明的是,访问次数可以理解为数据库实例读取数据库中的哪些表中的哪些数据 页的次数,还可以理解为数据库实例将哪些数据页写到哪些表中的次数。
以目标数据页集合可以是根据第一规则和第二规则为租户确定的第二集合为例。第二 规则用于在第一集合中筛选出历史的第一集合具有的数据页。分析模块140可以针对当前 一段时间内,根据第一规则确定出各个数据库实例的第一集合之后,结合历史的多个时间段内针对各个时间段确定的第一集合中包括的数据页,从当前一段时间内确定的第一集合 中筛选出历史的各个时间段对应的第一集合中包括的数据页,筛选出来的数据页组成了第 二集合。因此,目标数据页集合为由根据所述第二规则筛选出的数据页所组成的第二集合。
例如,分析模块140针对当前一段时间内,根据上述的第一规则确定出数据库集群A 中的主数据库实例111的第一集合。同理,分析模块140还可以针对其他时间段,根据第一规则确定出针对多个时间段对应的主数据库实例111的多个第一集合。分析模块140针对当前一段时间内,基于第二规则以及历史的多个时间段内针对各个时间段确定的主数据库实例111的多个第一集合中包括的访问频率高于预设阈值的数据页。从针对当前时间段所确定出的数据库实例111的第一集合中筛选出各个时间段确定的第一集合中具有的数据页,这些筛选出来的数据页组成了主数据库实例111的第二集合。同样的,分析模块 140也可以基于上述方法确定出数据库集群A中的只读副本数据库实例112的第二集合、 数据库集群B中的主数据库实例121的第二集合、数据库集群B中的只读副本数据库实 例122的第二集合。
以目标数据页集合可以是根据第一规则和第三规则为租户确定的第三集合为例。第三 规则用于在第一集合中筛选出被与数据库实例关联的其它数据库实例同时访问的数据页。 分析模块140可以针对当前一段时间内,根据第一规则确定出各个数据库实例的第一集合之后,从该数据库实例的第一集合中筛选出被与该数据库实例关联的其它数据库实例同时 访问的数据页,筛选出来的这些数据页组成了第三集合。因此,目标数据页集合为由根据 所述第三规则筛选出的数据页所组成的第三集合。
例如,一个数据库集群A中包括两个相关联的数据库实例,一个数据库实例是数据库 实例111,另一个与数据库实例111关联的数据库实例为只读副本数据库实例112作为示例。分析模块140可以针对当前一段时间内数据库实例111上报的统计数据,根据第一规 则确定出数据库集群A中的主数据库实例111的第一集合。分析模块140还可以针对当前 一段时间内,根据只读副本数据库实例112上报的统计数据,根据第一规则确定出数据库 集群A中的只读副本数据库实例112的第一集合。分析模块140还可以针对当前一段时间, 从主数据库实例111的第一集合中筛选出与只读副本数据库实例112的第一集合中相同的 数据页,这些筛选出来的数据页组成了主数据库实例111的第三集合。同样的,分析模块 140也可以基于上述方法确定出数据库集群A中的只读副本数据库实例112的第三集合、 数据库集群B中的主数据库实例121的第三集合、数据库集群B中的只读副本数据库实 例122的第三集合。
以目标数据页集合可以是根据第一规则和第四规则为租户确定的第四集合为例。第四 规则用于在第一集合中筛选出被租户的不同数据库集群中的多个数据库实例库同时访问 的数据页。因此,目标数据页集合为由根据所述第四规则筛选出的数据页所组成的第四集 合。
例如,以同一个租户包括两个不同的数据库集群,分别是数据库集群A和数据库集群 B。分析模块140可以针对当前一段时间内,根据第一规则分别确定出数据库集群A中的主数据库实例111的第一集合、只读副本数据库实例112的第一集合、数据库集群B中的 主数据库实例121的第一集合、数据库集群B中的只读副本数据库实例122的第一集合。 分析模块140可以针对当前一段时间内,根据第四规则,从主数据库实例111的第一集合 中筛选出与只读副本数据库实例112的第一集合、数据库集群B中的主数据库实例121 的第一集合、数据库集群B中的只读副本数据库实例122的第一集合中相同的数据页,这 些筛选出来的数据页组成了主数据库实例111的第四集合。同样的,分析模块140也可以 基于上述方法确定出数据库集群A中的只读副本数据库实例112的第四集合、数据库集群 B中的主数据库实例121的第四集合、数据库集群B中的只读副本数据库实例122的第四 集合。
分析模块140可以在根据各个数据库实例的统计数据以及上述目标规则为租户的各 个数据库实例确定的目标数据页集合之后,可以将针对一段时间内为各个数据库实例确定 的目标数据页集合分别发送至各个数据库实例。以便于各个数据库实例通过确定出的目标数据页集合对分别对各个数据库实例的缓存中的数据页进行淘汰或预读,从而提高数据库 缓冲池中存储的数据页的命中率。
可选地,分析模块140可以通过专用集成电路(application-specificintegrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可 以是复杂程序逻辑器件(complex programmable logical device,CPLD),现场可编程门阵 列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL) 或其任意组合。也可以通过软件实现根据上述目标规则确定目标数据页集合。
可选地,分析模块140还可以在服务器上运行,例如,可以运行在租户的数据库集群 A或者数据库集群B中的一个服务器上。
下面结合图2中的方法流程图,以租户的应用110访问数据库集群A为例,对图1 所示的***100中管理数据库的方法进行进一步的详细说明。应理解,图2的例子仅仅是 为了帮助本领域技术人员理解本申请实施例,而非要将本申请实施例限于所例示的具体数 值或具体场景。本领域技术人员根据所给出的图2的例子,显然可以进行各种等价的修改 或变化,这样的修改或变化也落入本申请实施例的范围内。
图2是本申请实施例提供的一种管理数据库实例的方法流程图。该方法可以包括步骤 210-295,下面分别对步骤210-295进行详细描述。
步骤210:应用110向数据库集群A的主数据库实例111发送读/写请求。
租户的应用110可以向主数据库实例111发送读/写数据页操作的请求。
步骤215:主数据库实例111统计应用110访问的数据库中的表标识和数据页标识,以及其访问次数。
主数据库实例111可以在接收到租户的应用110发送的读/写数据页请求之后,对主 数据库实例111的缓存中或租户的数据库中的数据页进行相应的读/写操作。
主数据库实例111还可以统计出针对一段时间,统计应用110读/写的该数据库实例 111中的表标识和数据页标识,并统计应用110读/写该表标识和数据页标识的次数。
步骤220:主数据库实例111将统计数据发送至管理数据库130。
主数据库实例111可以将步骤215中统计出的针对一段时间的统计数据发送至管理数 据库130进行保存。
步骤225:应用110向数据库集群A中的只读副本数据库实例112发送读/写请求。
与步骤210对应,具体的请参考步骤210中的描述,此处不再赘述。
步骤230:只读副本数据库实例112统计应用110访问的数据库中的表标识和数据页 标识,以及其访问次数。
与步骤215对应,具体的请参考步骤215中的描述,此处不再赘述。
步骤235:只读副本数据库实例112将统计数据发送至管理数据库130。
与步骤220对应,具体的请参考步骤220中的描述,此处不再赘述。
步骤240:应用120向数据库集群B中的主数据库实例121发送读/写请求。
与步骤210对应,具体的请参考步骤210中的描述,此处不再赘述。
步骤245:数据库集群B中的主数据库实例121统计应用120访问的数据库中的表标识和数据页标识,以及其访问次数。
与步骤215对应,具体的请参考步骤215中的描述,此处不再赘述。
步骤250:数据库集群B中的主数据库实例121将统计数据发送至管理数据库130。
与步骤220对应,具体的请参考步骤220中的描述,此处不再赘述。
步骤255:应用120向数据库集群B中的只读副本数据库实例122发送读/写请求。
与步骤210对应,具体的请参考步骤210中的描述,此处不再赘述。
步骤260:数据库集群B中的只读副本数据库实例122统计应用120访问的数据库中的表标识和数据页标识,以及其访问次数。
与步骤215对应,具体的请参考步骤215中的描述,此处不再赘述。
步骤265:数据库集群B中的只读副本数据库实例122将统计数据发送至管理数据库 130。
与步骤220对应,具体的请参考步骤220中的描述,此处不再赘述。
步骤270:分析模块140从管理数据库130中获取保存的各个数据库实例上报的统计 数据。
分析模块140可以定期从管理数据库130中获取保存的数据库集群A中的主数据库实 例111、只读副本数据库实例112,以及数据库集群B中的主数据库实例121、只读副本 数据库实例122上报的统计数据。
步骤275:分析模块140根据目标规则分别为各个数据库实例确定目标数据页集合。
分析模块140可以根据各个数据库实例上报的统计规则以及目标规则为租户的各个 数据库实例确定目标数据页集合。下面以数据库集群A中的主数据库实例111作为示例进行描述。
以目标规则是第一规则,目标数据页集合是根据第一规则为租户确定的第一集合为 例。分析模块140根据主数据库实例111上报的哪些表中的哪些数据页的被访问的访问次数超过预设的阈值,将访问次数超过预设的数据页组成了数据库集群A中的主数据库实例 111的第一集合。
以目标规则是第一规则和第二规则,目标数据页集合是根据第一规则和第二规则为租 户确定的第二集合为例。分析模块140针对当前时间段,根据第一规则确定出数据库集群 A中的主数据库实例111的第一集合。同样的,分析模块140还可以根据第一规则确定出 历史的多个时间段内数据库集群A中的主数据库实例111的多个第一集合。分析模块140可以基于第二规则,从针对当前时间段所确定出的数据库实例111的第一集合中筛选出各个时间段确定的第一集合中具有的数据页,这些筛选出来的数据页组成了主数据库实例111的第二集合。
以目标规则是第一规则和第三规则,目标数据页集合是根据第一规则和第三规则为租 户确定的第三集合为例。数据库集群A中包括两个相关联的数据库实例,一个数据库实例 是数据库实例111,另一个与数据库实例111关联的数据库实例为只读副本数据库实例 112。分析模块140根据第一规则确定出数据库实例111的第一集合、只读副本数据库实例112的第一集合,并根据第三规则从主数据库实例111的第一集合中筛选出与只读副本数据库实例112的第一集合中相同的数据页,这些筛选出来的数据页组成了主数据库实例111的第三集合。
以目标规则是第一规则和第四规则,目标数据页集合是根据第一规则和第三规则为租 户确定的第四集合为例。一个租户包括两个不同的数据库集群,分别是数据库集群A和数 据库集群B。分析模块140根据第一规则分别确定出数据库集群A中的主数据库实例111 的第一集合、只读副本数据库实例112的第一集合、数据库集群B中的主数据库实例121的第一集合、数据库集群B中的只读副本数据库实例122的第一集合。分析模块140还可 以根据第四规则,从主数据库实例111的第一集合中筛选出与只读副本数据库实例112的 第一集合、数据库集群B中的主数据库实例121的第一集合、数据库集群B中的只读副 本数据库实例122的第一集合中相同的数据页,这些筛选出来的数据页组成了主数据库实例111的第四集合。
同样的,分析模块140可以根据上述的方法分别确定出数据库集群A中的只读副本数 据库实例112的目标数据页集合、数据库集群B中的主数据库实例121的目标数据页集合、 数据库集群B中的只读副本数据库实例122的目标数据页集合。
具体的有关目标规则的描述,请参考上文中的描述,此处不再赘述。
步骤280:分析模块140将主数据库实例111对应的目标数据页集合发送至主数据库 实例111。
步骤285:主数据库实例111保存目标数据页集合。
主数据库实例111可以保存目标数据页集合,并可以根据目标数据页集合中的数据页 标识进行主数据库实例111的缓存中数据页的淘汰和预读,从而可以提高数据库缓冲池中 数据页的命中率。
步骤290:分析模块140将只读副本数据库实例112对应的目标数据页集合发送至只 读副本数据库实例112。
步骤291:只读副本数据库实例112保存目标数据页集合。
只读副本数据库实例112可以保存目标数据页集合,并可以根据目标数据页集合中的 数据页标识进行只读副本数据库实例112的缓存中数据页的淘汰和预读,从而可以提高数 据库缓冲池中数据页的命中率。
步骤292:分析模块140将主数据库实例121对应的目标数据页集合发送至主数据库 实例121。
步骤293:主数据库实例121保存目标数据页集合。
步骤294:分析模块140将只读副本数据库实例122对应的目标数据页集合发送只读 副本数据库实例122。
步骤295:只读副本数据库实例122保存目标数据页集合。
可以理解的,本申请实施例中,可以执行本申请实施例中的部分或全部步骤,这些步 骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个 步骤可以按照本申请实施例呈现的不同的顺序来执行,并且有可能并非要执行本申请实施例中的全部操作。
上述技术方案中,可以将数据库中租户访问的数据规律与同一租户的不同数据库集 群,同一数据库集群中不同的数据库示例结合起来,更加贴近租户应用的访问规律,从而 可以提高数据库缓冲池中数据的命中率,并提高数据库的性能。
可选的,在一些实施例中,在数据库缓冲池的预读流程中,可以根据确定的各个数据 库实例的目标数据页集合中包括的数据页,在数据库缓冲池的剩余空间大于目标数据页集 合中包括的数据页所占用的内存空间的情况下,将目标数据页集合中的数据页的部分或全部读取到数据库实例的缓冲池中,从而提高数据库实例的缓冲池中数据的命中率。
可选的,在另一些实施例中,在数据库缓冲池的页面淘汰流程中,可以确定的各个数 据库实例的目标数据页集合中包括的数据页对数据库缓冲池中的数据页进行淘汰,从而可 以尽可能多的在缓冲池中保存目标数据页集合中的数据页,提高数据库缓冲池中数据的命中率。下面结合图3中的页面淘汰流程图进行详细描述,此处不再赘述。
图3是本申请实施例提供的一种数据库缓冲池中淘汰数据页的方法示意性流程图。图3所示的方法可以包括步骤310-380,下面分别对步骤310-380的过程进行详细描述。
步骤310:从租户的目标数据库实例的缓存中选择出候选的第一数据页集合。
在租户的目标数据库实例的缓冲池中要生成或读取不存在的数据页的情况下,需要对 缓冲池中存储的数据页进行淘汰,从而将新的数据页读取到缓冲池中。
一般而言,候选的第一数据页集合中包括所述目标租户的数据库的至少一个数据页。
步骤320:从租户的数据库中为目标数据库实例获取目标数据页集合。
分析模块可以根据目标规则在租户的数据库中为目标数据库实例确定目标数据页集 合。
具体的有关目标规则和目标数据页集合请参考上文中的描述,此处不再赘述。
步骤330:从第一数据页集合中排除目标数据页集合,将第一数据页集合中除了目标 数据页集合以外的数据页组成了第四数据页集合。
步骤340:判断第四数据页集合是否为空。
目标数据库实例在判断第四数据页集合不为空的情况下,可以执行步骤350。
目标数据库实例在判断第四数据页集合为空的情况下,可以执行步骤360。
步骤350:淘汰第四数据页集合中包括的数据页。
目标数据库实例在判断第四数据页集合不为空的情况下,可以将第四数据页集合中包 括的数据页从目标数据库实例的缓存中淘汰掉,从而可以使得在目标数据库实例的缓存中 更多的目标数据页集合中包括的访问频率较高的数据页,提高目标数据库实例的缓存中数据页的命中率。
步骤360:判断目标数据库实例的缓存中的剩余缓存空闲是否小于申请的缓存空间。
目标数据库实例在判断目标数据库实例的缓存中的剩余缓存空闲小于申请的缓存空 间,可以执行步骤370。
目标数据库实例在判断目标数据库实例的缓存中的剩余缓存空闲大于或等于申请的缓存空间,可以执行步骤380。
步骤370:目标数据库实例淘汰第一数据页集合与目标数据页集合中相同的数据页的 部分或全部。
在第四数据页集合为空,说明候选的第一数据页集合中包括的数据页是访问频率较高 的数据页。在目标数据库实例的缓存中的剩余缓存空闲小于申请的缓存空间的情况下,说 明需要从目标数据库实例的缓存的第一数据页集合中淘汰掉一部分数据。
可选的,可以将第一数据页集合与目标数据页集合中相同的数据页全部淘汰掉。
可选的,还可以将第一数据页集合与目标数据页集合中相同的数据页中的部分数据页 淘汰掉,从而可以尽可能多的在目标数据库实例的缓存中保存目标数据页集合中的数据 页,提高数据库缓冲池中数据的命中率。
步骤380:目标数据库实例淘汰第一数据页集合与第一集合或其他集合中相同的数据 页。
可选的,在目标数据页集合为上述第二集合或者第三集合或者第四集合,则选择将第 一集合中的数据页作为目标数据页集合。目标数据库实例可以从第一数据页集合中淘汰除 了第一数据页集合与目标数据页集合相同的数据页之外的数据页。
可选的,在目标数据页集合为上述第二集合或者第三集合或者第四集合,则选择将其 他集合作为目标数据页集合。目标数据库实例可以从第一数据页集合中淘汰除了第一数据 页集合与目标数据页集合相同的数据页之外的数据页。
本申请实施例中,可以结合实际的业务,将租户的应用访问数据库的数据访问规律运 用到数据库页面太淘汰或预读流程中,从而可以根据租户的应用访问数据库的数据特点提 高数据库缓冲池中数据的命中率,提高数据库的使用性能。
上文结合图1至图3,详细描述了本申请实施例提供的方法实施例,下面将结合图4- 图9,详细描述本申请的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图4是本申请实施例提供的一种数据库中淘汰数据页的装置400的结构性示意性图。 装置400可以包括:选择模块410、分析模块420、淘汰模块430。
选择模块410,用于从目标租户的目标数据库实例的缓存中选择出候选的第一数据页 集合,所述第一数据页集合包括所述目标租户的数据库的至少一个数据页;
分析模块420,用于获取第二数据页集合,所述第二数据页集合为根据目标规则在所 述目标租户的数据库中为所述目标数据库实例确定的目标数据页集合;
淘汰模块430,用于在所述数据库的缓存中,淘汰所述第一数据页集合中除了第三数 据页集合以外的数据页,所述第三数据页集合包括所述第一数据页集合与所述第二数据页 集合同时包含的数据页。
应理解,分析模块420可以对应于上文中所示的分析模块140。
应理解的是,本申请实施例的数据库中淘汰数据页的装置400可以通过ASIC实现,或PLD实现。也可以通过软件实现图3所示的数据库中淘汰数据页的方法时,数据库中 淘汰数据页的装置400及其各个模块也可以为软件模块。
可选的,在一些实施例中,如果目标规则为第一规则,所述第一规则用于在所述目标 租户的数据库中筛选出被所述目标数据库实例访问的访问次数超过第一阈值的数据页,所 述分析模块420具体用于:将所述目标数据页集合确定为由根据所述第一规则筛选出的数据页所组成的第一集合。
可选的,在一些实施例中,如果所述目标规则包括所述第一规则和第二规则,所述第 二规则用于在所述第一集合中筛选出历史的第一集合具有的数据页,所述分析模块420具 体用于:将所述目标数据页集合确定为由根据所述第二规则筛选出的数据页所组成的第二集合。
可选的,在一些实施例中,如果所述目标规则包括所述第一规则和第三规则,所述第 三规则用于在所述第一集合中筛选出被与所述目标数据库实例关联的其它数据库实例同 时访问的数据页,所述分析模块420具体用于:将所述目标数据页集合确定为由根据所述第三规则筛选出的数据页所组成的第三集合。
可选的,在一些实施例中,如果所述目标规则包括所述第一规则和第四规则,所述第 四规则用于在所述第一集合中筛选出被所述目标租户的不同数据库集群中的多个数据库 实例库同时访问的数据页,所述分析模块420具体用于:将所述目标数据页集合确定为由根据所述第四规则筛选出的数据页所组成的第四集合。
可选的,在一些实施例中,所述淘汰模块430具体用于:如果所述第一数据页集合与 所述第三数据页集合相同,并且所述目标数据库实例的缓存中的剩余缓存空闲少于申请的 缓存空间,淘汰所述第三数据页集合中的部分数据页或者全部数据页。
可选的,在一些实施例中,所述淘汰模块430具体用于:如果所述第二数据页集合为 所述第二集合或者所述第三集合或者第四集合,并且所述目标数据库实例的缓存中的剩余 缓存空闲多于申请的缓存空间,则选择所述第一集合作为所述第二数据页集合。
可选的,在一些实施例中,所述淘汰模块430具体用于:如果所述第二数据页集合为 所述第二集合或者所述第三集合或者第四集合,并且所述目标数据库实例的缓存中的剩余 缓存空闲多于申请的缓存空间,则选择其它集合作为所述第二数据页集合。
图5是本申请实施例提供的一种数据库缓存中预加载数据页的装置500的结构性示意 性图。装置500可以包括:分析模块510、加载模块520。
应理解,分析模块510可以对应于上文中所示的分析模块140。
分析模块510,用于获取第二数据库集合,所述第二数据页集合为根据目标规则在目 标租户的数据库中为所述目标租户的目标数据库实例确定的目标数据页集合;
加载模块520,用于在所述目标数据库实例的缓存中的剩余缓存空闲大于所述第二数 据库集合中的数据页所占用的缓存空间,则将所述第二数据库集合中包括的数据页加载到 所述目标数据库实例的缓存中。
可选的,在一些实施例中,如果所述目标规则为第一规则,所述第一规则用于在所述 目标租户的数据库中筛选出被所述目标数据库实例访问的访问次数超过第一阈值的数据 页,所述分析模块510具体用于:将所述目标数据页集合确定为由根据所述第一规则筛选出的数据页所组成的第一集合。
可选的,在一些实施例中,如果所述目标规则为第一规则和第二规则,所述第二规则用于在所述第一集合中筛选出历史的第一集合具有的数据页,所述分析模块510具体用于:将所述目标数据页集合确定为由根据所述第二规则筛选出的数据页所组成的第二集合。
可选的,在一些实施例中,如果所述目标规则包括所述第一规则和第三规则,所述第 三规则用于在所述第一集合中筛选出被与所述目标数据库实例关联的其它数据库实例同 时访问的数据页,所述分析模块510具体用于:将所述目标数据页集合确定为由根据所述第三规则筛选出的数据页所组成的第三集合。
可选的,在一些实施例中,如果所述目标规则包括所述第一规则和第四规则,所述第 四规则用于在所述第一集合中筛选出被所述目标租户的不同数据库集群中的多个数据库 实例库同时访问的数据页,所述分析模块510具体用于:将所述目标数据页集合确定为由根据所述第四规则筛选出的数据页所组成的第四集合。
图6是本申请实施例提供的一种管理数据库实例的装置600的结构性示意性图。装置 600可以包括:获取模块610、分析模块620。
应理解,分析模块620可以对应于上文中所示的分析模块140。
应理解的是,本申请实施例的管理数据库实例的装置600可以通过ASIC实现,或PLD 实现。也可以通过软件实现图2所示的管理数据库实例的方法时,管理数据库实例的装置 600及其各个模块也可以为软件模块。
获取模块610,用于获取统计数据,所述统计数据包括目标租户的数据库中的数据页 被所述目标租户的目标数据库实例访问的访问次数;
分析模块620,用于根据所述统计数据确定第二数据页集合,所述第二数据页集合为 根据目标规则为所述目标租户的目标数据库实例确定的目标数据页集合。
可选的,在一些实施例中,如果目标规则为第一规则,所述第一规则用于根据所述统 计数据在所述目标租户的数据库中筛选出被所述目标数据库实例访问的访问次数超过第 一阈值的数据页,所述分析模块620具体用于:将所述目标数据页集合确定为由根据所述 第一规则筛选出的数据页所组成的第一集合。
可选的,在一些实施例中,如果所述目标规则包括所述第一规则和第二规则,所述第 二规则用于根据所述统计数据在所述第一集合中筛选出历史的第一集合具有的数据页,所 述分析模块620具体用于:将所述目标数据页集合确定为由根据所述第二规则筛选出的数据页所组成的第二集合。
可选的,在一些实施例中,如果所述目标规则包括所述第一规则和第三规则,所述第 三规则用于根据所述统计数据在所述第一集合中筛选出被与所述目标数据库实例关联的 其它数据库实例同时访问的数据页,所述分析模块620具体用于:将所述目标数据页集合确定为由根据所述第三规则筛选出的数据页所组成的第三集合。
可选的,在一些实施例中,如果所述目标规则包括所述第一规则和第四规则,所述第 四规则用于根据所述统计数据在所述第一集合中筛选出被所述目标租户的不同数据库集 群中的多个数据库实例库同时访问的数据页,所述分析模块620具体用于:将所述目标数 据页集合确定为由根据所述第四规则筛选出的数据页所组成的第四集合。
图7是本申请实施例提供的一种服务器700的结构性示意性图。所述服务器700包括: 处理器710、存储器720、通信接口730、总线750。
其中,该处理器710可以与存储器720连接。该存储器720可以用于存储计算机指令和数据。例如,存储器720中存储有用于执行图3所示的数据库缓冲池中淘汰数据页的方 法的计算机指令或存储图4中数据库中淘汰数据页的装置400中的选择模块410、分析模 块420、淘汰模块430。
该存储器720可以是处理器710内部的存储单元,也可以是与处理器710独立的外部 存储单元,还可以是包括处理器710内部的存储单元和与处理器710独立的外部存储单元 的部件。
可选的,服务器700还可以包括总线750。其中,存储器720、通信接口730可以通 过总线750与处理器710连接。总线750可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA) 总线等。所述总线750可以分为地址总线、数据总线、控制总线等。为便于表示,图7中 仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本申请实施例中,该处理器710可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor, DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列 (field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的 处理器等。或者该处理器710采用一个或多个集成电路,用于执行相关程序,以实现本申 请实施例所提供的技术方案。
该存储器720可以包括只读存储器和随机存取存储器,并向处理器710提供指令和数 据。处理器710的一部分还可以包括非易失性随机存取存储器。例如,处理器710还可以存储设备类型的信息。
所述服务器700通过所述处理器710执行所述存储器720存储的计算机指令,以使得 所述服务器700执行上述图3所示的数据库中淘汰数据页的方法。
图8是本申请实施例提供的一种服务器800的结构性示意性图。所述服务器800包括: 处理器810、存储器820、通信接口830、总线850。
其中,该处理器810可以与存储器820连接。该存储器820可以用于存储计算机指令和数据。例如,存储器820中存储有用于执行上文中数据库缓存中预加载数据页方法的计算机指令或存储如图5所示的数据库缓存中预加载数据页的装置500中的分析模块510、 加载模块520。
该存储器820可以是处理器810内部的存储单元,也可以是与处理器810独立的外部 存储单元,还可以是包括处理器810内部的存储单元和与处理器810独立的外部存储单元 的部件。
可选的,服务器800还可以包括总线850。其中,存储器820、通信接口830可以通 过总线850与处理器810连接。总线850可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA) 总线等。所述总线850可以分为地址总线、数据总线、控制总线等。为便于表示,图8中 仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本申请实施例中,该处理器810可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor, DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻 辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的 处理器等。或者该处理器810采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器820可以包括只读存储器和随机存取存储器,并向处理器810提供指令和数 据。处理器810的一部分还可以包括非易失性随机存取存储器。例如,处理器810还可以存储设备类型的信息。
所述服务器800通过所述处理器810执行所述存储器820存储的计算机指令,以使得 所述服务器800执行如上文中数据库缓存中预加载数据页的方法。
图9是本申请实施例提供的一种服务器900的结构性示意性图。所述服务器900包括: 处理器910、存储器920、通信接口930、总线950。
其中,该处理器910可以与存储器920连接。该存储器920可以用于存储该程序代码和数据。例如,存储器920中存储有用于执行如图2所示的管理数据库实例的方法的计算 机指令或存储如图6所示的管理数据库实例的装置600中的获取模块610、分析模块620。
该存储器920可以是处理器910内部的存储单元,也可以是与处理器910独立的外部 存储单元,还可以是包括处理器910内部的存储单元和与处理器910独立的外部存储单元 的部件。
可选的,服务器900还可以包括总线950。其中,存储器920、通信接口930可以通 过总线950与处理器910连接。总线950可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA) 总线等。所述总线950可以分为地址总线、数据总线、控制总线等。为便于表示,图9中 仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本申请实施例中,该处理器910可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor, DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列 (field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的 处理器等。或者该处理器910采用一个或多个集成电路,用于执行相关程序,以实现本申 请实施例所提供的技术方案。
该存储器920可以包括只读存储器和随机存取存储器,并向处理器910提供指令和数 据。处理器910的一部分还可以包括非易失性随机存取存储器。例如,处理器910还可以存储设备类型的信息。
所述服务器900通过所述处理器910执行所述存储器920存储的计算机指令,以使得 所述服务器900执行如图2所示的管理数据库实例的方法。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使 用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机 程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专 用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存 储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所 述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、 光纤、数字租户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、 计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。 所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或 者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及 算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以 硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装 置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通 过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显 示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间 接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的 部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络 单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述,仅为本申请的具体实施方式。熟悉本技术领域的技术人员根据本申请提供 的具体实施方式,可想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (26)
1.一种数据库中淘汰数据页的方法,其特征在于,所述方法包括:
从目标租户的目标数据库实例的缓存中选择出候选的第一数据页集合,所述第一数据页集合包括所述目标租户的数据库的至少一个数据页;
获取第二数据页集合,所述第二数据页集合为根据目标规则在所述目标租户的数据库中为所述目标数据库实例确定的目标数据页集合;
在所述目标数据库实例的缓存中,淘汰所述第一数据页集合中除了第三数据页集合以外的数据页,所述第三数据页集合包括所述第一数据页集合与所述第二数据页集合同时包含的数据页;
如果所述目标规则包括第一规则和第三规则,所述第一规则用于在所述目标租户的数据库中筛选出被所述目标数据库实例访问的访问次数超过第一阈值的数据页,所述第三规则用于在第一集合中筛选出被与所述目标数据库实例关联的其它数据库实例同时访问的数据页,则所述目标数据页集合包括由根据所述第一规则筛选出的数据页所组成的第一集合以及由根据所述第三规则筛选出的数据页所组成的第三集合。
2.根据权利要求1所述的方法,其特征在于,如果所述目标规则包括所述第一规则和第二规则,所述第二规则用于在所述第一集合中筛选出历史的第一集合具有的数据页,则所述目标数据页集合为由根据所述第二规则筛选出的数据页所组成的第二集合。
3.根据权利要求1所述的方法,其特征在于,如果所述目标规则包括所述第一规则和第四规则,所述第四规则用于在所述第一集合中筛选出被所述目标租户的不同数据库集群中的多个数据库实例库同时访问的数据页,则所述目标数据页集合为由根据所述第四规则筛选出的数据页所组成的第四集合。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述淘汰所述第一数据页集合中除了第三数据页集合以外的数据页,包括:
如果所述第一数据页集合与所述第三数据页集合相同,并且所述目标数据库实例的缓存中的剩余缓存空闲少于申请的缓存空间,淘汰所述第三数据页集合中的部分数据页或者全部数据页。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述淘汰所述第一数据页集合中除了第三数据页集合以外的数据页,包括:
如果所述第二数据页集合为第二集合或者所述第三集合或者第四集合,并且所述目标数据库实例的缓存中的剩余缓存空闲多于申请的缓存空间,则选择所述第一集合作为所述第二数据页集合。
6.根据权利要求1至3任一项所述的方法,其特征在于,所述淘汰所述第一数据页集合中除了第三数据页集合以外的数据页,包括:
如果所述第二数据页集合为第二集合或者所述第三集合或者第四集合,并且所述目标数据库实例的缓存中的剩余缓存空闲多于申请的缓存空间,则选择其它集合作为所述第二数据页集合。
7.一种数据库缓存中预加载数据页的方法,其特征在于,所述方法包括:
获取第二数据库集合,所述第二数据页集合为根据目标规则在目标租户的数据库中为所述目标租户的目标数据库实例确定的目标数据页集合;
在所述目标数据库实例的缓存中的剩余缓存空闲大于所述第二数据库集合中的数据页所占用的缓存空间,则将所述第二数据库集合中包括的数据页加载到所述目标数据库实例的缓存中;
如果所述目标规则包括第一规则和第三规则,所述第一规则用于在所述目标租户的数据库中筛选出被所述目标数据库实例访问的访问次数超过第一阈值的数据页,所述第三规则用于在第一集合中筛选出被与所述目标数据库实例关联的其它数据库实例同时访问的数据页,则所述目标数据页集合包括由根据所述第一规则筛选出的数据页所组成的第一集合以及由根据所述第三规则筛选出的数据页所组成的第三集合。
8.根据权利要求7所述的方法,其特征在于,
如果所述目标规则为第一规则和第二规则,所述第二规则用于在所述第一集合中筛选出历史的第一集合具有的数据页,则所述目标数据页集合为由根据所述第二规则筛选出的数据页所组成的第二集合;或者,
如果所述目标规则包括所述第一规则和第四规则,所述第四规则用于在所述第一集合中筛选出被所述目标租户的不同数据库集群中的多个数据库实例库同时访问的数据页,则所述目标数据页集合为由根据所述第四规则筛选出的数据页所组成的第四集合。
9.一种管理数据库实例的方法,其特征在于,所述方法包括:
获取统计数据,所述统计数据包括目标租户的数据库中的数据页被所述目标租户的目标数据库实例访问的访问次数;
根据所述统计数据确定第二数据页集合,所述第二数据页集合为根据目标规则为所述目标租户的目标数据库实例确定的目标数据页集合;
如果所述目标规则包括第一规则和第三规则,所述第一规则用于在所述目标租户的数据库中筛选出被所述目标数据库实例访问的访问次数超过第一阈值的数据页,所述第三规则用于在第一集合中筛选出被与所述目标数据库实例关联的其它数据库实例同时访问的数据页,则所述目标数据页集合包括由根据所述第一规则筛选出的数据页所组成的第一集合以及由根据所述第三规则筛选出的数据页所组成的第三集合。
10.根据权利要求9所述的方法,其特征在于,如果所述目标规则包括所述第一规则和第二规则,所述第二规则用于根据所述统计数据在所述第一集合中筛选出历史的第一集合具有的数据页,则所述目标数据页集合为由根据所述第二规则筛选出的数据页所组成的第二集合;或者,
如果所述目标规则包括所述第一规则和第四规则,所述第四规则用于在所述第一集合中筛选出被所述目标租户的不同数据库集群中的多个数据库实例库同时访问的数据页,则所述目标数据页集合为由根据所述第四规则筛选出的数据页所组成的第四集合。
11.一种数据库中淘汰数据页的装置,其特征在于,所述装置包括:
选择模块,用于从目标租户的目标数据库实例的缓存中选择出候选的第一数据页集合,所述第一数据页集合包括所述目标租户的数据库的至少一个数据页;
分析模块,用于获取第二数据页集合,所述第二数据页集合为根据目标规则在所述目标租户的数据库中为所述目标数据库实例确定的目标数据页集合;
淘汰模块,用于在所述数据库的缓存中,淘汰所述第一数据页集合中除了第三数据页集合以外的数据页,所述第三数据页集合包括所述第一数据页集合与所述第二数据页集合同时包含的数据页;
如果所述目标规则包括第一规则和第三规则,所述第一规则用于在所述目标租户的数据库中筛选出被所述目标数据库实例访问的访问次数超过第一阈值的数据页,所述第三规则用于在第一集合中筛选出被与所述目标数据库实例关联的其它数据库实例同时访问的数据页,所述分析模块具体用于:将所述目标数据页集合确定为由根据所述第一规则筛选出的数据页所组成的第一集合以及由根据所述第三规则筛选出的数据页所组成的第三集合。
12.根据权利要求11所述的装置,其特征在于,如果所述目标规则包括所述第一规则和第二规则,所述第二规则用于在所述第一集合中筛选出历史的第一集合具有的数据页,所述分析模块具体用于:
将所述目标数据页集合确定为由根据所述第二规则筛选出的数据页所组成的第二集合。
13.根据权利要求11所述的装置,其特征在于,如果所述目标规则包括所述第一规则和第四规则,所述第四规则用于在所述第一集合中筛选出被所述目标租户的不同数据库集群中的多个数据库实例库同时访问的数据页,所述分析模块具体用于:
将所述目标数据页集合确定为由根据所述第四规则筛选出的数据页所组成的第四集合。
14.根据权利要求11至13任一项所述的装置,其特征在于,所述淘汰模块具体用于:
如果所述第一数据页集合与所述第三数据页集合相同,并且所述目标数据库实例的缓存中的剩余缓存空闲少于申请的缓存空间,淘汰所述第三数据页集合中的部分数据页或者全部数据页。
15.根据权利要求11至13任一项所述的装置,其特征在于,所述淘汰模块具体用于:
如果所述第二数据页集合为第二集合或者所述第三集合或者第四集合,并且所述目标数据库实例的缓存中的剩余缓存空闲多于申请的缓存空间,则选择所述第一集合作为所述第二数据页集合。
16.根据权利要求11至13任一项所述的装置,其特征在于,所述淘汰模块具体用于:
如果所述第二数据页集合为第二集合或者所述第三集合或者第四集合,并且所述目标数据库实例的缓存中的剩余缓存空闲多于申请的缓存空间,则选择其它集合作为所述第二数据页集合。
17.一种数据库缓存中预加载数据页的装置,其特征在于,所述装置包括:
分析模块,用于获取第二数据库集合,所述第二数据页集合为根据目标规则在目标租户的数据库中为所述目标租户的目标数据库实例确定的目标数据页集合;
加载模块,用于在所述目标数据库实例的缓存中的剩余缓存空闲大于所述第二数据库集合中的数据页所占用的缓存空间,则将所述第二数据库集合中包括的数据页加载到所述目标数据库实例的缓存中;
如果所述目标规则包括第一规则和第三规则,所述第一规则用于在所述目标租户的数据库中筛选出被所述目标数据库实例访问的访问次数超过第一阈值的数据页,所述第三规则用于在第一集合中筛选出被与所述目标数据库实例关联的其它数据库实例同时访问的数据页,所述分析模块具体用于:将所述目标数据页集合确定为由根据所述第一规则筛选出的数据页所组成的第一集合以及由根据所述第三规则筛选出的数据页所组成的第三集合。
18.根据权利要求17所述的装置,其特征在于,
如果所述目标规则为第一规则和第二规则,所述第二规则用于在所述第一集合中筛选出历史的第一集合具有的数据页,所述分析模块具体用于:
将所述目标数据页集合确定为由根据所述第二规则筛选出的数据页所组成的第二集合;或者,
如果所述目标规则包括所述第一规则和第四规则,所述第四规则用于在所述第一集合中筛选出被所述目标租户的不同数据库集群中的多个数据库实例库同时访问的数据页,所述分析模块具体用于:
将所述目标数据页集合确定为由根据所述第四规则筛选出的数据页所组成的第四集合。
19.一种管理数据库实例的装置,其特征在于,所述装置包括:
获取模块,用于获取统计数据,所述统计数据包括目标租户的数据库中的数据页被所述目标租户的目标数据库实例访问的访问次数;
分析模块,用于根据所述统计数据确定第二数据页集合,所述第二数据页集合为根据目标规则为所述目标租户的目标数据库实例确定的目标数据页集合;
如果所述目标规则包括第一规则和第三规则,所述第一规则用于在所述目标租户的数据库中筛选出被所述目标数据库实例访问的访问次数超过第一阈值的数据页,所述第三规则用于在第一集合中筛选出被与所述目标数据库实例关联的其它数据库实例同时访问的数据页,所述分析模块具体用于:将所述目标数据页集合确定为由根据所述第一规则筛选出的数据页所组成的第一集合以及由根据所述第三规则筛选出的数据页所组成的第三集合。
20.根据权利要求19所述的装置,其特征在于,
如果所述目标规则包括所述第一规则和第二规则,所述第二规则用于根据所述统计数据在所述第一集合中筛选出历史的第一集合具有的数据页,所述分析模块具体用于:
将所述目标数据页集合确定为由根据所述第二规则筛选出的数据页所组成的第二集合;或者,
如果所述目标规则包括所述第一规则和第四规则,所述第四规则用于根据所述统计数据在所述第一集合中筛选出被所述目标租户的不同数据库集群中的多个数据库实例库同时访问的数据页,所述分析模块具体用于:
将所述目标数据页集合确定为由根据所述第四规则筛选出的数据页所组成的第四集合。
21.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器用于存储计算机指令;所述服务器通过所述处理器执行所述存储器存储的计算机指令,以使得所述服务器执行权利要求1至6中任一项所述的方法。
22.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器用于存储计算机指令;所述服务器通过所述处理器执行所述存储器存储的计算机指令,以使得所述服务器执行权利要求7或8所述的方法。
23.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器用于存储计算机指令;所述服务器通过所述处理器执行所述存储器存储的计算机指令,以使得所述服务器执行权利要求9或10所述的方法。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令;所述计算机指令用于指示服务器执行权利要求1至6中任一项所述的方法。
25.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令;所述计算机指令用于指示服务器执行权利要求7或8所述的方法。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令;所述计算机指令用于指示服务器执行权利要求9或10所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910099936.7A CN111506524B (zh) | 2019-01-31 | 2019-01-31 | 一种数据库中淘汰、预加载数据页的方法、装置 |
PCT/CN2019/106076 WO2020155646A1 (zh) | 2019-01-31 | 2019-09-17 | 一种数据库中淘汰、预加载数据页的方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910099936.7A CN111506524B (zh) | 2019-01-31 | 2019-01-31 | 一种数据库中淘汰、预加载数据页的方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111506524A CN111506524A (zh) | 2020-08-07 |
CN111506524B true CN111506524B (zh) | 2024-01-30 |
Family
ID=71841775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910099936.7A Active CN111506524B (zh) | 2019-01-31 | 2019-01-31 | 一种数据库中淘汰、预加载数据页的方法、装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111506524B (zh) |
WO (1) | WO2020155646A1 (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462225A (zh) * | 2014-11-12 | 2015-03-25 | 华为技术有限公司 | 一种数据读取的方法、装置及*** |
CN104699422A (zh) * | 2015-03-11 | 2015-06-10 | 华为技术有限公司 | 缓存数据的确定方法及装置 |
CN106657196A (zh) * | 2015-11-02 | 2017-05-10 | 华为技术有限公司 | 一种缓存内容淘汰方法及缓存装置 |
CN106649313A (zh) * | 2015-10-29 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 用于处理缓存数据的方法和设备 |
CN106897030A (zh) * | 2017-02-28 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种缓存数据管理方法及装置 |
CN107391398A (zh) * | 2016-05-16 | 2017-11-24 | 中国科学院微电子研究所 | 一种闪存缓存区的管理方法及*** |
CN108334505A (zh) * | 2017-01-19 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置、服务器及库存*** |
CN108763103A (zh) * | 2018-05-24 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种内存管理方法、装置、***及计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609364A (zh) * | 2012-02-14 | 2012-07-25 | 华中科技大学 | 缓存交换方法 |
CN103279562B (zh) * | 2013-06-09 | 2017-10-10 | 网易(杭州)网络有限公司 | 一种用于数据库二级缓存的方法、装置及数据库存储*** |
GB2533116A (en) * | 2014-12-10 | 2016-06-15 | Ibm | Query dispatching system and method |
-
2019
- 2019-01-31 CN CN201910099936.7A patent/CN111506524B/zh active Active
- 2019-09-17 WO PCT/CN2019/106076 patent/WO2020155646A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462225A (zh) * | 2014-11-12 | 2015-03-25 | 华为技术有限公司 | 一种数据读取的方法、装置及*** |
CN104699422A (zh) * | 2015-03-11 | 2015-06-10 | 华为技术有限公司 | 缓存数据的确定方法及装置 |
CN106649313A (zh) * | 2015-10-29 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 用于处理缓存数据的方法和设备 |
CN106657196A (zh) * | 2015-11-02 | 2017-05-10 | 华为技术有限公司 | 一种缓存内容淘汰方法及缓存装置 |
CN107391398A (zh) * | 2016-05-16 | 2017-11-24 | 中国科学院微电子研究所 | 一种闪存缓存区的管理方法及*** |
CN108334505A (zh) * | 2017-01-19 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置、服务器及库存*** |
CN106897030A (zh) * | 2017-02-28 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种缓存数据管理方法及装置 |
CN108763103A (zh) * | 2018-05-24 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种内存管理方法、装置、***及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111506524A (zh) | 2020-08-07 |
WO2020155646A1 (zh) | 2020-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108804031B (zh) | 最佳记录查找 | |
CN110109868B (zh) | 用于索引文件的方法、装置和计算机程序产品 | |
US9880944B2 (en) | Page replacement algorithms for use with solid-state drives | |
AU2010319840A1 (en) | Allocating storage memory based on future use estimates | |
US10585807B2 (en) | Balanced cache for recently frequently used data | |
CN111309732A (zh) | 数据处理方法、装置、介质和计算设备 | |
US11226778B2 (en) | Method, apparatus and computer program product for managing metadata migration | |
CN111857574A (zh) | 一种写请求数据压缩方法、***、终端及存储介质 | |
CN110750211A (zh) | 一种存储空间的管理方法及装置 | |
CN114968124A (zh) | 数据存储方法、服务器和存储介质 | |
US9380126B2 (en) | Data collection and distribution management | |
CN111506524B (zh) | 一种数据库中淘汰、预加载数据页的方法、装置 | |
CN110427394B (zh) | 数据操作方法及装置 | |
CN115934583B (zh) | 分级缓存方法、装置及*** | |
CN110737397B (zh) | 用于管理存储***的方法、设备和计算机程序产品 | |
CN116027982A (zh) | 数据处理方法、设备及可读存储介质 | |
US10552059B2 (en) | Data migration with placement based on access patterns | |
CN107609038B (zh) | 数据清理方法和装置 | |
CN115576947A (zh) | 一种数据管理方法、装置、组合库、电子设备及存储介质 | |
CN113419792A (zh) | 一种事件处理方法、装置、终端设备和存储介质 | |
CN114816220A (zh) | 管理存储***的方法、电子设备和计算机程序产品 | |
CN112463052B (zh) | 减少固态硬盘中ddr容量需求的方法、***、设备及介质 | |
CN116662603B (zh) | 基于kafka的时间轴管控方法、***、电子设备及存储介质 | |
CN112612415B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN110134691B (zh) | 数据校验方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220216 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |