CN114064606A - 数据库迁移方法、装置、设备、存储介质和系统 - Google Patents
数据库迁移方法、装置、设备、存储介质和系统 Download PDFInfo
- Publication number
- CN114064606A CN114064606A CN202111177175.6A CN202111177175A CN114064606A CN 114064606 A CN114064606 A CN 114064606A CN 202111177175 A CN202111177175 A CN 202111177175A CN 114064606 A CN114064606 A CN 114064606A
- Authority
- CN
- China
- Prior art keywords
- source database
- database
- information
- determining
- feature
- 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
Links
- 238000013508 migration Methods 0.000 title claims abstract description 54
- 230000005012 migration Effects 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000011156 evaluation Methods 0.000 claims description 23
- 239000000969 carrier Substances 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000019771 cognition Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种数据库迁移方法、装置、设备、存储介质和系统,该方法包括:采集源数据库的元信息;根据所述元信息确定源数据库的多种特征标签;根据所述多种特征标签确定源数据库的画像信息;根据所述画像信息确定目标数据库,以将源数据库迁移到目标数据库。通过对源数据库进行自动的画像分析,可以从很多维度来综合、准确地刻画源数据库,画像结果作为目标数据库的选择依据,能够使得选择出的目标数据库与源数据库更加匹配,更适宜用作源数据库的迁移对象。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据库迁移方法、装置、设备、存储介质和系统。
背景技术
当用户想要使用新的数据库系统时,便需要进行数据库迁移,即将源数据库中数据迁移到目标数据库中。
在数据库迁移过程中,通常分为迁移可行性分析,迁移实施,迁移验收几个阶段。其中,在迁移可行性分析阶段,通常是人工分析,导致对于使用和管理数据库经验不足的用户,无法得到客观准备的评估结果,进而影响目标数据库的选择。
发明内容
本发明实施例提供一种数据库迁移方法、装置、设备、存储介质和系统,用以选择与源数据库更加匹配的目标数据库来完成数据库迁移。
第一方面,本发明实施例提供一种数据库迁移方法,所述方法包括:
采集源数据库的元信息;
根据所述元信息确定所述源数据库的多种特征标签;
根据所述多种特征标签确定所述源数据库的画像信息;
根据所述画像信息确定目标数据库,以将所述源数据库迁移到所述目标数据库。
第二方面,本发明实施例提供一种数据库迁移装置,所述装置包括:
采集模块,用于采集源数据库的元信息;
确定模块,用于根据所述元信息确定所述源数据库的多种特征标签;根据所述多种特征标签确定所述源数据库的画像信息;
迁移模块,用于根据所述画像信息确定目标数据库,以将所述源数据库迁移到所述目标数据库。
第三方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第一方面所述的数据库迁移方法。
第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如第一方面所述的数据库迁移方法。
第五方面,本发明实施例提供了一种计算机程序产品,包括:计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述处理器执行如第一方面所述的数据库迁移方法。
第六方面,本发明实施例提供了一种用于数据库迁移的数据库画像系统,包括:
源数据库以及用于对所述源数据库进行画像的电子设备,所述电子设备中包括信息采集单元、智能引擎单元、画像单元和决策单元;
所述信息采集单元,用于采集所述源数据库的元信息;
所述智能引擎单元,用于根据所述元信息确定所述源数据库的多种特征标签;
所述画像单元,用于根据所述多种特征标签确定所述源数据库的画像信息;
所述决策单元,用于根据所述画像信息确定目标数据库,以将所述源数据库迁移到所述目标数据库。
在本发明实施例提供的方案中,在进行源数据库的迁移过程中,首先,采集源数据库的元信息,比如源数据库的结构信息、运行状态相关信息、容量相关信息,等等。之后,基于源数据库的元信息对源数据库进行特征打标处理,得到源数据库的多种特征标签,以根据源数据库的多种特征标签对源数据库进行画像,得到源数据库的画像信息。这样,可以基于源数据库的画像信息确定应该将源数据库迁移到哪种目标数据库更合适,最终,将源数据库迁移到目标数据库。通过对源数据库进行自动的画像分析,可以从很多维度来综合、准确地刻画源数据库,画像结果作为目标数据库的选择依据,能够使得选择出的目标数据库与源数据库更加匹配,更适宜用作源数据库的迁移对象。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据库迁移方法的流程图;
图2为本发明实施例提供的一种数据库画像系统的示意图;
图3为本发明实施例提供的一种数据库画像结果的示意图;
图4为本发明实施例提供的一种语法解析过程的示意图;
图5为本发明实施例提供的一种数据库迁移装置的结构示意图;
图6为与图5所示实施例提供的数据库迁移装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
本发明实施例提供的数据库迁移方法可以由一电子设备来执行,该电子设备可以是诸如PC机、笔记本电脑等终端设备,也可以是服务器。该服务器可以是物理服务器,或者也可以为虚拟服务器,或者是云端的服务器实例。
图1为本发明实施例提供的一种数据库迁移方法的流程图,如图1所示,可以包括如下步骤:
101、采集源数据库的元信息。
102、根据元信息确定源数据库的多种特征标签。
103、根据多种特征标签确定源数据库的画像信息。
104、根据画像信息确定目标数据库,以将源数据库迁移到目标数据库。
本发明实施例提供的数据库迁移方法可以适用于异构数据库的迁移,所谓异构数据库迁移是指不同种类的数据库之间的迁移。比如用户将本地数据库中的数据迁移到云端的另一种数据库中进行存储。
本文中将待迁移的数据库称为源数据库,将数据被迁移到的数据库称为目标数据库。在进行源数据库的迁移过程中,首先,需要选定将源数据库迁移到什么类型的目标数据库中,即进行目标数据库的选择。从选择结果来看,一般地,目标数据库是种类与源数据库不同的数据库,当然,也可以相同。
本发明实施例中,为了能够选出更适合存储源数据库中数据的目标数据库,提供了一种数据库画像系统(该数据库画像系统可以运行在执行本方案的电子设备中),用以对源数据库进行画像。基于对源数据库的画像,可以帮助用户(是指执行数据库迁移操作的实施方)更加清晰、直观地了解待迁移的数据库是什么样的,从而能够帮助用户选出更合适的目标数据库以及制定合适的迁移计划。
为了能够得到源数据库的画像信息,首先,对源数据库进行元信息的采集,得到与源数据库相关的各种元信息,包括源数据库的数据字典,其中包括数据库相关的结构信息,还可以包括源数据库对应的运行状态数据,运行日志数据,等等。之后,将采集的元信息导入到本发明实施例提供的数据库画像系统中,进而,基于在数据库画像系统中设定各种打标规则,根据采集到的元信息对源数据库进行数据打标处理,得到源数据库对应的多种特征标签。可选地,比如可以包括与源数据库的结构相关的标签,与性能相关的标签,以及与容量相关的标签。特征标签确定过程将在下文进行说明。之后,通过综合分析源数据库的各自特征打标结果,便可以得到源数据库的画像信息,最终基于源数据库的画像信息确定用于迁移源数据库的目标数据库。其中,源数据库的画像信息中可以提供包括诸如容量、性能、热点、复杂度、会话、负载、规格等多种维度的评价指标,以实现对源数据库的综合评价。
为更加直观理解确定源数据库的画像的过程,结合图2进行示例性说明。在图2中,用于数据库迁移的数据库画像系统中包括:源数据库以及用于对源数据库进行画像的电子设备,该电子设备中包括信息采集单元、智能引擎单元、画像单元和决策单元。其中,信息采集单元用于采集源数据库的元信息。智能引擎单元用于根据所述元信息确定源数据库的多种特征标签。画像单元用于根据所述多种特征标签确定源数据库的画像信息。决策单元用于根据所述画像信息确定目标数据库。
假设针对源数据库,采集的元信息可以包括数据字典、系统视图、用户对源数据库触发的结构化查询语言(Structured Query Language,简称SQL)语句,等等。
其中,数据字典中可以包括源数据库的结构相关信息,比如源数据库中包含的众多对象的结构信息,结构信息一般通过数据库模式定义语言(Data Definition Language,简称DDL)或过程化SQL(Procedural Language SQL,简称PLSQL)语言来描述。
其中,系统视图中可以包括与源数据库的运行性能相关的数据。用户触发的SQL语句可以记录在源数据库的运行日志中。
之后,如图2中所示,数据库画像系统中包含用于进行数据打标的智能引擎单元,该智能引擎单元中记录了与不同特征对应的打标规则。将采集到的元信息输入到该智能引擎单元后,智能引擎单元确定对不同元信息使用的打标规则,基于确定的打标规则完成相应特征标签的打标处理。
如图2中所示,可选地,特征标签可以包括语法特征标签、场景特征标签、SQL执行性能标签、容量标签,等等。
之后,画像单元可以综合分析上述特征标签的打标结果,以得到源数据库对应的画像信息,其中包括诸如热点、风险、复杂度、规模、负载、会话等维度的评价指标。可选地,针对每个评价指标,可以确定出其对应的分值,分值范围比如设置为[1,5],如图3中所示,图3中示意了一种源数据库的画像结果展示方式,这样用户可以直观地看到源数据库在不同评价指标方面的表现情况。
之后,决策单元基于源数据库的画像信息为用户推荐匹配的目标数据库,比如推荐适宜用作迁移源数据库的目标数据库的类型,比如联机事务处理(on-line transactionprocessing,简称OLTP)、联机分析处理(On-Line Analytical Processing,简称OLAP)、混合事务和分析处理(Hybrid Transaction and Analytical Process,简称HTAP)等不同类型的数据库。
以上对本发明实施例提供的方案的执行思路进行了宏观的介绍,下面针对特征标签的打标过程以及画像信息的确定过程分别进行详细介绍。
如前文所述,为了能够对源数据库具有更加全面、准确地认知,可以设定多种特征维度来刻画源数据库。每种特征维度可以根据需要设定不同的特征标签,而确定不同特征标签的依据,主要是对源数据库采集的各种元信息。
在一可选实施例中,元信息中可以包括源数据库中多个对象的结构信息。源数据库中包括的对象比如可以是表、视图、字段、SQL,等等。结合对多个对象的结构信息的语法解析结果,可以确定多个对象的特征标签,包括如下至少一种:语法特征标签、场景特征标签。另外,在对每个对象的结构信息进行语法解析的过程中,还可以得到不同对象之间的依赖关系、对象与SQL查询语句之间的依赖关系(表明哪条SQL语句是用于查询哪个对象的)。不同对象之间的依赖关系,比如,一种视图(view)对象,实际底层就是表,那么可以说view依赖表;再比如表和表之间有外键,也是依赖关系。
其中,语法特征标签用于描述对象被使用的语法类型,场景特征标签用于描述对象被用作的用途。
实际上,不同类型的数据库会有其特有的一些语法,语法特征标签即是从不同类型的数据库所特有的语法的角度进行定义的,可以区分不同类型的数据库。基于此,对本文中的源数据库中对象进行语法解析所得到的语法特征标签,即描述了用户在源数据库中对不同对象的特有语法使用行为。
场景特征标签定义为用于描述不同用户操作数据库对象的用途行为,在本文中,即描述源数据库中对象被用作的用途,比如一个表,可以被用作adhoc表、基表、伪表、事实表、维度表,等等。
一般地,针对某对象来说,其对应的场景特征标签往往是基于其对应的语法特征标签得到的,比如基于语法特征标签结合其他信息综合确定某对象的场景特征标签。以一个表为例,其场景特征标签可以基于该表对应的语法特征标签、访问这个表的SQL、这个表的容量来综合确定。
从源数据库中采集的元信息中会包含很多条结构信息,每条结构信息对应于一个对象,通过对每条结构信息进行语法解析,便可以得到相应对象的语法特征标签。将源数据库中多个对象中的任一个对象称为目标对象,以目标对象为例,说明其对应的语法特征标签的确定过程:
对目标对象的结构信息进行语法分析,以得到对应的抽象语法树;
基于所述抽象语法树对目标对象的结构信息进行语义分析,得到具有语义标记的抽象语法树,在具有语义标记的抽象语法树中,为树中节点标记上对应的语义信息;
根据与源数据库对应的语法特征规则库,遍历具有语义标记的抽象语法树,以确定目标对象的语法特征标签。
为便于理解,结合图4来示例性说明语法解析的执行过程。
目标对象的结构信息一般是以DDL或PLSQL语言来描述的,对目标对象的结构信息进行语法分析后会得到一个初始的抽象语法树(Abstract Syntax Tree,简称AST),之后,对目标对象的结构信息进行语义分析,得到AST树中各个节点(包括用户反映所用语法的节点)对应的语义信息,并在AST树上进行这些语义信息的标注,得到具有语义标记的AST树。预先针对源数据库所特有的语法,定义相应的语法特征规则,这样,基于这些预设的该语法特征规则,遍历具有语义标记的AST树,便可以确定目标对象的语法特征标签。其中,遍历方式比如可以是深度优先搜索方式。
其中,举例来说,比如通过语法分析可以确定目标对象对应的AST树中存在一个节点,这个节点可能是一个表,也可能是一个视图。通过语义分析便可以基于这个节点对应的上下文确定这个节点实际上对应的是一个表,便可以为这个节点关联上这个语义。
在一可选实施例中,采集的源数据库的元信息中还可以包括源数据库对应的运行状态数据,此时,还可以根据源数据库对应的运行状态数据,确定源数据库对应的性能特征标签。
其中,可选地,采集的运行状态数据中可以包括源数据库的至少一种运行状态信息和/或查询语句(SQL语句)的执行状态信息。基于此,一方面,可以根据所述至少一种运行状态信息确定源数据库对应的运行性能特征标签。另一方面,也可以根据所述查询语句的执行状态信息确定所述查询语句的执行性能特征标签。
本实施例中,将源数据库的运行状态划分为两个层面进行描述,一个是宏观层面,反映源数据库整体的运行状况,一个是微观层面,用于反映用户对源数据库触发的SQL语句的执行性能情况。
实际应用中,可选地,用于度量源数据库整体运行状况的上述至少一种运行状态信息,比如可以是CPU利用率、负载量、吞吐量,等等。其中,吞吐量可以通过每秒查询率(Queries Per Second,简称QPS)或每秒处理的事务数(Transactions Per Second,简称TPS)来表示。
可以预先针对上述每种运行状态信息设定对应的阈值,基于实际采集到的源数据库的各种运行状态信息与相应阈值的比较结果,确定源数据库在各种运行状态信息维度上的性能特征标签。比如,如果采集到的源数据库的QPS大于对应的阈值,则可以确定源数据库在QPS维度上对应的标签为:高吞吐量标签,反之,为低吞吐量标签。
针对SQL语句,可以对针对源数据库触发的每条SQL语句进行执行状况的分析,从而为各SQL语句打上对应的性能标签。可选地,用于度量SQL语句执行性能的指标可以包括SQL语句的执行时间、执行风险、CPU占用率,等等。
比如,可以预先设定用于度量SQL语句执行快慢的执行时间阈值,如果某条SQL语句的实际执行时间大于该阈值,则可以确定该SQL语句具有“慢SQL”这个执行性能标签,反之,如果小于该阈值,则可以确定该SQL语句具有“快SQL”这个执行性能标签。
再比如,实际应用中,SQL语句可能存在各种风险因素,导致会影响其正常执行,比如未带索引,或者用户的某个查询行为可能不适合采用SQL语句的方式。可以预先设置多种会影响SQL语句正常执行的风险因素,基于当前需要分析的一条SQL语句,可以确定其是否命中了其中某条风险因素,若命中,则为该SQL语句打上这个风险因素对应的标签。
在一可选实施例中,采集的源数据库的元信息中还可以包括:源数据库中多个存储载体的存储容量信息。此时,还可以根据源数据库中多个存储载体的存储容量信息,确定多个存储载体对应的容量特征标签。
存储载体,比如可以包括表、大对象(Large Objects,简称LOB),等等。上述存储容量信息是指存储载体中实际存储的数据量大小。
比如针对表来说,可以预先设置不同的阈值来将表划分为大表和小表两种容量特征标签,如果某个表中存储的数据量小于某阈值,则确定该表为小表;如果某表中存储的数据量大于某阈值,则确定该表为大表。
比如针对LOB来说,也可以采用上述表的容量特征标签划分方式,或者,也可以划分为是否存在LOB。
综上,基于对源数据库采集的各种元信息,可以从很多特征维度进行源数据库的特征打标处理,得到源数据库的各种特征标签。之后,可以结合这些特征标签得到源数据库的画像。
概括来说,可以根据设定的特征标签与评价指标之间的映射关系,确定源数据库对应的多种评价指标的取值,而源数据库的画像信息中包括所述多种评价指标的取值。也就是说,可以通过设定的多种评价指标来反映源数据库的画像。
上文中提到,这多种评价指标比如可以包括:规模、会话、热点、复杂度、风险、负载等。可以为每个评价指标设定1至5分(仅为举例)的分值。针对任一种评价指标来说,根据与其对应的影响因素的具体表现情况,可以得到该评价指标的分值。
可选地,可以预先训练一个神经网络模型,将对源数据库打标得到的各种特征标签确定结果输入该神经网络模型中,以根据该神经网络模型输出各个评价指标的分数取值。需要说明的是,影响各评价指标的因素,不仅可能包含源数据库的特征标签,还可能包含其他信息。
会话,用于衡量源数据库的连接状况。分数越高,说明同时连接源数据库的会话越多。因此,可以通过采集同时连接源数据库的会话数量来确定会话对应的分数值。
复杂度,可以根据源数据库的场景特征标签、语法特征标签、性能特征标签等维度来计算源数据库的复杂度。简单来说,可以设定不同特征标签对复杂度的贡献权重,以基于该权重计算复杂度对应的分数值。
风险,用于衡量源数据库是否存在SQL或对象的执行性能风险。分数越高,说明源数据库存在风险的可能性越大。影响风险的分数值的因素比如可以包括SQL执行性能特征标签、源数据库的运行性能特征标签。可以设定不同性能特征标签对风险的取值的贡献权重,以基于该权重计算风险对应的分数值。
热点,用于衡量源数据库是否存在访问频率较为集中的对象。热点分数越高,说明源数据库中存在部分对象被集中访问的情况。可以通过统计各个SQL语句所对应的查询对象,得到各个对象的访问次数,可以设定如果某对象的访问次数大于设定阈值,则认为该对象是一个热点。
规模,用于衡量源数据库资源规模的情况,分数越高,说明源数据库的规模越大。可以基于源数据库的容量特征标签来确定源数据库的规模,比如,源数据库中若包含容量较大的很多表,那么说明源数据库的规模较大。
负载,用于衡量源数据库的运行性能情况,分数越高,说明源数据库的运行负载使用率高。可以结合源数据库的性能特征标签来确定源数据库的负载分数。
在得到源数据库的画像信息后,可选地,可以将反映该画像信息的多个评价指标的取值,以及此前得到的源数据库的各特征标签都显示给用户,这样可以让用户对源数据库有更加直观而全面的认知。在结合源数据库的画像信息给出推荐的目标数据库中,用户也可以对推荐的目标数据库进行确认或修改。
综上,本发明实施例中,通过对源数据库进行自动的画像分析,可以从很多维度来综合、准确地刻画源数据库,画像结果作为目标数据库的选择依据,能够使得选择出的目标数据库与源数据库更加匹配,更适宜用作源数据库的迁移对象。
以下将详细描述本发明的一个或多个实施例的数据库迁移装置。本领域技术人员可以理解,这些装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图5为本发明实施例提供的一种数据库迁移装置的结构示意图,如图5所示,该装置包括:采集模块11、确定模块12、迁移模块13。
采集模块11,用于采集源数据库的元信息。
确定模块12,用于根据所述元信息确定所述源数据库的多种特征标签;根据所述多种特征标签确定所述源数据库的画像信息。
迁移模块13,用于根据所述画像信息确定目标数据库,以将所述源数据库迁移到所述目标数据库。
可选地,所述确定模块12具体可以用于:根据设定的特征标签与评价指标之间的映射关系,确定所述源数据库对应的多种评价指标的取值,所述画像信息中包括所述多种评价指标的取值。
可选地,所述元信息中包括:所述源数据库中多个对象的结构信息,此时,确定模块12具体用于:对所述多个对象的结构信息进行语法解析,以确定所述多个对象的特征标签;所述特征标签包括如下至少一种:语法特征标签、场景特征标签;其中,所述语法特征标签用于描述对象被使用的语法类型,所述场景特征标签用于描述对象被用作的用途。
其中,可选地,确定模块12可以用于:对目标对象的结构信息进行语法分析,以得到对应的抽象语法树,所述目标对象是所述多个对象中任一个;基于所述抽象语法树对所述结构信息进行语义分析,得到具有语义标记的抽象语法树,在所述具有语义标记的抽象语法树中,为树中节点标记上对应的语义信息;根据与所述源数据库对应的语法特征规则库,遍历所述具有语义标记的抽象语法树,以确定所述目标对象的语法特征标签。
可选地,所述元信息中包括:所述源数据库对应的运行状态数据。此时,确定模块12可以用于:根据所述源数据库对应的运行状态数据,确定所述源数据库对应的性能特征标签。
其中,可选地,所述运行状态数据中包括所述源数据库的至少一种运行状态信息和/或查询语句的执行状态信息。所以,确定模块12具体可以用于:根据所述至少一种运行状态信息确定所述源数据库对应的运行性能特征标签;和/或,根据所述查询语句的执行状态信息确定所述查询语句的执行性能特征标签。
可选地,所述元信息中包括:所述源数据库中多个存储载体的存储容量信息。此时,确定模块12可以用于:根据所述源数据库中多个存储载体的存储容量信息,确定所述多个存储载体对应的容量特征标签。
图5所示装置可以执行前述实施例中介绍的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图5所示数据库迁移装置的结构可实现为一电子设备,如图6所示,该电子设备可以包括:处理器21、存储器22、通信接口23。其中,存储器22上存储有可执行代码,当所述可执行代码被处理器21执行时,使处理器21至少可以实现如前述实施例中提供的数据库迁移方法。
其中,如前文所述,该存储器22可以包括处理器21中的缓存、SRAM,还可以包括内存。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述实施例中提供的数据库迁移方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种数据库迁移方法,其特征在于,包括:
采集源数据库的元信息;
根据所述元信息确定所述源数据库的多种特征标签;
根据所述多种特征标签确定所述源数据库的画像信息;
根据所述画像信息确定目标数据库,以将所述源数据库迁移到所述目标数据库。
2.根据权利要求1所述的方法,其特征在于,所述根据所述多种特征标签确定所述源数据库的画像信息,包括:
根据设定的特征标签与评价指标之间的映射关系,确定所述源数据库对应的多种评价指标的取值,所述画像信息中包括所述多种评价指标的取值。
3.根据权利要求1所述的方法,其特征在于,所述元信息中包括:所述源数据库中多个对象的结构信息;
所述根据所述元信息确定所述源数据库的多种特征标签,包括:
对所述多个对象的结构信息进行语法解析,以确定所述多个对象的特征标签;
所述特征标签包括如下至少一种:语法特征标签、场景特征标签;其中,所述语法特征标签用于描述对象被使用的语法类型,所述场景特征标签用于描述对象被用作的用途。
4.根据权利要求3所述的方法,其特征在于,所述对所述多个对象的结构信息进行语法解析,以确定所述多个对象的特征标签,包括:
对目标对象的结构信息进行语法分析,以得到对应的抽象语法树,所述目标对象是所述多个对象中任一个;
基于所述抽象语法树对所述结构信息进行语义分析,得到具有语义标记的抽象语法树,在所述具有语义标记的抽象语法树中,为树中节点标记上对应的语义信息;
根据与所述源数据库对应的语法特征规则库,遍历所述具有语义标记的抽象语法树,以确定所述目标对象的语法特征标签。
5.根据权利要求1所述的方法,其特征在于,所述元信息中包括:所述源数据库对应的运行状态数据;
所述根据所述元信息确定所述源数据库的多种特征标签,包括:
根据所述源数据库对应的运行状态数据,确定所述源数据库对应的性能特征标签。
6.根据权利要求5所述的方法,其特征在于,所述运行状态数据中包括所述源数据库的至少一种运行状态信息和/或查询语句的执行状态信息;
所述根据所述源数据库对应的运行状态数据,确定所述源数据库对应的性能特征标签,包括:
根据所述至少一种运行状态信息确定所述源数据库对应的运行性能特征标签;和/或,
根据所述查询语句的执行状态信息确定所述查询语句的执行性能特征标签。
7.根据权利要求1所述的方法,其特征在于,所述元信息中包括:所述源数据库中多个存储载体的存储容量信息;
所述根据所述元信息确定所述源数据库的多种特征标签,包括:
根据所述源数据库中多个存储载体的存储容量信息,确定所述多个存储载体对应的容量特征标签。
8.一种数据库迁移装置,其特征在于,包括:
采集模块,用于采集源数据库的元信息;
确定模块,用于根据所述元信息确定所述源数据库的多种特征标签;根据所述多种特征标签确定所述源数据库的画像信息;
迁移模块,用于根据所述画像信息确定目标数据库,以将所述源数据库迁移到所述目标数据库。
9.一种非暂时性机器可读存储介质,其特征在于,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至7中任一项所述的数据库迁移方法。
10.一种电子设备,其特征在于,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至7中任一项所述的数据库迁移方法。
11.一种计算机程序产品,其特征在于,包括:计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述处理器执行如权利要求1至7中任一项所述的数据库迁移方法。
12.一种用于数据库迁移的数据库画像系统,其特征在于,包括:
源数据库以及用于对所述源数据库进行画像的电子设备,所述电子设备中包括信息采集单元、智能引擎单元、画像单元和决策单元;
所述信息采集单元,用于采集所述源数据库的元信息;
所述智能引擎单元,用于根据所述元信息确定所述源数据库的多种特征标签;
所述画像单元,用于根据所述多种特征标签确定所述源数据库的画像信息;
所述决策单元,用于根据所述画像信息确定目标数据库,以将所述源数据库迁移到所述目标数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111177175.6A CN114064606A (zh) | 2021-10-09 | 2021-10-09 | 数据库迁移方法、装置、设备、存储介质和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111177175.6A CN114064606A (zh) | 2021-10-09 | 2021-10-09 | 数据库迁移方法、装置、设备、存储介质和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114064606A true CN114064606A (zh) | 2022-02-18 |
Family
ID=80234479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111177175.6A Pending CN114064606A (zh) | 2021-10-09 | 2021-10-09 | 数据库迁移方法、装置、设备、存储介质和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114064606A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662373A (zh) * | 2023-07-27 | 2023-08-29 | 天津神舟通用数据技术有限公司 | 一种数据访问控制方法、装置、设备及介质 |
-
2021
- 2021-10-09 CN CN202111177175.6A patent/CN114064606A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116662373A (zh) * | 2023-07-27 | 2023-08-29 | 天津神舟通用数据技术有限公司 | 一种数据访问控制方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109240901B (zh) | 性能分析方法、性能分析装置、存储介质和电子设备 | |
US10229200B2 (en) | Linking data elements based on similarity data values and semantic annotations | |
US8099382B2 (en) | Method and system for mapping multi-dimensional model to data warehouse schema | |
CN109522465A (zh) | 基于知识图谱的语义搜索方法及装置 | |
JP4920023B2 (ja) | オブジェクト間競合指標計算方法およびシステム | |
US10430469B2 (en) | Enhanced document input parsing | |
US20080162455A1 (en) | Determination of document similarity | |
US11580147B2 (en) | Conversational database analysis | |
CN110069610A (zh) | 基于Solr的检索方法、装置、设备和存储介质 | |
US8825621B2 (en) | Transformation of complex data source result sets to normalized sets for manipulation and presentation | |
US20200272651A1 (en) | Heuristic dimension reduction in metadata modeling | |
CN109885665A (zh) | 一种数据查询方法、装置及系统 | |
CN110399377A (zh) | Sql的优化方法、装置、电子设备及计算机可读存储介质 | |
Nevarez | Inside the SQL Server Query Optimizer | |
CN114676678A (zh) | 结构化查询语言数据的解析方法、装置和电子设备 | |
CN113626558B (zh) | 一种基于智能推荐的字段标准化的方法和系统 | |
CN114064606A (zh) | 数据库迁移方法、装置、设备、存储介质和系统 | |
CN111782738B (zh) | 构建数据仓库表级别血缘关系的方法及装置 | |
CN116226494B (zh) | 一种用于信息搜索的爬虫系统及方法 | |
CN110580170B (zh) | 软件性能风险的识别方法及装置 | |
CN110008448B (zh) | 将SQL代码自动转换为Java代码的方法和装置 | |
US11645283B2 (en) | Predictive query processing | |
CN109829048A (zh) | 电子装置、访谈辅助方法和计算机可读存储介质 | |
CN113934894A (zh) | 基于指标树的数据显示方法、终端设备 | |
CN107730021A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40066443 Country of ref document: HK |