CN113632074A - 用于数据库迁移的机器学习预测 - Google Patents

用于数据库迁移的机器学习预测 Download PDF

Info

Publication number
CN113632074A
CN113632074A CN202080003756.5A CN202080003756A CN113632074A CN 113632074 A CN113632074 A CN 113632074A CN 202080003756 A CN202080003756 A CN 202080003756A CN 113632074 A CN113632074 A CN 113632074A
Authority
CN
China
Prior art keywords
migration
database
information
machine learning
training data
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.)
Pending
Application number
CN202080003756.5A
Other languages
English (en)
Inventor
M·K·卡瓦斯
S·萨朗吉
S·巴苏
R·博塞
P·P·R·纳塔拉詹
B·L·K·饶
P·雅米妮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
Oracle International Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oracle International Corp filed Critical Oracle International Corp
Publication of CN113632074A publication Critical patent/CN113632074A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Abstract

实施例生成用于数据库迁移的机器学习预测。例如,可以存储已经使用训练数据进行训练的经训练的机器学习模型,其中该训练数据包括用于数据库迁移的迁移信息和用于该数据库迁移的迁移方法,并且该训练数据迁移信息包括源数据库类型和目标数据库基础架构。可以接收包括源数据库类型和目标数据库基础架构的用于候选数据库迁移的迁移信息。使用经训练的机器学习模型,可以基于用于候选数据库迁移的迁移信息来预测迁移方法。

Description

用于数据库迁移的机器学习预测
技术领域
本公开的实施例一般地涉及用于数据库迁移的机器学习预测。
背景技术
计算和连接设备的激增已经生成了需要管理的大量数据。随着数据规模的增长,与高效地管理数据相关的技术挑战已经变得更加复杂。例如,从一个实施方式到下一个实施方式的数据迁移(诸如从本地实施方式到基于云的实施方式)通常依赖于专家的知识。另外,考虑到数据服务的组织依赖性,在迁移期间对数据库可用性的要求可能难以满足。因此,高效的数据库迁移技术可以改进数据管理系统。
发明内容
本公开的实施例一般地针对用于生成用于数据库迁移的机器学习预测的系统和方法。可以存储已使用训练数据进行训练的经训练的机器学习模型,其中该训练数据包括用于数据库迁移的迁移信息和用于该数据库迁移的迁移方法,并且训练数据迁移信息包括源数据库类型和目标数据库基础架构。可以接收包括源数据库类型和目标数据库基础架构的用于候选数据库迁移的迁移信息。使用经训练的机器学习模型,可以基于用于候选数据库迁移的迁移信息来预测迁移方法。
实施例的特征和优点在下面的描述中被阐述,或将从描述中变得清楚,或可以通过本公开的实践而被学习。
附图说明
通过下面结合附图对优选实施例的详细描述,更多的实施例、细节、优点和修改将变得清楚。
图1示出根据示例实施例的用于生成用于数据库迁移的机器学习预测的系统。
图2示出根据示例实施例的可操作地耦合至预测系统的计算设备的框图。
图3示出根据示例实施例的预测系统。
图4示出根据示例实施例的用于接收反馈以改进机器学习模型的系统。
图5示出根据示例实施例的用于生成用于数据库迁移的机器学习预测的流程图。
图6示出根据示例实施例的用于接收反馈以改进机器学习模型的流程图。
具体实施方式
实施例使用经训练的机器学习模型来预测用于数据库迁移的迁移技术。例如,可以使用多个不同技术和技术组合(诸如数据库复制、克隆、可插拔数据库实施方式和其他技术)来实现数据库迁移,诸如从本地计算设备到云计算系统的迁移。基于用于迁移的环境(诸如源数据库实施方式/类型、目标数据库基础架构、停机时间准则、带宽准则和其他环境),这些数据库迁移技术中的一些可能比其他数据库迁移技术更有效。例如,专家通常可以基于经验来选择迁移技术。
实施例使用经训练的机器学习模型以基于给定迁移的环境来预测数据库迁移技术。例如,训练数据可以包括用于数据库迁移的信息和用于实现该迁移的技术(例如,考虑到迁移的环境而被认为成功的技术)。该训练数据可被用于训练机器学习模型,其中该训练可配置该模型学习数据中的趋势。如此,经训练的模型可以有效地预测迁移技术,考虑到数据库迁移的环境集,该迁移技术将是有效的。换言之,可以将候选数据库迁移馈入经训练的机器学习模型,并且可以基于在训练数据内的学习到的趋势来生成对迁移技术的预测。
现在将详细参考本公开的实施例,其示例在附图中被示出。在下面的详细描述中,阐述了众多具体细节以便提供对本公开的透彻理解。然而,对于本领域的普通技术人员将清楚的是,可以在没有这些具体细节的情况下实践本公开。在其他情况下,没有详细描述众所周知的方法、过程、组件和电路,以免不必要地使实施例的方面不清楚。在尽可能的情况下,相同的标号将被用于相同的元素。
图1示出根据示例实施例的用于数据库迁移的机器学习预测的系统。系统100包括用户设备102、迁移信息的提交104、储存库106、脚本执行和提交108、云系统110、服务器112、机器学习组件114和数据集116。例如,系统100可以被用于预测用于将源数据库迁移到目标数据库的迁移技术。用于将源数据库迁移到目标数据库的迁移信息可以由用户提交(由迁移信息的提交104来表示)和/或可以由脚本自动检索并提交(由脚本执行和提交108来表示)。在一些实施例中,用户设备102可以是实现用于迁移的源数据库的任何合适的计算设备或者是实现用于迁移的源数据库的系统的一部分的任何合适的计算设备。
在一些实施例中,迁移信息的提交104可以包括用户人工录入迁移信息(例如,录入电子表格、web表单、渐进式web应用等)。该提交可以被传送到云系统110。在一些实施例中,脚本执行和提交108可以包括被配置为从源系统/源数据库中检索迁移信息的脚本(或任何其他形式的代码,诸如可执行代码)的执行。例如,脚本可以从储存库106(例如,Github或任何其他储存库)中被检索,并在源系统/源数据库上被执行。该脚本可以检索关于源数据库和实现该源数据库的源系统的迁移信息。脚本执行和提交108可以包括生成具有迁移信息的有效负载或文档,并将其传送到云系统110。
在一些实施例中,可以与脚本执行和提交108一起实现迁移信息的提交104。例如,脚本的执行可以生成关于源数据库和源系统的迁移信息,然而其他迁移信息(例如,目标数据库基础架构、带宽准则、停机时间准则等)可以被人工录入,或者由脚本生成的迁移信息可以通过人工录入来被覆写。在一些实施例中,脚本可以被配置为提示用户附加的迁移信息。例如,脚本执行和提交108可以包括用户提示和某些条迁移信息(例如,目标数据库基础架构、带宽准则、停机时间准则等)的人工录入。在该实施例中,由脚本生成并被传送到云系统110的有效负载或文档包括关于源系统/数据库的检索到的信息以及人工录入的附加的迁移信息。
在一些实施例中,云系统110可以向服务器112提交请求。例如,该请求可以针对基于所包括的迁移信息(在云系统110处接收的)而推荐或预测的迁移技术。具体地,该迁移信息描述了迁移的环境,并且该请求可以针对基于历史迁移信息(例如,数据集116)而生成的迁移技术预测。在一些实施例中,在云系统110、服务器112、机器学习组件114或流程中的任何其他点处,将该迁移信息转换为机器可读格式(例如,通过客户端代码、客户端脚本、执行以生成迁移信息的脚本等)。例如,该转换可以是将迁移信息表示为二进制(例如,0和1)或其他合适的机器可读代码(诸如十六进制)的机器可读数据。可以使用预定的转换技术来执行转换,该预定的转换技术将迁移信息转化为对应的机器可读数据。
在一些实施例中,迁移信息(例如,以机器可读格式,诸如二进制)被传送到机器学习组件114。例如,通过使用数据集116(例如,训练数据),机器学习模型114可以被训练以基于迁移信息集(考虑到迁移信息集的输入)来预测数据库迁移技术,该迁移信息集表示候选数据库迁移的环境(例如,用于预测的特征)。然后,机器学习模型114可以预测用于由迁移信息代表的候选数据库迁移的迁移技术。这些预测的技术可以被传送到服务器112和云系统110,服务器112和云系统110可以显示结果和/或实现一个或多个预测的迁移技术中的一个或多个。在一些实施例中,可以将预测的技术传送到用户设备102,用户设备102可以类似地显示或实现一个或多个预测的技术中的一个或多个。
图2是根据实施例的计算机服务器/系统210的框图。如图2所示,系统210可以包括总线设备212和/或被配置为在系统210的各个组件(诸如处理器222和存储器214)之间传送信息的其他通信机制。另外,通信设备220可以通过对要通过网络(未示出)从处理器222发送到另一个设备的数据进行编码,并对通过网络从另一个系统接收的数据为处理器222进行解码,来在处理器222和其他设备之间实现连接。
例如,通信设备220可以包括被配置为提供无线网络通信的网络接口卡。可以使用各种无线通信技术,包括红外、无线电、
Figure BDA0002867839590000053
Figure BDA0002867839590000052
Wi-Fi和/或蜂窝通信。可替代地,通信设备220可以被配置为提供(一个或多个)有线网络连接,诸如以太网连接。
处理器222可以包括一个或多个通用或专用处理器,以执行系统210的计算和控制功能。处理器222可以包括单个集成电路(诸如微处理设备),或者可以包括协同工作的多个集成电路设备和/或电路板以实现处理器222的功能。此外,处理器222可以执行存储在存储器214内的计算机程序,诸如操作系统215、迁移预测组件216和其他应用218。
系统210可以包括用于存储信息和由处理器222执行的指令的存储器214。存储器214可以包含用于检索、呈现、修改和存储数据的各种组件。例如,存储器214可以存储在由处理器222执行时提供功能的软件模块。模块可以包括为系统210提供操作系统功能的操作系统215。模块可以包括操作系统215、迁移预测组件216以及其他应用模块218。操作系统215为系统210提供操作系统功能。迁移预测组件216可以提供用于预测数据库迁移技术的系统功能,或者可以进一步提供本公开的任何其他功能。在一些情况下,迁移预测组件216可以被实现为在内存中(in-memory)配置。
非暂态存储器214可以包括可以由处理器222访问的各种计算机可读介质。例如,存储器214可以包括随机存取存储器(“RAM”)、动态RAM(“DRAM”)、静态RAM(“SRAM”)、只读存储器(“ROM”)、闪存、高速缓存存储器和/或任何其他类型的非暂态计算机可读介质的任何组合。
处理器222还经由总线212耦合至显示器224,例如液晶显示器(“LCD”)。键盘226和光标控制设备228(诸如计算机鼠标)还耦合至通信设备212,以使用户能够与系统210对接。
在一些实施例中,系统210可以是较大系统的一部分。因此,系统210可以包括一个或多个附加功能模块218以包括附加功能。其他应用模块218可以包括各种模块,例如
Figure BDA0002867839590000061
企业资源规划(“ERP”)云,和/或嵌入在
Figure BDA0002867839590000062
云中的参与引擎(“EE”),诸如
Figure BDA0002867839590000064
商业智能企业版(“OBIEE”)、
Figure BDA0002867839590000063
数据集成器。数据库217耦合至总线212,以为模块216和218提供集中存储,并存储例如无线设备活动、以及在一些实施例中,存储用户简档、交易历史等。数据库217可以将数据存储在逻辑相关的记录或文件的集成集合中。数据库217可以是操作数据库、分析数据库、数据仓库、分布式数据库、最终用户数据库、外部数据库、导航数据库、内存中数据库、面向文档的数据库、实时数据库、关系数据库、面向对象的数据库、Hadoop分布式文件系统(“HFDS”)或本领域已知的任何其他数据库。
尽管被示为单个系统,但是系统210的功能可以被实现为分布式系统。例如,存储器214和处理器222可以被分布在共同代表系统210的多个不同计算机上。在一个实施例中,系统210可以是设备(例如,智能手机、平板电脑、计算机等)的一部分。
在实施例中,系统210可以与设备分离,并且可以远程地为设备提供所描述的功能。此外,可以不包括系统210的一个或多个组件。例如,对于作为用户或消费者设备的功能,系统210可以是智能手机或其他无线设备,其包括处理器、存储器和显示器,而不包括图2所示的其他组件中的一个或多个组件,并且包括图2中未示出的附加的组件。
图3示出根据示例实施例的预测系统。系统300包括机器学习组件302、训练数据304、输入数据306、预测308和观察到的数据310。在一些实施例中,机器学习组件302可以是包括一个或多个机器学习元素(例如,神经网络、支持向量机、贝叶斯网络、随机森林分类器、梯度增强分类器等)的设计模型。训练数据304可以是能够训练机器学习组件302的任何数据集(例如,具有对应标签的特征集,诸如用于有监督的学习的标签数据)。在一些实施例中,训练数据304可以被用于训练机器学习组件302以生成经训练的机器学习模型。
在一些实施例中,图1的机器学习模型114可以与图3的机器学习组件302类似,并且图1的数据集116可以与图3的训练数据304类似。例如,可以将经训练的机器学习模型配置为预测用于源到目标数据库迁移的迁移技术。在一些实施例中,训练数据304可以包括迁移信息的实例(例如,用于迁移的迁移信息的各个实例)和对应的标签,其包括用于执行迁移的迁移技术(例如,用于迁移信息的各个实例的迁移技术)。因此,由训练数据304的实施例所训练的机器学习组件302针对给定的候选数据库迁移所生成的预测308可以是一个或多个迁移技术(例如,克隆、复制、灾难恢复切换、可插拔数据库等)。
在一些实施例中,预测的迁移技术(或预测的技术的一部分)可以被用于执行候选数据库迁移。在实现数据库迁移后,可以确定预测的迁移技术的有效性,诸如对停机时间准则、带宽准则、定时准则等的服从性。可以检索关于预测的迁移技术的反馈(例如,在图3中被代表为观察到的数据310),并且可以对该反馈进行处理以更新训练数据304。
机器学习组件302的设计可以包括任何合适的机器学习模型组件(例如,神经网络、支持向量机、专用回归模型、随机森林分类器、梯度增强分类器等)。例如,可以将神经网络与给定的成本函数一起实现(例如,用于训练/梯度计算)。该神经网络可以包括任何数量的隐层(例如0、1、2、3或更多),并且可以包括前馈神经网络、递归神经网络、卷积神经网络、模块化神经网络以及任何其他合适的类型。在一些实施例中,神经网络可以被配置为例如基于所实现的隐层的数量用于深度学习。在一些示例中,可以类似地实现贝叶斯网络或其他类型的有监督的学习模型。
例如,在一些情况下,支持向量机可以与一个或多个内核(例如,高斯内核、线性内核等)一起被实现。在一些实施例中,可以实现k最近邻(“KNN”)算法。例如,KNN算法可以确定候选数据库迁移(例如,由输入306代表)与训练数据304的实例之间的距离,并且可以确定相对于该距离的一个或多个“最近邻”(邻(neighbor)的数量可以基于针对K选择的值)。然后可以基于距这些“最近邻”实例的距离来生成预测308。
在一些实施例中,机器学习组件302可以包括集成学习(ensemble learning)模型。例如,机器学习组件302可以包括随机森林分类器,该随机森林分类器包括多个机器学习组件,该多个机器学习组件的预测被组合。随机森林分类器的实施方式包括由训练数据304(例如,每个树使用训练数据的子集)训练的决策树。然后,随机森林算法可以聚合来自这些决策树的投票以获得预测。
在一些实施例中,机器学习模型302可以包括梯度增强学习算法,诸如XGBoost。梯度增强算法可以类似地利用具有使用训练数据304训练的多个决策树的集成学习技术,然而梯度增强算法可以按顺序排列决策树。在该实施方式中,序列中后期的树将学习根据早期决策树生成的预测来“纠正”错误。梯度增强学习算法聚合由各个决策树生成的预测以生成预测308。可以使用对树的节点进行分割的递归分割算法(例如,递归二进制分割)或任何其他合适的训练技术来训练各个决策树。
在一些实施例中,机器学习组件302可以是堆叠的多个模型,例如第一模型的输出馈入第二模型的输入。一些实施方式可以包括预测模型的多个层。在一些实施例中,机器学习组件302的特征也可以被确定。例如,特征工程可以被用于生成由一个或多个机器学习模型实现的特征集。
在一些实施例中,机器学习组件302的设计可以在训练、重新训练和/或更新训练的期间被调整。例如,调整可以包括调节神经网络中的隐层的数量,调节用于实现支持向量机的核计算等。该调整还可以包括调节/选择机器学习模型使用的特征。实施例包括在训练时实现各种调整配置(例如,机器学习模型和特征的不同版本),以便获得用于机器学习组件302的配置,该配置在被训练时实现期望的性能(例如,以期望的准确水平执行预测,根据期望的资源利用/时间指标来运行等)。
在一些实施例中,重新训练和更新机器学习模型的训练可以包括使用更新的训练数据来训练模型。例如,可以更新训练数据以合并观察到的数据,或者以其他方式被打标签的数据(例如,用于与有监督的学习一起使用)。
在一些实施例中,机器学习组件302可以包括无监督学习组件。例如,可以实现一个或多个聚类算法(诸如层次聚类、k均值聚类等),或无监督神经网络(诸如无监督自动编码器)。在该示例中,可以将数据库迁移信息和迁移技术(对应于由迁移信息表示的环境)输入到无监督学习组件以学习数据的各个方面,诸如将特征与迁移技术相关的聚类。基于学习到的关系,可以生成表示用于候选数据库迁移的迁移技术的预测308(例如,基于包括表示候选数据库迁移的特征的输入306)。
实施例基于迁移环境(诸如网络带宽、停机时间考虑和目标数据库)来预测迁移技术。机器学习能力使实施例能够连续地从实际迁移经验中学习以微调预测。在许多常规实施方式中,数据库迁移过程涉及依靠在迁移技术方面有经验的数据库专家(例如基于他们在其他迁移中的经验)。因此,不能依赖一群有经验的数据库专家的数据库迁移通常挣扎着进行高效的迁移。
此外,数据库的迁移选项在本质上通常是众多的,并且在特定迁移场景中对讨论中的技术的理解通常可能是必须的。例如,可能需要召集信息技术团队来理解每个数据库的当前占用空间,整理完整的信息,然后根据经验决定可行的迁移路径是什么。在许多情况下,观察到了规划的数据库迁移方式与实际经验之间的显著差距。这些差距将迁移项目置于过度风险,并削弱了组织将生产工作负载移至云的信心。
实施例通过实现开发整体迁移预测器的妥善的处理方法来解决多个这些迁移场景问题,该整体迁移预测器随着技术前景的改变而连续学习并演进。在一些实施例中,可以训练机器学习组件以从数据库专家的丰富经验中学习。例如,可以对选择的一批有经验的数据库专家的集体专长进行整理以生成数据集/数据表,该数据集/数据表可以结合迁移场景和相关联的迁移技术来获得高效的解决方案。随后,可以基于观察到的迁移经验来更新该数据集,并使用机器学习模型提供反馈,该机器学习模型可以摄取(ingest)实际迁移结果并从这些结果中获取智能(intelligence)。
在一些实施例中,源数据库细节、迁移信息和机器学习模型可以被用于基于从有经验的数据库专家根据实时迁移的输入中创建的数据集来预测高效的迁移路径。例如,实施例可以包括检索迁移信息、使用经训练的机器学习模型来预测迁移技术以及收集反馈以优化机器学习模型。
返回参考图1,用于将源数据库迁移到目标数据库的迁移信息可以由用户提交(由迁移信息的提交104来表示)和/或可以由脚本自动检索并提交(由脚本执行和提交108来表示)。
示例迁移信息可以包括:
源DB版本–源DB系统的数据库版本
平台–字节序(Endian)格式,大或小,或其他平台系列
OS平台–32或64位,OS平台(例如Linux)或其他操作系统信息
多租户划分(Multi-tenant Compartment)–源DB是否启用CDB,12c或以上等
NLS兼容性–源和目标是否具有相同的国家语言支持(“NLS”)
数据库大小–以GB为单位的源数据库大小
示例数据库大小:
小型DB[SDB](小于500G)
中型DB[MDB](大小为500G至2TB)
大型DB[LDB](2TB至10TB)
VLDB[VLDB](大于10TB)
网络/带宽-可用于在源和目标之间传输数据的网络带宽。
目标DB基础架构-将在其中运行DB的目标云基础架构
示例选项:IaaS,PaaS/Exacs
目标DB版本–目标平台上的数据库版本(相同/升级的版本)
允许的停机时间–用于迁移的允许的总停机时间
允许的停机时间可以被分为以下几类:
低停机时间[LDT](10分钟至3小时)
中等停机时间[HDT](3小时至24小时)
停机时间不受约束[DNC]
在一些实施例中,可以经由用户和/或通过配置的脚本来获得用于候选数据库迁移的迁移信息。例如,可以通过图1的迁移信息的提交104和/或脚本执行和提交108来获得迁移信息。在一些实施例中,迁移信息的提交104可以包括由用户人工录入迁移信息(例如,录入电子表格、Web表单、渐进式Web应用等),诸如所公开的示例迁移信息。例如,用户可以访问网页(例如,由云系统100实现)并以web表单提供迁移信息。在另一个示例中,用户可以填充文档(例如,电子表格、格式化的数据文档等)并将该文档上载到例如云系统100。
在一些实施例中,脚本执行和提交108可以包括被配置为从源系统/源数据库中检索迁移信息的脚本(或任何其他形式的代码,诸如可执行代码)的执行。例如,脚本可以从储存库106(例如,Github或任何其他储存库)中被检索,并在源系统/源数据库上被执行。该脚本可以检索关于源数据库和实现该源数据库的源系统的迁移信息。例如,可以经由执行被配置为检索这样的信息的脚本从源数据库和源系统中获得与源数据库或源环境相关的以上迁移信息(例如,源数据库版本、平台、OS平台、多租户划分、源数据库大小等)。脚本执行和提交108可以包括生成具有迁移信息的有效负载或文档,并将其传送到云系统110(例如,上载)。
在一些实施例中,储存库106可以提供服务(例如,用于下载代码或脚本)。例如,储存库106可以是Github,并且脚本可以从由储存库托管的统一资源定位符(“URL”)下载。然后可以将下载的脚本传送到要被评估的源服务器/机器/系统。换言之,该脚本可以被传送到源的组件,其询问提供与候选数据库迁移相关的迁移信息(例如,托管源数据库的机器)。在一些实施例中,脚本可以作为管理员和/或数据库所有者执行。该脚本可以生成具有相关迁移信息的输出文件。例如,输出文件可以包括源系统和数据库迁移信息、目标迁移信息、迁移准则(例如,停机时间、带宽、定时)等。在一些实施例中,输出文件可以是二进制格式文件。然后可以将输出文件传送到相关源侧的系统/计算设备,然后这些系统/计算设备可以将输出文件上载到云系统100。
在一些实施例中,迁移信息的提交104可以与脚本执行和提交108一起被实现。例如,脚本的执行可以生成关于源数据库和源系统的迁移信息(如本文所公开),然而其他迁移信息可以是人工录入的(例如,目标数据库基础架构、带宽准则、停机时间准则等),或者由脚本生成的迁移信息可以通过人工录入来覆写。在一些实施例中,该脚本可以被配置为提示用户输入附加迁移信息。例如,脚本执行和提交108可以包括用户提示和某些条迁移信息(例如,目标数据库基础架构、带宽准则、停机时间准则等)的人工录入。在该实施例中,由脚本生成并被传送到云系统110的有效负载或文档包括关于源系统/数据库的检索到的信息以及人工录入的附加迁移信息。
在一些实施例中,迁移信息可以被转换为机器可读格式。例如,可以在云系统110、服务器112、机器学习组件114或流程中的任何其他点处将迁移信息从第一格式(例如,人类可读格式或字母数字)转换为机器可读格式(例如,二进制、十进制、十六进制等)(例如,通过客户端代码,客户端脚本,该脚本被执行以生成迁移信息等)。在一些实施例中,机器可读格式可以是将迁移信息表示为0和1(或与十进制、十六进制或其他机器可读格式一致的其他合适的符号)的机器可读数据,其中可以通过使用预定的转换技术来执行该转换,该预定的转换技术将迁移信息转变为对应的机器可读数据。
例如,可以将针对迁移信息存在的数据值指定为预定的二进制(或其他格式)值。在一些实施例中,迁移信息的每个元素(例如,列)可以具有预定值的封闭集。例如,OS平台可以从可能的源操作系统平台的封闭列表中获取值,CDB可以具有值CDB或非CDB,NLS兼容可以具有值是(Yes)或否(NO),允许的停机时间可以从停机时间的封闭列表中获取值(例如,低、中等、不受约束),网络带宽可以从网络带宽的封闭列表中获取值等。
在一些实施例中,封闭列表实现了用于一条迁移信息的数据值与机器可读值(例如,二进制值)之间预定的对应性。例如,当停机时间具有三个值的封闭列表(例如,低、中等、不受约束)时,针对这些值的预定的二进制映射可以是低停机时间对应010,中等停机时间对应001,而停机时间不受约束对应100。在另一个示例中,封闭列表中的操作系统平台的数量可以是20,并且封闭列表中的这些不同的数据值中的每一个数据值都可以映射为二进制值。
在一些实施例中,可以处理针对一条迁移信息(例如,列)的数据值的封闭列表,以使得该数据值以字典顺序被指定为二进制值。在一些实施例中,可以根据各种技术来过滤每条迁移信息,因此可以基于经处理/经过滤的数据来以字典顺序创建针对每条迁移信息的映射。在一些实施例中,该映射可以创建针对每列值的限定性机器可读值。在给定的实施方式中,该映射可以被固定,从而使输入值能够被转换并馈入到机器学习模型中以生成正确的输出。可以实现其他合适的映射。因此,用于各条迁移信息(例如,列)的数据值的封闭列表使迁移信息能够转换为简化形式,诸如有益于机器学习的机器可读版本。
在一些实施例中,用于各条迁移信息的封闭列表是可扩展的。例如,在新数据值变得对于一条迁移信息(例如,列)可用或可行的情况下,对于该条信息的值的封闭列表可以被扩展。因此,新值可以被添加到封闭列表中,从而创建新实施方式。在一些实施例中,多个新数据值可能生成将一个或多个位(digit)添加到机器可读数值的需要,该机器可读数值表示一条迁移信息的不同的数据值。对于简化的示例,一条迁移信息先前可能只使用两个不同的数据值,该数据值可以由单个的二进制位(例如,0和1)进行编码,并且添加一个或多个新值将需要将一位添加到该二进制数据值(例如,两个二进制位,其可以表示四个值)。在一些实施例中,基于对用于各条迁移信息的可能数据值的改变的新实施方式可以提示对机器学习模型和/或训练数据的改变,诸如训练数据值(例如,字母数字值)和机器可读值(例如,二进制值)之间的新映射、模型的重新训练或更新训练、对模型体系结构的改变等。
在一些实施例中,然后可以将迁移信息的机器可读格式(例如,二进制)馈入机器学习模型114,并且可以基于由机器可读迁移信息表示的迁移环境来生成迁移技术预测。例如,可以使用数据集116来训练机器学习模型114,该数据集116可以包括迁移信息集(例如,训练数据的特征)和对应的迁移技术(例如,训练数据的标签)。在一些实施例中,数据集116可以包括与本文所公开的迁移信息示例(例如,源DB版本、平台、OS平台、源、DB大小、目标DB基础架构、允许的停机时间等)相同的各条信息(例如,列)。在一些实施例中,数据集116还可以包括针对每一列的可能数据值的相同封闭列表。数据集116可以被用于基于数据集内的标签或用于成功实现迁移的迁移技术来训练机器学习模型114。
因此,机器学习模型114可以学习数据集116内的趋势,该趋势将迁移信息(表示用于迁移的环境)与迁移技术相关联。在一些实施例中,可以基于提供给机器学习模型114的迁移信息(用于候选数据库迁移)来生成用于候选数据库迁移的预测迁移技术。
在一些实施例中,数据集116可以表示用于训练机器学习模型114的训练数据,并且该数据集可以被处理为机器可读格式(类似于用于本文所公开的用于转换迁移信息的转换技术)。例如,当用于训练机器学习模型的训练数据类似于输入数据时,机器学习模型可生成用于该输入数据的预测。因此,当机器学习模型114被配置和/或被训练以生成用于迁移信息的机器可读版本的预测时,机器学习模型先前已经使用数据集116的机器可读版本(或者利用数据集116的机器可读版本的无监督模型)来被训练。
在一些实施例中,可以将针对数据集116中各条信息存在的数据值指定为预定的二进制(或其他格式)值。在一些实施例中,数据集116的每个元素(例如,列)可以具有预定值的封闭集,类似于迁移信息。例如,OS平台可以从可能的源操作系统平台的封闭列表中获取值,CDB可以具有值CDB或非CDB,NLS兼容可以具有值是或否,允许的停机时间可以从停机时间的封闭列表(例如,低、中等、不受约束)中获取值,网络带宽可以从网络带宽的封闭列表中获取值等。
在一些实施例中,如以上参考处理迁移信息所述的,封闭列表实现了数据集116的列的数据值与机器可读值(例如,二进制值)之间的预定对应性。在一些实施例中,用于迁移信息的数据值到机器可读格式的映射与数据集116内的数据值到机器可读格式的映射是一致的,因此基于迁移信息(作为输入)生成的预测可以是准确的。例如,当输入到机器学习模型114的迁移信息的经转换的机器可读数据值与数据集116的经转换的机器可读数据值一致时,可以生成利用学习到的数据集116内的趋势的预测。在一些实施例中,对映射的改变是针对转换迁移信息和转换数据集116二者来实现的,以保持一致性。例如,至少因为表示性数据值可能改变,所以对映射的改变可以提示对数据集116的格式的改变,针对数据集116的特定列的数据值的封闭列表可以被扩展,等等。在一些实施例中,机器学习模型114可以被训练、重新训练,或者可以基于对数据集116的改变来执行对训练的更新。
可以利用机器学习来分析大量数据。但是,通常需要时间、资源和诀窍来适当地训练机器学习模型。实施例基于用于候选数据库迁移的迁移信息(例如,用于候选数据库迁移的环境)(诸如源数据库信息、目标基础架构、平台、数据库大小等)来预测迁移技术。这可以被视为分类问题(诸如将电子邮件分类为‘垃圾邮件或不是垃圾邮件’),因此可以利用分类机器学习算法来实现预测。实施例利用了机器学习算法,其中可以使用多个特征来是实现对目标值或值集(例如,迁移技术)的预测。
例如,机器学习模型114的实施例包括一个或多个学习算法。参考图3,机器学习模型114可以包括机器学习组件302。在一些实施例中,机器学习模型114实现随机森林分类器。随机森林分类器算法是集成学习的示例。集成算法是指将多于一种相同或不同种类的算法组合的算法,例如用于预测分类。因为集成学习是基于多个算法的,因此预测结果通常可以获取改进的方差(因此可以避免过度拟合)。当模型在训练数据集中学习细节和噪声到了负面影响在新数据上的模型性能的程度时,会出现过度拟合。换言之,遭受过度拟合的经训练的模型在新数据或尚未被用于训练该模型的数据上的通用化(generalize)是不好的。由于通常期望机器学习模型在新数据上执行良好,因此过度拟合会减少机器预测的实际益处。
示例随机森林分类器可以根据训练数据的子集(例如,随机选择的子集)创建决策树集。然后,该算法可以聚合来自不同决策树的预测或投票以获得最终预测。例如,假设训练集被给出具有特征[X1,X2,X3,X4]。随机森林算法可以从这些特征的子集取得输入而创建三个决策树,例如:
1.[X1,X2,X3]
2.[X1,X2,X4]
3.[X2,X3,X4]
在该示例中,每个树使用来自训练数据中可用的四个特征中的三个特征。然而,训练数据特征通常是众多的,而在一些实施方式中,相对于训练数据中可用的特征,每个树使用少量特征(例如,50%、25%、10%、5%等)。另外,在训练三个决策树时,训练数据的实例也可以被随机选择。例如,训练数据的“m”个实例(每个具有用于精度计算/节点分割的标签)可能在数据集中可用,而每个树可以使用“k”个用于训练的实例,其中k<m(在某些情况下,k<<m)。
然后,该算法可以基于聚合技术(诸如使用来自每个决策树的多数投票)来获得预测。随机森林分类器的参数可以是决策树的总数、决策树相关的参数(例如,树的特征数量、用于分割决策树节点的叶子的数量等)、聚合技术(例如,多数、平均值等)以及其他合适的参数。
在一些实施例中,机器学习模型114实现梯度增强学习算法,诸如XGBoost。诸如梯度增强决策树算法的梯度增强是用于学习的集成方法。类似于随机森林算法,梯度增强利用多个决策树,然而这些树是被顺序构建的,以使得每个后续树都旨在减少前一个树的错误。例如,每个树都可以从其前驱中学习,因此序列中接下来生长的树将从残差(或错误)的更新版本中学习。基学习器(例如,序列中的单个树)通常是偏差高的弱学习器,然而这些弱学习器为下游预测贡献信息。因此,诸如XGBoost的梯度增强算法可以通过有效地组合弱学习器来实现强学习模型。例如,最终的强学习器减少了单个弱学习器树所经历的偏差和方差二者。
在一些实施例中,机器学习模型114实现逻辑回归。逻辑回归也称为logit回归或logit模型,是用于统计中在已经给出一些先前数据的情况下估计事件发生的可能性的数学模型。逻辑回归使用二进制数据,其中要么事件发生(1)要么事件没有发生(0)。逻辑回归是一种线性算法。
在一些实施例中,机器学习模型114实现神经网络。例如,可以使用数据集116(包括用于训练数据的实例的标签)来训练神经网络。基于计算出的损失,可以通过神经网络传播梯度以计算神经网络内神经元的权重。一旦被训练,神经元的权重就可以被用于在考虑输入特征集(例如,迁移信息的机器可读版本)的情况下生成预测。
在一些实施例中,用于完成由机器学习模型114进行的预测的经转换的机器可读数据(例如,经转换的训练数据和经转换的迁移信息或输入)可以被配置为实现改进的结果。例如,一些机器学习模型存在数据荒,因此需要非常大的数据集以实现准确的预测。然而,由于数据库迁移的复杂性、可以用于完成迁移的迁移技术的组合中的高方差、迁移技术的快速发展以及若干其他因素,数据集116的一些实施例(例如,训练数据的实例或行)的大小可能受到限制。因此,机器学习模型114的一些实施例避免深度学习体系结构而支持非深度学习模型。
在一些实施例中,经转换的机器可读数据(例如,经转换的训练数据和经转换的迁移信息或输入)可以被配置为利用对有限数据集有效的机器学习模型的子集来实现成功的预测。例如,每列数据值的封闭列表、数字表示、和数据值的一致性可以使这些机器学习模型更容易地检测有限数据集中的趋势。因此,机器可读数据格式的转换针对一些实施例中使用的环境和机器学习模型而被定制。
实施例预测用于候选数据库迁移的迁移技术。迁移技术可以包括迁移方法、迁移技术、实现用于迁移的功能的一个或多个数据库迁移产品等。在一些实施例中,迁移技术可以使用诸如
Figure BDA0002867839590000182
恢复管理器(RMAN)和
Figure BDA0002867839590000183
数据卫士之类的功能。
RMAN是与
Figure BDA0002867839590000184
数据库集成的工具,其满足高性能、可管理的备份以及恢复的需求。RMAN被设计为在备份和还原期间提供块级损坏检测。RMAN可以通过文件复用和压缩来优化在备份期间的性能和空间消耗,并可以经由所供应的介质管理库(MML)API与备份软件系统一起运行。
RMAN可以将丰富的功能(诸如,在线备份、增量备份、块介质恢复、备份管理任务的自动化以及与第三方介质管理系统的集成)带到数据卫士配置中。RMAN和数据卫士一起使RMAN备份能够被无缝地卸载到物理备用数据库,从而允许客户从他们的灾难恢复投资中得到更多价值。因为备份可以在备用数据库处于恢复或只读模式下被获取,所以备份不会影响正常的数据卫士的运行。备份可以被用于恢复主数据库服务器或备用数据库服务器。数据卫士和RMAN一起提供了可靠且紧密集成的解决方案,以实现改进的数据库可用性水平,从而支持具有高可用性需求的应用。数据卫士和RMAN二者都是
Figure BDA0002867839590000181
数据库企业版的被完全支持的特征(RMAN也与Oracle数据库标准版一起被提供)。
因此,不同的迁移技术可以利用不同的软件功能、计算资源水平、带宽等。使用的迁移技术的组合是基于用于迁移的环境(由迁移信息来表示)的。示例迁移技术可以包括:
恢复管理器(“RMAN”)跨平台增量可传输表空间
·恢复管理器(RMAN)是在数据库上执行备份和恢复任务并自动管理备份策略的数据库客户端。当利用RMAN跨平台增量可传输表空间时,RMAN会将正在传输的数据转变为目标平台的格式(例如,字节序格式)。
·例如,在一些实施方式中,第一步可以是将完全备份从源复制到目的地。然后,通过使用一系列增量备份(每个备份都小于上一个备份),可以使目标系统处的数据与源系统保持几乎同步,从而最小化停机时间。例如,此过程在最终的增量备份和元数据导出/导入期间可能经历停机时间。
从本地(OnPremise)到云基础架构DB系统的混合型数据卫士
·数据卫士启用并自动化对灾难恢复解决方案的管理,诸如用于位于相同园区或横跨大陆的
Figure BDA0002867839590000191
数据库。数据卫士可以包括生产数据库(也称为主数据库)和一个或多个备用数据库,该备用数据库可以是生产数据库的事务性一致副本。
Figure BDA0002867839590000192
Golden Gate实时复制
·
Figure BDA0002867839590000193
GoldenGate是在异构环境中用于实时数据集成和复制的综合软件包。该产品集实现高可用性解决方案、实时数据集成、事务改变数据捕获、数据复制、转换、以及运行企业系统和分析企业系统之间的验证。
从完全备份的RMAN还原和恢复
·
Figure BDA0002867839590000201
恢复管理器(RMAN)为高效备份和恢复数据库提供了综合基础。它被设计为在备份和还原期间提供块级损坏检测。RMAN通过文件复用和备份集压缩来优化备份期间的性能和空间消耗,并与
Figure BDA0002867839590000202
安全备份以及第三方介质管理产品一起集成。
RMAN活动复制
·活动数据库复制可以通过网络将活跃的目标数据库复制到辅助目的地,然后创建复制数据库。当与其他迁移技术比较时,一个差别是不需要有预先存在的RMAN备份和副本。复制工作是通过辅助通道执行的。该通道与辅助主机上的辅助实例上的服务器会话相对应。
MV2OCI:“一键式”将数据移至Oracle云数据库
·移至自主数据库(MV2ADB)是(例如利用
Figure BDA0002867839590000203
数据泵)将数据从“本地”数据库加载到自主数据库云中的工具。数据泵导入可以从数据泵文件(例如驻留在
Figure BDA0002867839590000204
云基础架构对象存储器)中导入数据。在一些实施方式中,可以使用“mv2adb”将数据保存到云对象存储器并加载到自主数据库云。
拔出和插入物理数据库(“PDB”)
·拔出/插入迁移可以被用于将PDB数据库(例如,
Figure BDA0002867839590000205
数据库12c PDB)迁移到PDB数据库(例如,在数据库服务数据库部署上的
Figure BDA0002867839590000206
数据库12c数据库中)。当本地数据库和
Figure BDA0002867839590000207
云基础架构数据库服务数据库具有兼容的数据库字符集和国家字符集时,可以使用此迁移技术。
拔出和插入非容器数据库(“非CDB”)
·拔出/插入迁移可以被用于将非CDB数据库(例如,
Figure BDA0002867839590000208
数据库12c非CDB数据库)迁移到PDB数据库(例如,在数据库服务数据库部署上的
Figure BDA0002867839590000211
数据库12c数据库中)。当本地数据库和
Figure BDA0002867839590000212
云基础架构数据库服务数据库具有兼容的数据库字符集和国家字符集时,可以使用该迁移技术。
远程克隆物理数据库(“PDB”)
·该远程克隆迁移技术可以被用于将PDB从本地数据库(例如,
Figure BDA0002867839590000213
12c数据库)复制到PDB(例如,数据库服务上的
Figure BDA0002867839590000214
数据库12c数据库中)。当数据库服务数据库具有兼容的数据库字符集和国家字符集时,可以使用该迁移技术。
零停机时间(“ZDM”)实用程序
·零停机迁移可以被用于以最小的停机时间来迁移数据库。例如,该实用程序可以例如通过利用诸如
Figure BDA0002867839590000215
活动数据卫士的技术而将本地数据库和
Figure BDA0002867839590000216
云基础架构经典实例迁移到
Figure BDA0002867839590000217
云基础架构,客户处的数据库一体机云、和数据库一体机云服务,而不会造成显著的停机时间。
·零停机时间迁移可以使用诸如以下的机制,将源数据库备份到
Figure BDA0002867839590000218
云基础架构对象存储器、在目标环境中从备份创建备用数据库(具有
Figure BDA0002867839590000219
数据卫士最大性能保护模式和异步(ASYNC)重做传输模式)、同步源数据库和目标数据库、以及切换到目标数据库作为主数据库。
·零停机时间迁移可以在数据库迁移完成之后启用回退功能。切换后,目标数据库(例如,在
Figure BDA00028678395900002110
云基础架构、客户处的数据库一体机云、或数据库一体机云服务中运行)可以变为主数据库,而本地数据库可以变为备用数据库。零停机时间迁移还可以支持脱机(备份和恢复)迁移。
远程克隆(非CDB)
·远程克隆(非CDB)可以被用于将非CDB数据库(例如,
Figure BDA0002867839590000221
数据库12c非CDB本地数据库)复制到PDB数据库(例如,数据库服务上的
Figure BDA0002867839590000222
数据库12c数据库中的PDB)。
·如果本地数据库和数据库服务数据库具有兼容的数据库字符集和国家字符集,则可以使用远程克隆(非CDB)。
数据泵常规导出导入
·数据泵常规导出导入可以被用于将本地源数据库、表空间、模式(schema)或表迁移到数据库服务数据库部署上的数据库。
数据泵完全可传输
·数据泵完全可传输迁移技术可以将整个数据库从本地主机复制到数据库服务数据库部署上的数据库。
数据泵可传输表空间
·因为包含实际数据的数据文件只是简单地被复制到目的地位置,所以可传输表空间迁移技术一般地比相同数据的常规导出/导入更快。数据泵可以被用于将表空间对象的元数据传输到新数据库。
·当本地数据库的数据库字符集与
Figure BDA0002867839590000223
云基础架构数据库服务数据库的数据库字符集兼容时,可以使用可传输表空间迁移技术。
用于PDB的RMAN活动复制
·活动数据库复制可以通过网络将活跃的目标数据库复制到辅助目的地,然后创建复制数据库。与其他迁移技术的差别在于,不需要预先存在的RMAN备份和副本。复制工作可以通过辅助通道执行。该通道与辅助主机上的辅助实例上的服务器会话相对应。可以使用RMAN DUPLICATE命令并使用PLUGGABLE DATABASE子句来复制可插拔数据库。
RMAN跨平台可传输PDB
·当本地数据库的数据库字符集和数据库服务数据库的数据库字符集兼容时,可以使用RMAN跨平台可传输PDB。
RMAN跨平台可传输表空间(“TTS”)备份集
·当本地数据库的数据库字符集和数据库服务数据库的数据库字符集兼容且操作系统兼容(例如,在分离的字节序上)时,可以使用RMAN跨平台可移动表空间备份集。例如,可以使用RMAN跨平台可传输备份集方法将
Figure BDA0002867839590000231
数据库12c本地表空间迁移到数据库服务部署上的
Figure BDA0002867839590000232
数据库12c数据库。
使用数据泵的RMAN可传输表空间
·当本地数据库的数据库字符集和数据库服务数据库的数据库字符集兼容时,可以使用使用数据泵的RMAN可传输表空间。
·根据数据泵可传输表空间迁移技术所要求的,可以将使用数据泵的RMAN可传输表空间用于消除在只读模式下放置表空间。
该迁移技术可以被用于将本地源数据库迁移到数据库服务上的数据库部署。
使用数据泵的RMAN转变可传输表空间
·该迁移技术类似于数据泵可传输表空间技术,添加了RMANCONVERT命令以实现不同的平台(例如,字节序实施方式)之间的传输。查询V$TRANSPORTABLE_PLATFORM可以被用于确定本地数据库平台是否支持跨平台表空间传输并且确定平台的字节序格式。
可刷新的PDB切换
·可刷新PDB切换可以被用于切换源PDB和可刷新PDB的角色。
数据库配置助手(“DBCA”)PDB克隆
·由多租户容器数据库(CDB)中的可插拔数据库(PDB)来表示的
Figure BDA0002867839590000241
多租户体系结构通用于
Figure BDA0002867839590000242
数据库部署。DBCA PDB克隆是基于数据库配置助手(DBCA)的功能,该功能实现基于GUI的PDB克隆,例如创建多个PDB。PDB克隆可以有助于大量创建相同的PDB,用于测试和开发目的。
也可以使用其他合适的迁移技术。各种迁移技术可能在某些迁移环境中是合适的,例如基于用于源和目标的平台、资源可用性、停机时间约束、成本和其他因素。例如,混合使用这些迁移技术可以通过减小成本、增加资源效率、减小开销、遵守停机时间约束以及一般地通过提供与迁移的特定环境相对应的迁移服务水平来优化迁移。实施例利用从迁移的数据集(例如,训练数据)中学习到的趋势来预测哪些迁移技术适合特定的候选迁移,从而提供优化的迁移体验。
在一些实施例中,预测的迁移方法可以被用于完成数据库迁移。例如,可以复制数据库、可以将灾难恢复数据库利用于迁移、可以移动表空间、可以实现所公开的任何或许多迁移技术,并且可以实现任何其他合适的迁移技术以完成数据库迁移。换言之,在一些实施例中,可以使用预测的迁移技术来物理地完成从源系统到目标系统的数据库迁移。
在一些实施例中,关于预测的迁移技术中的一个或多个迁移技术的反馈(或者一般地关于候选数据库迁移的执行的反馈)可以被用于改进机器学习预测的有效性。图4示出根据示例实施例的用于接收反馈以改进机器学习模型的系统。系统400包括用户设备402、反馈提交404、云系统406、服务器408、反馈存储器410、反馈处理412和数据集414。例如,用户设备402可以被用于向云系统406提供反馈404。在一些实施例中,可以提供关于数据库迁移的执行的反馈,例如通过在网页上输入信息(例如,使用web表格)、在渐进式web应用上输入信息、上载文档(例如,电子表格或数据文档)或通过其他合适的方式以向云系统406提供反馈。
在一些实施例中,反馈可以包括关于定时(例如,源数据库到目标的迁移时间)、停机时间(例如,数据库不可用的时间量)、带宽(例如,数据使用)、准则服从性(例如,停机时间准则、带宽准则服从性等)、工作时间(例如,人工解决问题所需的小时数)等的信息。在一些实施例中,通过反馈来提供用于给定数据库迁移的迁移信息。例如,反馈可以反映出用于候选数据库迁移的预测的迁移技术被实现了,并报告预测的迁移技术是否满足候选数据库迁移的约束。在一些实施例中,该反馈可以指示从定时和计算资源视角来看,预测的迁移技术执行良好,但是对于迁移的环境而言成本过高。在一些实施例中,基于人类专家的分析(该分析认为预测的迁移技术不会执行良好),该反馈可以指示预测的迁移技术被替换为另一种迁移技术。在一些实施例中,反馈可以被传送到服务器408。反馈存储器410可以随着时间存储对于各种数据库迁移的反馈。
在一些实施例中,可以处理所存储的反馈(例如,在满足诸如时间段或接收到的反馈量的准则之后)。反馈处理412可以包括处理反馈以生成训练数据的实例(例如,行),这些训练数据的实例包括用于给定数据库迁移的迁移信息和用于成功执行迁移的迁移方法。在一些实施例中,可以审查反馈以确定迁移是否成功,以及因此是否应该添加训练数据的实例。例如,在所执行的迁移不满足停机时间准则的情况下,该反馈可以被丢弃而不是被添加到训练数据。反馈可以指示是否满足停机时间准则和其他迁移准则(例如,持续时间准则、工作时间准则),并且在一些实施例中,当反馈指示已经满足迁移标准时迁移可以被认为是成功的。在一些实施例中,与使用不满足迁移准则的迁移技术的迁移相关的反馈可以被用于更新训练数据。
在一些实施例中,可以利用经处理的反馈来更新数据集414。例如,数据集414可以包括具有迁移信息和用于执行迁移的迁移技术的实例的训练数据。在反馈指示成功迁移(例如,满足停机时间准则、定时准则、工作时间准则)的情况下,可以处理该反馈以生成训练数据的实例并更新数据集414。在一些实施例中,在反馈指示迁移没有满足某些迁移准则的情况下,数据集414可以被修剪掉类似的迁移信息和迁移技术的实例。例如,距离指标可以被用于计算没有满足准则的迁移与训练数据的实例之间的距离,并且可以从数据集414中修剪掉导致距离指标低于阈值准则的一个或多个训练数据的实例。
在一些实施例中,可以随着时间存储关于没有满足准则的迁移的反馈,并且当一定数量的类似的迁移指示没有满足准则时,可以发生对数据集414的修剪。例如,距离指标可以指示迁移之间的类似性。可以针对收到指示没有满足一个或多个迁移准则的反馈的迁移集来计算距离指标,并且可以在计算的距离低于阈值的情况下发现类似的迁移。当根据存储的反馈没有满足一个或多个准则的类似的迁移的数量超过阈值数(或满足一些其他反馈准则)时,数据集414可以被修剪掉类似的迁移。在一些实施例中,修剪包括从数据集414移除一些(不是全部)类似的迁移。
合并反馈的实施例捕获实际迁移结果以增强用于预测迁移技术的机器学习模型。这导致了连续的学习处理,其可以确保预测的迁移技术在长期内将继续成功。换言之,可以合并新的迁移技术和迁移准则(例如,约束),并在算法中校准它们的效果。预测数据库迁移技术的实施例是灵活且鲁棒的,其中可以随着时间添加新的技术、迁移准则或迁移信息,并且在改变的环境下可以继续生成成功的预测。
图5示出根据示例实施例的用于生成用于数据库迁移的机器学习预测的流程图。在一个实施例中,图5(和以下的图6)的功能由存储在存储器或其他计算机可读或有形介质中的软件来实现,并由处理器执行。在其他实施例中,每个功能可以由硬件(例如,通过使用专用集成电路(“ASIC”)、可编程门阵列(“PGA”)、现场可编程门阵列(“FPGA”)等)、或硬件和软件的任何组合来执行。
在502处,可以使用训练数据来训练机器学习模型,其中该训练数据包括用于多个数据库迁移的迁移信息和用于该多个数据库迁移的迁移方法,并且该迁移信息包括源数据库类型和目标数据库基础架构。例如,机器学习模型可以包括神经网络、随机森林分类器、增强梯度算法、回归形式或任何其他合适的机器学习模型。机器学习模型可以使用集成的学习形式,该集成的学习形式聚合来自多个机器学习组件的预测。
在一些实施例中,训练数据包括用于给定数据库迁移的迁移信息和用于给定数据库迁移的迁移方法的实例,该迁移方法是用于训练数据的标签。迁移方法可以包括数据库复制、可插拔数据库实施方式、灾难恢复切换、数据库克隆以及数据泵常规导出和导入中的一个或多个。在一些实施例中,来自训练数据的用于数据库迁移的迁移信息包括源数据库大小、带宽准则和停机时间准则。
在504处,可以在实现源数据库的计算设备上执行脚本,以生成用于候选数据库迁移的数据库迁移信息。例如,可以在源系统上下载并执行被配置为从源系统(例如,托管源数据库的计算设备)检索源迁移信息的脚本。
在506处,可以接收用于候选数据库迁移的迁移信息。例如,迁移信息可以由所执行的脚本生成。在一些实施例中,迁移信息可以由用户录入(例如,在网页上、在渐进式web应用上、或者在执行脚本时)或由用户上载。在一些实施例中,通过执行脚本以检索源系统信息和由用户人工输入两者来生成迁移信息。
在一些实施例中,可以将接收的迁移信息转换为机器可读形式(例如,二进制或十六进制)。例如,预定的转换技术可以被用于生成接收的迁移信息的机器可读版本。在一些实施例中,用于候选数据库迁移的迁移信息可以被转换为机器可读格式,其中可以基于用于迁移信息的数据值的封闭列表,使用预定的映射将迁移信息映射到机器可读格式数据。
在508处,可以基于迁移信息使用经训练的机器学习模型来预测用于候选数据库迁移的迁移方法。例如,可以对机器学习模型进行训练以学习训练数据的实例的数据集内的趋势,其中这些实例将迁移信息与迁移方法相关联。基于这些学习到的趋势,经训练的机器学习模型可以使用接收的迁移信息来预测用于候选数据库迁移的迁移方法。在一些实施例中,经训练的机器学习模型被馈入经转换的迁移信息或迁移信息的机器可读版本(例如,二进制)以生成预测。
在一些实施例中,机器学习模型包括集成机器学习模型,该集成机器学习模型聚合来自经训练的机器学习模型集的多个预测。例如,迁移信息包括迁移特征集,该迁移特征集可以被分割成多个迁移特征的子集,并且该经训练的机器学习模型集被配置为接收迁移特征的子集并生成多个预测。在一些实施例中,机器学习模型集被配置为接收不同迁移特征集以生成预测。
图6示出根据示例实施例的用于接收反馈以改进机器学习模型的流程图。在602处,接收包括与用于候选数据库迁移的预测的迁移方法相关联的迁移结果的反馈信息。反馈信息可以包括迁移的结果(例如,持续时间、停机时间、停机时间准则服从性、持续时间准则服从性、工作时间等)和用于完成候选迁移的迁移方法或技术。例如,反馈可以反映出预测的迁移方法被实施了,并报告预测的迁移方法是否满足迁移的约束。在一些实施例中,该反馈可以指示从定时和计算资源视角来看,预测的迁移方法执行良好,但是对于迁移的环境而言成本过高。在一些实施例中,基于人类专家的分析(该分析认为预测的迁移方法不会执行良好),该反馈可以预测的迁移方法被替换为另一种迁移方法。
在604处,可以随着时间接收关于使用各种迁移方法的多个迁移的反馈信息。例如,反馈可以包括用于迁移的迁移信息以及用于实现迁移的迁移方法。在一些实施例中,反馈信息指示所使用的迁移方法是否成功。用于多个迁移的反馈可以类似于用于候选数据库迁移的反馈。
在606处,可以处理用于候选数据库迁移的反馈信息以生成训练数据的实例。例如,当用于候选数据库迁移的反馈信息指示其满足迁移准则(例如,停机时间准则、持续时间准则、工作时间准则)时,可以将该迁移方法视为针对与候选数据库迁移相对应的迁移信息的成功。因此,可以处理用于候选数据库迁移的迁移信息和迁移方法以生成训练数据的实例。
在一些实施例中,可以处理用于数据库迁移的多个反馈。例如,在反馈指示服从用于迁移集的迁移准则的情况下,可以处理用于该集合内的迁移的迁移信息和迁移方法以生成训练数据的实例。在一些实施例中,当提供的反馈指示迁移没有满足迁移准则时,不添加训练数据的实例。
在608处,可以利用使用经处理的反馈生成的训练数据的实例来更新训练数据。在610处,可以使用经更新的训练数据来重新训练机器学习模型。
实施例使用经训练的机器学习模型来预测用于数据库迁移的迁移技术。例如,可以使用多个不同技术和技术组合(诸如数据库复制、克隆、可插拔数据库实施方式和其他技术)来实现数据库迁移,诸如从本地计算设备到云计算系统的迁移。基于用于迁移的环境(诸如源数据库实施方式/类型、目标数据库基础架构、停机时间准则、带宽准则和其他环境),这些数据库迁移技术中的一些可能比其他数据库迁移技术更有效。例如,专家通常可以基于经验来选择迁移技术。
实施例使用经训练的机器学习模型以基于给定迁移的环境来预测数据库迁移技术。例如,训练数据可以包括用于数据库迁移的信息和用于实现该迁移的技术(例如,考虑到迁移的环境而被认为成功的技术)。该训练数据可被用于训练机器学习模型,其中该训练可配置该模型学习数据中的趋势。如此,经训练的模型可以有效地预测迁移技术,考虑到数据库迁移的环境集,该迁移技术将是有效的。换言之,可以将候选数据库迁移馈入经训练的机器学习模型,并且可以基于在训练数据内的学习到的趋势来生成对迁移技术的预测。
在整个说明书中描述的本公开的特征,结构或特性可以在一个或多个实施例中以任何合适的方式组合。例如,在整个说明书中,“一个实施例”、“一些实施例”、“某个实施例”、“某些实施例”或其他类似语言的使用指的是以下事实,即结合实施例描述的特定特征、结构或特性可以被包括在本公开的至少一个实施例中。因此,在整个说明书中,短语“一个实施例”、“一些实施例”、“某个实施例”、“某些实施例”或其他类似语言的出现不一定全都指的是相同组的实施例,并且可以以任何合适的方式在一个或多个实施例中组合所描述的特征、结构或特性。
本领域的普通技术人员将容易地理解,可以通过以不同顺序的步骤和/或以与所公开的配置不同的配置的元素来实践如上所述的实施例。因此,尽管本公开考虑了概述的实施例,但是对于本领域技术人员而言清楚的是,某些修改、变化和替代构造将是清楚的,同时保留在本公开的精神和范围内。因此,为了确定本公开的界限,应参考所附权利要求书。

Claims (20)

1.一种用于生成用于数据库迁移的机器学习预测的方法,所述方法包括:
存储已经使用训练数据进行训练的经训练的机器学习模型,其中,所述训练数据包括用于多个数据库迁移的迁移信息和用于所述多个数据库迁移的迁移方法,并且训练数据迁移信息包括源数据库类型和目标数据库基础架构;
接收用于候选数据库迁移的迁移信息,用于所述候选数据库迁移的迁移信息包括源数据库类型和目标数据库基础架构;以及
使用经训练的机器学习模型,基于用于所述候选数据库迁移的迁移信息来预测迁移方法。
2.根据权利要求1所述的方法,其中,所述训练数据包括用于给定数据库迁移的迁移信息和用于所述给定数据库迁移的迁移方法的实例,所述迁移方法包括用于所述训练数据的标签。
3.根据权利要求2所述的方法,其中,所述迁移方法包括数据库复制、可插拔数据库实施方式、灾难恢复切换、数据库克隆、以及数据泵常规导出和导入中的一个或多个。
4.根据权利要求1所述的方法,其中,候选数据库迁移信息是由在实现所述源数据库的计算设备上执行的脚本生成的。
5.根据权利要求1所述的方法,其中,用于所述多个数据库迁移的迁移信息和用于所述候选数据库迁移的迁移信息包括源数据库大小、带宽准则和停机时间准则。
6.根据权利要求1所述的方法,还包括:
接收反馈信息,所述反馈信息包括与用于所述候选数据库迁移的预测的迁移方法相关联的迁移结果;
处理所述反馈信息以生成训练数据的实例;
基于数据库迁移、用于数据库迁移的迁移方法以及包括与用于数据库迁移的迁移方法相关联的结果的反馈信息,生成经更新的训练数据,所述经更新的训练数据包括经处理的反馈信息和多个附加的经处理的反馈信息;以及
使用所述经更新的训练数据重新训练所述机器学习模型。
7.根据权利要求1所述的方法,其中,所述机器学习模型包括集成机器学习模型,所述集成机器学习模型聚合来自经训练的机器学习模型集的多个预测。
8.根据权利要求7所述的方法,其中,用于所述训练数据的迁移信息包括迁移特征集,所述迁移特征集被分割成多个迁移特征的子集,并且所述经训练的机器学习模型集被配置为接收迁移特征的子集并生成所述多个预测。
9.根据权利要求8所述的方法,其中,所述机器学习模型集被配置为接收不同的迁移特征集以生成预测。
10.根据权利要求1所述的方法,还包括:
将候选数据库迁移信息转换为机器可读格式,其中,基于用于候选数据库迁移信息的数据值的封闭列表,使用预定的映射将候选数据库迁移信息映射到机器可读格式数据;以及
使用所述经训练的机器学习模型,基于经转换的迁移信息来预测用于所述候选数据库迁移的迁移方法。
11.一种非暂态计算机可读介质,其上存储有指令,所述指令当由处理器执行时,使所述处理器生成用于数据库迁移的机器学习预测,其中,所述指令在被执行时使所述处理器:
存储已使用训练数据进行训练的经训练的机器学习模型,其中,所述训练数据包括用于多个数据库迁移的迁移信息和用于所述多个数据库迁移的迁移方法,并且用于所述训练数据的所述迁移信息包括源数据库类型和目标数据库基础架构;
接收用于候选数据库迁移的迁移信息,用于候选数据库迁移的迁移信息包括源数据库类型和目标数据库基础架构;以及
使用所述经训练的机器学习模型,基于用于所述候选数据库迁移的迁移信息来预测迁移方法。
12.根据权利要求11所述的计算机可读介质,其中,所述训练数据包括用于给定数据库迁移的迁移信息和用于所述给定数据库迁移的迁移方法的实例,所述迁移方法包括用于所述训练数据的标签。
13.如权利要求12所述的计算机可读介质,其中,所述迁移方法包括数据库复制、可插拔数据库实施方式、灾难恢复切换、数据库克隆、以及数据泵常规导出和导入中的一个或多个。
14.根据权利要求11所述的计算机可读介质,其中,候选数据库迁移信息是由在实现所述源数据库的计算设备上执行的脚本生成的。
15.如权利要求11所述的计算机可读介质,其中,所述指令当被执行时,使所述处理器:
接收反馈信息,所述反馈信息包括与用于所述候选数据库迁移的预测的迁移方法相关联的迁移结果;
处理所述反馈信息以生成训练数据的实例;
基于数据库迁移、用于数据库迁移的迁移方法以及包括与用于数据库迁移的迁移方法相关联的结果的反馈信息,生成经更新的训练数据,所述经更新的训练数据包括经处理的反馈信息和多个附加的经处理的反馈信息;以及
使用所述经更新的训练数据重新训练所述机器学习模型。
16.根据权利要求11所述的计算机可读介质,其中,所述机器学习模型包括集成机器学习模型,所述集成机器学习模型聚合来自经训练的机器学习模型集的多个预测。
17.根据权利要求16所述的计算机可读介质,其中,训练数据迁移信息包括迁移特征集,所述迁移特征集被分割成多个迁移特征的子集,并且所述经训练的机器学习模型集被配置为接收所述迁移特征的子集并生成所述多个预测。
18.根据权利要求17所述的计算机可读介质,其中,所述机器学习模型集被配置为接收不同的迁移特征集以生成预测。
19.根据权利要求11所述的计算机可读介质,还包括:
将候选数据库迁移信息转换为机器可读格式,其中,基于用于候选数据库迁移信息的数据值的封闭列表,使用预定的映射将候选数据库迁移信息映射到机器可读格式数据;以及
使用经训练的机器学习模型,基于经转换的迁移信息来预测用于所述候选数据库迁移的迁移方法。
20.一种用于生成用于数据库迁移的机器学习预测的系统,所述系统包括:
处理器;以及
存储器,存储由所述处理器执行的指令,所述指令将所述处理器配置为:
存储已经使用训练数据进行训练的经训练的机器学习模型,其中,所述训练数据包括用于多个数据库迁移的迁移信息和用于所述多个数据库迁移的迁移方法,并且训练数据迁移信息包括源数据库类型和目标数据库基础架构;
接收用于候选数据库迁移的迁移信息,用于所述候选数据库迁移的迁移信息包括源数据库类型和目标数据库基础架构;以及
使用所述经训练的机器学习模型,基于用于所述候选数据库迁移的迁移信息来预测迁移方法。
CN202080003756.5A 2020-01-31 2020-05-11 用于数据库迁移的机器学习预测 Pending CN113632074A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/778,370 2020-01-31
US16/778,370 US11741380B2 (en) 2020-01-31 2020-01-31 Machine learning predictions for database migrations
PCT/US2020/032318 WO2021154321A1 (en) 2020-01-31 2020-05-11 Machine learning predictions for database migrations

Publications (1)

Publication Number Publication Date
CN113632074A true CN113632074A (zh) 2021-11-09

Family

ID=72050914

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080003756.5A Pending CN113632074A (zh) 2020-01-31 2020-05-11 用于数据库迁移的机器学习预测

Country Status (5)

Country Link
US (1) US11741380B2 (zh)
EP (1) EP4097600A1 (zh)
JP (1) JP2023524323A (zh)
CN (1) CN113632074A (zh)
WO (1) WO2021154321A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11915153B2 (en) * 2020-05-04 2024-02-27 Dell Products, L.P. Workload-oriented prediction of response times of storage systems
US11568317B2 (en) * 2020-05-21 2023-01-31 Paypal, Inc. Enhanced gradient boosting tree for risk and fraud modeling
US20210406276A1 (en) * 2020-06-26 2021-12-30 Bank Of America Corporation System for automated data lineage and movement detection
US11874851B2 (en) * 2021-05-27 2024-01-16 EMC IP Holding Company LLC Contextual replication profile creation based on data criticality
US20230033806A1 (en) * 2021-07-30 2023-02-02 Oracle International Corporation Data guard at pdb (pluggable database) level
US11816346B2 (en) * 2021-09-29 2023-11-14 Dell Products, L.P. Method and apparatus for planning and coordinating block data migration between disparate storage systems
CN113835685B (zh) * 2021-11-26 2022-02-18 之江实验室 一种基于拟态数据库的网络操作系统设计方法
US20230289276A1 (en) * 2022-03-14 2023-09-14 International Business Machines Corporation Intelligently optimized machine learning models
US20230350915A1 (en) * 2022-04-27 2023-11-02 Salesforce, Inc. Application behavior based customer data migration
CN115563088B (zh) * 2022-12-08 2023-07-25 广东睿江云计算股份有限公司 不同类型的数据库的数据迁移方法及迁移系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150019197A1 (en) * 2013-07-09 2015-01-15 Oracle International Corporation Database modeling and analysis
CN109886422A (zh) * 2019-02-01 2019-06-14 深圳绿米联创科技有限公司 模型配置方法、装置、电子设备及可读取存储介质
CN110400169A (zh) * 2019-07-02 2019-11-01 阿里巴巴集团控股有限公司 一种信息推送方法、装置及设备
US20200005136A1 (en) * 2018-06-29 2020-01-02 Microsoft Technology Licensing, Llc Framework for providing recommendations for migration of a database to a cloud computing system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8346819B2 (en) * 2008-12-22 2013-01-01 Sap Ag Enhanced data conversion framework
JP4990322B2 (ja) * 2009-05-13 2012-08-01 株式会社日立製作所 データ移動管理装置及び情報処理システム
WO2012046328A1 (ja) * 2010-10-07 2012-04-12 株式会社日立製作所 マイグレーション先の決定を支援する方法及び管理システム
US20130085742A1 (en) 2011-10-04 2013-04-04 Nec Laboratories America, Inc. Service level agreement-aware migration for multitenant database platforms
US9172587B2 (en) * 2012-10-22 2015-10-27 International Business Machines Corporation Providing automated quality-of-service (‘QoS’) for virtual machine migration across a shared data center network
US9703811B2 (en) 2014-06-14 2017-07-11 Accenture Global Services Limited Assessing database migrations to cloud computing systems
US9612765B2 (en) 2014-11-19 2017-04-04 International Business Machines Corporation Context aware dynamic composition of migration plans to cloud
WO2016094330A2 (en) 2014-12-08 2016-06-16 20/20 Genesystems, Inc Methods and machine learning systems for predicting the liklihood or risk of having cancer
US10162559B2 (en) 2016-09-09 2018-12-25 Veritas Technologies Llc Systems and methods for performing live migrations of software containers
US10747585B2 (en) 2017-05-26 2020-08-18 Vmware Inc. Methods and apparatus to perform data migration in a distributed environment
US11269822B2 (en) * 2017-10-09 2022-03-08 Sap Se Generation of automated data migration model
US10853116B2 (en) * 2018-07-19 2020-12-01 Vmware, Inc. Machine learning prediction of virtual computing instance transfer performance
US11610094B2 (en) * 2019-09-30 2023-03-21 Microsoft Technology Licensing, Llc Entity pyramid embeddings
US20210192496A1 (en) * 2019-12-18 2021-06-24 Paypal, Inc. Digital wallet reward optimization using reverse-engineering

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150019197A1 (en) * 2013-07-09 2015-01-15 Oracle International Corporation Database modeling and analysis
US20200005136A1 (en) * 2018-06-29 2020-01-02 Microsoft Technology Licensing, Llc Framework for providing recommendations for migration of a database to a cloud computing system
CN109886422A (zh) * 2019-02-01 2019-06-14 深圳绿米联创科技有限公司 模型配置方法、装置、电子设备及可读取存储介质
CN110400169A (zh) * 2019-07-02 2019-11-01 阿里巴巴集团控股有限公司 一种信息推送方法、装置及设备

Also Published As

Publication number Publication date
US20210241131A1 (en) 2021-08-05
US11741380B2 (en) 2023-08-29
WO2021154321A1 (en) 2021-08-05
EP4097600A1 (en) 2022-12-07
JP2023524323A (ja) 2023-06-12

Similar Documents

Publication Publication Date Title
US11741380B2 (en) Machine learning predictions for database migrations
CN111966684B (zh) 用于分布式数据集索引的装置、方法和计算机程序产品
US11151479B2 (en) Automated computer-based model development, deployment, and management
US20210406717A1 (en) Enabling efficient machine learning model inference using adaptive sampling for autonomous database services
US9934260B2 (en) Streamlined analytic model training and scoring system
Aiello et al. Machine Learning with R and H2O
US11663481B2 (en) Neural network architecture pruning
Landry Machine Learning with R and H2O
US11106694B1 (en) Computerized pipelines for transforming input data into data structures compatible with models
Aiello et al. Fast scalable R with H20
KR102569185B1 (ko) 데이터 레이크 이관을 위한 인공지능 기반 자동화 시스템을 이용한 데이터 레이크 이관 방법
US11829735B2 (en) Artificial intelligence (AI) framework to identify object-relational mapping issues in real-time
US20230376743A1 (en) Trace representation learning
US11983632B2 (en) Generating and utilizing pruned neural networks
Li et al. HFML: heterogeneous hierarchical federated mutual learning on non-IID data
US20230124988A1 (en) Data quality using artificial intelligence
US20230018525A1 (en) Artificial Intelligence (AI) Framework to Identify Object-Relational Mapping Issues in Real-Time
US20210081838A1 (en) Data transformation in ingestion processes via workflows utilizing sequences of atomic functions
Laptev Support for Scalable Analytics over Databases and Data-Streams

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