在目标数据库系统中应用改变技术方案

技术编号:38707852 阅读:10 留言:0更新日期:2023-09-08 14:48
在用于动态地选择用于目标数据库系统中的每个改变的应用算法的方法中,处理器提供至少两个应用算法以用于将改变应用于目标数据库系统中的表。处理器针对至少两个应用算法中的每个应用算法,确定每个应用算法的、针对由相应的应用算法应用于该表的改变大小的性能行为。处理器接收用于将改变应用与该表的数据改变请求。处理器确定表的改变的大小。处理器基于每个应用算法的性能行为选择至少两个应用算法中的、提供针对该大小的最佳性能的一个应用算法。处理器使用为所选择的提供针对该大小的最佳性能的应用算法来将该改变应用于该表。表。表。

【技术实现步骤摘要】
【国外来华专利技术】在目标数据库系统中应用改变

技术介绍

[0001]本专利技术涉及数据库系统领域,并且更具体地,涉及提供用于动态地选择用于在目标数据库系统中应用改变的应用算法的方法。
[0002]复制是在多于一个位置中维持定义的数据集的过程。它可以涉及将指定的改变从一个源位置复制到目标位置,并且使两个位置中的数据同步。源和目标可以在分布式网络中的相同机器或不同机器上的逻辑服务器中。存在用于将数据从一个系统移动到另一系统的若干方法。然而,这些方法可能需要进一步改进。

技术实现思路

[0003]本专利技术的实施例的各方面公开了一种用于动态地选择要用于将改变应用于目标数据库系统的应用算法的计算机实现的方法、计算机程序产品和计算机系统。如果本专利技术的实施例不相互排斥,则它们可以彼此自由组合。
[0004]处理器提供用于将改变应用于目标数据库系统的多个应用算法。处理器针对所提供的应用算法中的每个应用算法,确定应用算法的、针对由应用算法应用于目标数据库系统的表的不同的改变大小的性能行为。处理器接收用于将改变应用与表的数据改变请求。处理器确定对表的所请求改变的大小。处理器使用所确定的性能行为来选择应用算法中的、提供针对所确定的大小的最佳性能的一个应用算法。处理器使用所选择的应用算法将所请求的改变应用于所述表。
附图说明
[0005]图1示出了根据本专利技术实施例的数据处理系统。
[0006]图2是根据本专利技术实施例的用于在目标数据库系统中应用改变的方法的流程图。
[0007]图3是根据本专利技术实施例的用于在目标数据库系统中应用改变的方法的流程图。
[0008]图4是根据本专利技术实施例的用于在目标数据库系统中应用改变的方法的流程图。
[0009]图5是根据本专利技术实施例的用于在目标数据库系统中应用改变的方法的流程图。
[0010]图6A是根据本专利技术的实施例的用于确定应用算法的性能行为的方法的流程图。
[0011]图6B是根据本专利技术的实施例的用于确定应用算法的性能行为的方法的流程图。
[0012]图6C是示出根据本专利技术的实施例的应用算法的性能行为的曲线。
[0013]图7表示适于实现根据本专利技术的实施例的一个或多个方法步骤的计算机化系统。
具体实施方式
[0014]本专利技术的不同实施例的描述将出于说明的目的而呈现,但并不旨在是详尽的或限于所公开的实施例。在不脱离所描述的实施例的范围的情况下,许多修改和改变对于本领域普通技术人员来说是显而易见的。这里使用的术语被选择来最好地解释实施例的原理、实际应用或对在市场中找到的技术的技术改进,或者使得本领域普通技术人员能够理解这里公开的实施例。
[0015]目标数据库系统可以是数据分析系统的一部分。数据分析系统包括目标数据库系统和源数据库系统。数据分析系统可以例如是数据仓储系统或主数据管理系统。该数据分析系统可以实现数据仓储、主数据管理或使用源和目标数据库系统的另一种技术,其中,该目标数据库系统包括目标数据库,该目标数据库被配置成用于接收/包括该源数据库系统的相应源数据库的内容的副本。源数据库系统可以经由连接来连接至目标数据库系统。该连接例如可以是TCP/IP连接或者经由源数据库系统和目标数据库系统之间的连接实现数据通信的另一连接。源数据库系统可以例如是事务引擎,并且目标数据库系统可以是分析引擎。例如,源数据库系统可以是在线事务处理(OLTP)系统,目标数据库系统可以是在线分析处理(OLAP)系统。源数据库系统可以包括源数据集,并且目标数据库系统可以包括目标数据集。源数据集可以是源数据库的一部分,并且目标数据集可以是目标数据库的一部分。源和目标数据集可按相同或不同的格式存储。格式可以在加密、压缩、面向行的存储对面向列的存储等方面不同。例如,源数据集可以以面向行的格式来存储,目标数据集可以以面向列的格式来存储,即,目标数据集可以按列而不是按行来存储。源数据集的内容可通过一个或多个数据库事务而改变。
[0016]数据分析系统可以被配置来将发生在源数据库系统的源表中的改变复制到目标数据库系统,使得所述改变可以被应用于对应于源表的目标数据库系统的目标表上。应用改变可以例如包括在目标数据库系统的一个或多个表中插入一个或多个记录、更新一个或多个记录、和/或删除一个或多个记录。数据记录或表的记录是相关数据项的集合,诸如特定用户的姓名、出生日期和类别。记录表示实体,其中,实体是指关于其信息被存储在记录中的用户、对象或概念。为此,可以提供多个应用算法(其还可以被称为更新策略),其中每个应用算法指定要执行的复制操作的序列,以便将改变应用于目标数据库系统。例如,应用算法可以包括基于增量加载的算法和基于批量加载的算法。例如,基于增量加载的算法可要求日志记录的每个记录改变在目标数据库系统中单独应用。增量基于加载的算法对小数据集尤其有利,因为大块的开销可能高。基于批量加载的应用算法可例如要求将日志记录的所记录改变分段成批。然后可以经由批量加载接口将那些批次应用于目标数据库系统。基于批量加载的应用算法可以有利地用于大数据集。然而,设置批量加载的开销可能过高,并且不应当花费在仅由几行组成的小尺寸块中。
[0017]所以,取决于要在目标数据库系统上应用的改变,应用算法可以具有不同的性能。然而,准确并以系统方式选择合适的算法可能不是直截了当的动作。本专利技术可以通过提供用于动态地选择用于每次改变的应用算法的最优和有效的方法来解决该问题。该方法在时间方面可以是高效的,因为它可节省否则将不适当的应用算法所需的附加时间。该方法可以是最优的,因为这些决策可以基于准确和最新的性能行为。
[0018]每个应用算法的性能行为例如可以由数据结构来表示。该数据结构可以包括数据点p1,p2…
p
N
(N≥2),其中,每个数据点p
i
(i=1,...N)包括改变大小s
i
值和m(m≥1)个性能参数值该数目N可以反映改变的数目。在一个示例中,数量N可以是基于时间的,例如,数量N可以是由最后两小时内的所有操作引起的改变的数量。例如,数据点p1可被定义为数据点p2可被定义为等等。例如,如果性能参数的数量是1,即m=1,数据结构可以是二维结构。二维结构的数据点可以限定二维空间,该二维
空间可以例如由两个轴的曲线表示,一个轴与改变的大小相关联并且另一个轴与性能参数的值相关联。例如,如果性能参数的数量是2个(即,m=2),则数据结构可以是三维结构。三维结构的数据点可以定义三维空间,三维空间例如可以由三个轴的立方体来表示,一个轴与改变的大小相关联,而另外两个轴分别与性能参数的值相关联。由此,数据结构的数据点可以定义(m+1)维空间。在接收到在目标数据库系统中应用改变的新请求时,所请求的改变的大小s
t
例如可用于在(m+1)维空间中找到不同的最近点,并且选择与那些最近点中的为该大小s
t
提供最佳性能的一个相关联的应用算法。不同的最近点意味着每个最近点与各自的不同的应用算法程序相关联。性能参数的值可以例如取决于列的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种计算机实现的方法,包括:由一个或多个处理器提供至少两个应用算法,所述至少两个应用算法用于将改变应用于目标数据库系统中的表;由所述一个或多个处理器针对所述至少两个应用算法中的每个应用算法来确定每个应用算法的、针对由相应的所述应用算法应用于所述表的改变大小的性能行为;由所述一个或多个处理器接收用于将改变应用于所述表的数据改变请求;由一个或多个处理器确定对所述表的所述改变的大小;由所述一个或多个处理器基于每个应用算法的所述性能行为来选择所述至少两个应用算法中的、提供针对所述大小的最佳性能的一个应用算法;以及由所述一个或多个处理器使用所选择的提供针对所述大小的所述最佳性能的所述应用算法来将所述改变应用于所述表。2.根据权利要求1所述的计算机实现的方法,其中将所述改变应用于所述表还包括:由所述一个或多个处理器通过将所述改变应用于所述表来评估所选择的所述应用算法的性能;以及由所述一个或多个处理器使用所选择的所述应用算法的所述性能和所述表的所述大小来更新所选择的所述应用算法的所述性能行为。3.根据权利要求2所述的计算机实现的方法,还包括:由所述一个或多个处理器针对所述表的每个接收到的数据改变请求来重复所述确定所述大小、所述选择、以及所述应用;以及由所述一个或多个处理器动态地更新所述表的所述性能行为。4.根据权利要求1所述的计算机实现的方法,还包括:由所述一个或多个处理器确定针对所述目标数据库系统中的每个另外的表的相应的所述性能行为,从而引起所述目标数据库系统中的每个表与相应的性能行为相关联;以及由所述一个或多个处理器使用与所述目标数据库系统中的特定表相关联的所述性能行为,针对所述特定表的每个接收到的数据改变请求来重复所述确定所述大小、所述选择和所述应用。5.根据权利要求1所述的计算机实现的方法,其中确定每个应用算法的所述性能行为包括:由所述一个或多个处理器将相应的所述应用算法执行预定义数目N次,以用于分别将数据改变应用于所述表,其中每个所应用的数据改变具有大小;由所述一个或多个处理器针对所述数据改变中的每个数据改变评估指示所述应用算法的所述执行的性能的至少一个性能参数;以及由所述一个或多个处理器提供表示所述性能行为的N个数据点的数据结构,其中每个数据点指示所述至少一个性能参数和所述数据改变的相关联大小。6.根据权利要求5所述的计算机实现的方法,还包括:其中所述预定数目N小于可配置的最大执行数目;以及由所述一个或多个处理器通过使用所述N个数据点的内插来构建所述数据结构中的新数据点。7.根据权利要求5所述的计算机实现的方法,其中所述性能参数选自由执行时间和存
储器使用量组成的组。8.根据权利要求1所述的计算机实现的方法,其中所述改变的所述大小包括以下至少一项:待插入的记录的数目、待删除的记录的数目、以及待更新的记录的数目。9.根据权利要求1所述的计算机实现的方法,其中选择所述应用算法包括:由所述一个或多个处理器确定两个应用算法的针对所述大小的性能是否相似;以及响应于确定两个应用算法的针对所述大小的所述性能相似,由所述一个或多个处理器选择所述两个应用算法中的任一应用算法。10.根据权利要求1所述的计算机实现的方法,其中所选择的所述应用算法选自由基于记录批量加载的应用和基于单独记录加载的应用组成的组。11.根据权利要求1所述的计算机实现的方法,还包括:由所述一个或多个处理器提供源数据库系统中与所述表相关联的源表,其中所述源数据库系统和所述目标数据库系统被配置为在彼此之间同步数据;并且其中所述数据改变请求响应于所述数据改变被应用于所述源表而被接收,由此复制所述数据改变。12.一种计算机程序产品,包括:一个或多个计算机可读存储介质以及被共同存储在所述一个或多个计算机可读存储介质上的程序指令,所存储的所述程序指令包括:用于提供至少两个应用算法的程序指令,所述至少两个应用算法用于将改变应用于目标数据库系统中的表;用于针对所述至少两个应用算法中的每个应用算法来确定每个应用算法的、针对由相应的所述应用算法应用于所述表的改变大小的性能行为的程序指令...

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

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

1