用于并发执行数据库操作的方法技术

技术编号:33339611 阅读:8 留言:0更新日期:2022-05-08 09:24
本公开涉及一种用于在时间窗口期间在数据库系统中执行并发数据库操作的方法。数据库操作被配置为使用数据库系统的存储空间的存储单元。该方法包括:确定将要由至少一个第一数据库操作使用的空闲存储单元的第一使用速度和将要由第二数据库操作使用的空闲存储单元的第二使用速度。第一使用速度和第二使用速度可用于确定在时间窗口期间将要由第二数据库操作使用的空闲存储单元的最大数量。可以根据最大数量,在时间窗口期间执行第二数据库操作。可以执行第一数据库操作,其中,在时间窗口期间执行第一数据库操作被限制在存储空间的存储单元。存储单元。存储单元。

【技术实现步骤摘要】
【国外来华专利技术】用于并发执行数据库操作的方法


[0001]本专利技术涉及数字计算机系统领域,更具体地,涉及一种用于在数据库系统中执行并发数据库操作的方法。

技术介绍

[0002]租户可以在文件系统中分配与其他租户共享的空间。该分配可对不能使用该空间的租户有影响,即使该空间不再被第一租户使用。因此,可能需要执行释放空闲空间的过程。例如,如果租户丢弃空间的数据库中的表,则所分配的空间必须被释放回文件系统。系统可能不自动释放该所分配的空间,并且需要执行某些命令/语句来触发它。然而,释放过程的执行可能引起与使用空间的其他并发运行的工作负载的冲突。这对于像批量加载那样的在非常短的时间窗口中需要许多新页面的大量操作而言变得甚至更加关键。

技术实现思路

[0003]各种实施例提供了一种用于在数据库系统执行并发数据库操作的方法、计算机系统和计算机程序产品,如独立权利要求的主题所描述的。在从属权利要求中描述了有利的实施例。如果本专利技术的实施例不是相互排斥的,则它们可以彼此自由地组合。
[0004]在一个方面,本专利技术涉及一种用于在时间窗口期间在数据库系统中执行并发数据库操作的方法,所述数据库操作被配置为使用所述数据库系统的存储空间的存储单元。该方法包括:确定将要由至少一个第一数据库操作使用的空闲存储单元的第一使用速度和将要由第二数据库操作使用的空闲存储单元的第二使用速度;使用第一和第二使用速度来确定在时间窗口期间将要由第二数据库操作使用的空闲存储单元的最大数量;根据最大数量,在时间窗口期间执行第二数据库操作;执行第一数据库操作,在时间窗口期间执行第一数据库操作被限制在存储空间的存储单元。
[0005]在另一个方面,本专利技术涉及一种用于在时间窗口期间在数据库系统中执行并发数据库操作的计算机系统,所述数据库操作被配置为使用所述数据库系统的存储空间的存储单元。该计算机系统被配置用于:确定将要由至少一个第一数据库操作使用的空闲存储单元的第一使用速度和将要由第二数据库操作使用的空闲存储单元的第二使用速度;使用第一和第二使用速度来确定在时间窗口期间将要由第二数据库操作使用的空闲存储单元的最大数量;根据最大数量,在时间窗口期间执行第二数据库操作;执行第一数据库操作,在时间窗口期间执行第一数据库操作被限制在存储空间的存储单元。
[0006]在另一个方面,本专利技术涉及一种计算机程序产品,其包括计算机可读存储介质,该计算机可读存储介质具有随其体现的计算机可读程序代码,该计算机可读程序代码被配置为实现根据前述实施例的方法的所有步骤。
[0007]并发数据库操作可以被配置为使用存储空间的相应数量的空闲存储单元。例如,第一数据库操作可以被配置为在时间窗口期间使用N1个空闲存储单元,并且第二数据库操作可以被配置为在时间窗口期间使用N2个空闲存储单元。N1个空闲存储单元的至少一部分
可以是在时间窗口期间创建的空闲页面。那些所创建的空闲页面可以被称为中间空闲页面,其可以在时间窗口期间由第一数据库操作使用。第一数据库操作可涉及删除操作,该删除操作创建中间空闲存储单元以便由第一数据库操作的其它请求使用。如果在时间窗口期间,存储空间包括少于N2+N1个空闲存储单元,则第一数据库操作可以仅能够使用少于所需的N1个空闲存储单元。本主题可以通过设置可由第二数据库操作使用的空闲存储单元的最大数量来防止这种情况。因此,本主题可以使得能够有效地使用数据库系统的不同租户之间的可用存储。本主题可优化共享存储资源的数据库操作的执行。
[0008]取决于存储空间中的数据库操作的类型,本主题可以防止严重的碎片化。例如,第一数据库操作可包括将数据插入存储空间的批量加载,而该存储空间的大小可通过第二数据库操作来减小。采用本主题,可以避免空间回收与批量加载之间的冲突。这可以防止性能降级(例如,它可以防止刚释放的空间必须被重新分配用于存储空间),并且可以防止批量加载的故障。
附图说明
[0009]在下面,仅通过示例,参考附图更详细地解释本专利技术的实施例,其中:
[0010]图1描绘数据处理系统的图。
[0011]图2是根据本公开的示例的用于在数据库系统中执行并发数据库操作的方法的流程图。
[0012]图3是用于确定可由与另一个数据库操作并发运行的数据库操作使用的空闲存储单元的最大数量的方法的流程图。
[0013]图4是用于确定可由与另一个数据库操作并发运行的数据库操作使用的空闲存储单元的最大数量的方法的流程图。
[0014]图5表示计算机化的系统,其适于实现如本公开所涉及的一个或多个方法步骤。
具体实施方式
[0015]本专利技术的各种实施例的描述是为了说明的目的而呈现的,而并不旨在穷举或限于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
[0016]数据库系统可以包括一个或多个数据库。这些数据库中的数据库包括存储空间。也就是说,为那些存储空间被分配用于数据库。存储空间可以是可保持数据库的数据库对象下的实际数据的存储位置。存储空间用于为将要被存储在数据库中的数据分配存储空间。存储空间可以是例如页面的集合,诸如文件。存储空间可以是表空间、索引空间或虚拟存储器。存储单元可以例如是页面。数据库操作可以例如使能访问数据库。存储单元可以与指示存储单元的状态的状态值相关联。存储单元可以被配置为包括数据。存储单元的状态指示存储单元是否是空闲存储单元。空闲存储单元是未由数据库操作使用的存储单元。空闲存储单元可以是空的存储单元(例如,它从未被使用),或者包含过去由数据库操作写入的数据,但该数据不再被使用,例如,该数据已在比预定义的最大允许时段更长的时间段内
未被使用。例如,存储单元可以被配置为包括记录。每个记录可以被映射到数据库系统的相应磁盘块。数据记录或者记录是相关数据项(诸如特定用户的姓名、生日和类别)的集合。数据记录代表实体,其中,实体是指其信息被存储在数据记录中的用户、对象或概念。
[0017]数据库操作可以例如由用户的应用发起,或者可以是数据库系统发起的数据库操作。术语“用户”可以是指发起例如用于请求插入数据项的数据库操作的实体,例如个人、计算机或在计算机上执行的应用。第一数据库操作可以例如由用户应用发起。第二数据库操作可以由数据库系统发起。数据库操作可以例如使用存储空间的至少一个页面。使用页面可以例如包括修改页面。修改页面包括在页面中插入一个或多个记录和/或从页面中删除一个或多个记录和/或改变页面中的一个或多个记录和/或改变页面的状态。数据库系统可以包括多个存储空间,其中,多个存储空间中的每个存储空间被分配或指派给相应的一个或多个数据库操作。数据库操作可使用被分配给它的存储空间的存储单元,并且如果在该存储空间中没有存储单元要由数据库操作使用,则数据库操作可请求额外的存储单元的分配。然而,对这种额外的存储单元的请求可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于在时间窗口期间在数据库系统中执行并发数据库操作的方法,所述数据库操作被配置为使用所述数据库系统的存储空间的存储单元,所述方法包括:确定将要由至少一个第一数据库操作使用的空闲存储单元的第一使用速度和将要由第二数据库操作使用的空闲存储单元的第二使用速度;使用所述第一使用速度和所述第二使用速度来确定在所述时间窗口期间将要由所述第二数据库操作使用的空闲存储单元的最大数量;根据所述最大数量,在所述时间窗口期间执行所述第二数据库操作;执行所述第一数据库操作,在所述时间窗口期间执行所述第一数据库操作被限制在所述存储空间的所述存储单元。2.根据权利要求1所述的方法,其中,所述存储单元中的每个存储单元与指示该存储单元是否被分配给所述第一数据库操作和所述第二数据库操作的状态值相关联,所述存储空间包括被分配用于所述第一数据库操作和所述第二数据库操作的存储单元,其中,由所述第二数据库操作使用存储单元包括:改变所述状态值以指示所述存储单元未被分配。3.根据前述权利要求中任一项所述的方法,其中,执行所述确定,以使得所述第一数据库操作在存储单元上被执行,而不请求分配由所述第二数据库操作使用的存储单元。4.根据前述权利要求中任一项所述的方法,还包括:提供根据所述第一使用速度在所述时间窗口期间能够由所述第一数据库操作使用的所述存储空间的空闲存储单元的固定数量,计算第一数量为所述固定数量与所述存储空间的空闲存储单元的总数之间的差,计算根据所述第二使用速度在所述时间窗口期间能够由所述第二数据库操作使用的空闲存储单元的第二数量,其中,所确定的最大数量是所述第一数量和所述第二数量中的最小数量。5.根据权利要求4所述的方法,还包括:提供被配置为包括所述固定数量的空闲存储单元的缓冲器,其中,所述缓冲器被配置为包括不同数量的存储单元。6.根据前述权利要求中任一项所述的方法,还包括:确定总和速度为所述第一使用速度和所述第二使用速度之和;确定所述第二使用速度在所述总和速度中存在的分数;将所述存储空间中的空闲存储单元的总数乘以所述分数,其中,所确定的最大数量是乘法的结果。7.根据前述权利要求中任一项所述的方法,其中,在开始所述第二数据库操作之前开始所述第一数据库操作的执行。8.根据前述权利要求中任一项所述的方法,其中,在开始所述第二数据库操作的同时或之后开始所述第一数据库操作的执行。9.根据前述权利要求中任一项所述的方法,其中,确定空闲...

【专利技术属性】
技术研发人员:P
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1