CN114253935A - 评估数据库的方法和装置、计算设备和计算机程序产品 - Google Patents

评估数据库的方法和装置、计算设备和计算机程序产品 Download PDF

Info

Publication number
CN114253935A
CN114253935A CN202011001238.8A CN202011001238A CN114253935A CN 114253935 A CN114253935 A CN 114253935A CN 202011001238 A CN202011001238 A CN 202011001238A CN 114253935 A CN114253935 A CN 114253935A
Authority
CN
China
Prior art keywords
database
candidate
databases
data structure
user interface
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
CN202011001238.8A
Other languages
English (en)
Inventor
孔柏林
李建峰
窦德明
张昆
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies Co Ltd
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 Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to CN202011001238.8A priority Critical patent/CN114253935A/zh
Priority to PCT/CN2021/106618 priority patent/WO2022062593A1/zh
Publication of CN114253935A publication Critical patent/CN114253935A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • 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/25Integrating or interfacing systems involving database management systems
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供评估数据库的方法和装置、计算设备和计算机程序产品。在该方法中,在用户界面显示一个或多个候选数据库,所述候选数据库是结合源数据库实例的特征确定的数据库;在所述用户界面显示在一个或多个所述候选数据库中各自部署从所述源数据库实例迁移的数据结构所需的工作量。这样,在用户界面展示工作量,便于用户考虑工作量,结合工作量从候选数据库中确定目标数据库。目标数据库用于部署从所述源数据库实例迁移的数据结构。

Description

评估数据库的方法和装置、计算设备和计算机程序产品
技术领域
本申请涉及计算机领域,尤其涉及评估数据库的方法和装置、计算设备和计算机程序产品。
背景技术
异构数据库之间存在数据库引擎的差异,各种数据库之间的对象结构设计、结构化查询语言(Structured Query Language,SQL)语法、权限管控等都有较大的差异性。如何快速的进行异构数据库的迁移成为用户的难点。
发明内容
有鉴于此,本申请提供了一种评估数据库的方法和装置、计算设备和计算机程序产品,可以提高数据库迁移的效率。
第一方面,本申请提供一种评估数据库的方法。在用户界面显示一个或多个候选数据库,所述候选数据库是结合源数据库实例的特征确定的数据库;在所述用户界面显示在一个或多个所述候选数据库中各自部署从所述源数据库实例迁移的数据结构所需的工作量。
在用户界面展示工作量,便于用户考虑工作量,结合工作量从候选数据库中确定目标数据库。目标数据库用于部署从所述源数据库实例迁移的数据结构。
第一方面的一种可能设计,装置获取用户从所述一个或多个候选数据库中确定的目标数据库,所述目标数据库用于部署从所述源数据库实例迁移的数据结构。
这样,装置会结合源数据库的特征和工作量从多个数据库中筛选出候选数据库,经过筛选后的候选数据库均为适合承载从源数据库迁移的数据结构的数据库。装置在用户界面呈现较优选择的候选数据库,用户可以按需选择确定目标数据库,可以提高数据库迁移的效率和保证评估数据库的稳定性。另外,装置在用户界面呈现候选数据库的工作量,用户也可以选择工作量小的次优选的候选数据库作为目标数据库,可以减少数据库的数据结构的迁移时间。
第一方面的一种可能设计,在所述候选数据库部署所述数据结构所需的工作量,用于供用户在所述用户界面从所述一个或多个候选数据库中确定目标数据库。
第一方面的一种可能设计,在所述候选数据库部署所述数据结构所需的工作量是基于参数确定的,所述参数包括如下的一种或多种组合:语法转换率、兼容程度以及代码量。
第一方面的一种可能设计,在所述用户界面显示所述候选数据库的优先级。
这样,用户可以一目了然候选数据库的迁移兼容程度,用户可以进一步选择优先级高的候选数据库作为目标数据库,这样可以提高评估数据库的稳定性和成功率。当然,用户也可以结合其它因素(例如成本),选择适合的候选数据库作为目标数据库。
第一方面的一种可能设计,在所述用户界面显示所述候选数据库的一个或多个规格配置。
这样,用户可以进一步选择出适合业务的规格配置。
第一方面的一种可能设计,获取用户从所述目标数据库的一个或多个规格配置中确定的规格配置。
第一方面的一种可能设计,所述规格配置包括如下的一种或多种组合:
处理器、内存、硬盘以及输入输出IO配置。
第一方面的一种可能设计,所述源数据库与所述候选数据库为不同类型的数据库。
第一方面的一种可能设计,所述源数据库实例的特征包括如下的一种或多种组合:
存储过程、物化视图、表分区、触发器、库内调度、资源管理、健康监控、审计、闪回、备份恢复、集群高可用、批量装载、并发度、扩展度、恢复点目标RPO,恢复时间目标RTO、跨数据中心部署、存储容量以及存储成本。
第一方面的一种可能设计,所述源数据库实例的特征是基于所述源数据库实例的运行参数确定的;
其中,所述源数据库实例的运行参数包括如下参数的一种或多种组合:
每秒事务数TPS、每秒查询率QPS、每秒输入输出操作IOPS、内存使用率、中央处理器CPU使用率、活跃会话、数据库配置、数据库容量、表复杂度以及结构化查询语言SQL复杂度。
第一方面的一种可能设计,所述一个或多个候选数据库是结合源数据库实例的特征和数据库兼容性确定的,所述数据库兼容性是指所述候选数据库与所述源数据库的兼容程度。
第二方面,本申请提供一种评估数据库的装置。该装置包括的多个功能模块,用于实现第一方面或第一方面的任意可能设计提供的方法中的步骤。
第三方面,本申请提供一种计算设备,该计算设备包括处理器和存储器。该存储器存储指令;该处理器执行该存储器存储的指令,使得该计算设备执行上述第一方面或者第一方面的各种可能设计提供的方法中的步骤,或者使得该计算设备部署第二方面提供的评估数据库的装置。
第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当计算设备的处理器执行该指令时,该计算设备执行上述第一方面或者第一方面的各种可能设计提供的方法中的步骤,或者该计算设备部署第二方面提供的评估数据库的装置。
第七方面,本申请提供一种计算机程序产品,该计算机程序产品包括指令,该指令存储在计算机可读存储介质中。计算设备的处理器可以从计算机可读存储介质读取该指令,处理器执行该指令,使得该计算设备执行上述第一方面或者第一方面的各种可能设计提供的方法中的步骤,或者使得该计算设备部署第二方面提供的数据节点评估数据库的装置。
附图说明
图1为本申请提供的数据库迁移的一种场景示意图;
图2为筛选候选数据库的一种实现示意图;
图3为本申请在用户界面供用户从多个候选数据库选择目标数据库的一种示意图;
图4为本申请提供的在评估数据库的方法一种流程示意图;
图5为本申请提供的评估数据库的装置的一种逻辑结构示意图;
图6为本申请提供的计算设备800的一种结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请提供的技术方案进行描述。
如图1,源数据库实例11部署源数据库111。源数据库实例11通过源数据库111提供数据库服务,例如供用户查询源数据库111中的数据。
如图1还示意了一种数据库迁移场景,源数据库111为待迁移数据结构的数据库,目标数据库211为用于部署迁移的数据结构的数据库。
举例说明,源数据库的数据结构分为三类:
源数据库的第一类数据结构是目标数据库对源数据库原生支持的数据结构;
源数据库的第二类数据结构,这类数据结构通过工具改造成目标数据库支持的数据结构;
源数据库的第三类数据结构,是除了第一类数据结构和第二类数据结构以外的其它数据结构。举例说明,第三类数据结构不被目标数据库支持,也不能够通过工具改造成被目标数据库支持的数据结构。
目标数据库211部署从源数据库111迁移的数据结构的一种实现举例,对于第一类数据结构,目标数据库211可以直接使用;对于源数据库的第二类数据结构,在目标数据库211获取通过语法转换工具改造第二类数据结构所得的数据结构;对于源数据库的第三类数据结构,向用户反馈(例如通过用户界面反馈)修改建议或者提供替代的数据结构。
举例说明,数据结构可以包括如下的一种或多种组合:
表(table)结构、索引(index)结构、视图(view)、物化视图(materilized view)、过程(procedure)、序列(sequence)、函数(function)以及包(package)等等。
一种可能的实现场景,源数据库111和目标数据库211为不同类型的数据库。源数据库111和目标数据库211为异构的数据库。例如,源数据库111为一种关系型数据库,目标数据库211为一种非关系型数据库;例如,源数据库111为一种非关系型数据库,目标数据库211为一种关系型数据库;例如,源数据库111和目标数据库211为两种不同类型的关系型数据库;例如,源数据库111和目标数据库211为两种不同类型的非关系型数据库。举例说明,源数据库111为oracle数据库,目标数据库211为MySQL数据库或者ProsgreSQL数据库。
候选数据库
下面举例提供一种获得候选数据库的实现方式,如图2所示。
如果源数据库111为oracle数据库,源数据库实例11为oracle数据库实例。当用户期望迁移oracle数据库的数据到其它异构的数据库之前,会先迁移oracle的数据结构到其它异构的数据库。通常云平台支持多个数据库,例如MySQL数据库、DB2数据库、SQL Server数据库、Postgre SQL数据库、MongoDB数据库、Redis数据库、Memcached数据库以及HBse数据库。筛选模块会基于oracle数据库实例的特征从这多个数据库中筛选出多个候选数据库,例如oracle数据库为关系型数据库,因此筛选模块考虑数据库之间的兼容性问题,从这多个数据库中选出了多个关系型数据库(MySQL数据库、DB2数据库、SQL Server数据库、Postgre SQL数据库)作为候选数据库。筛选模块还可以进一步考虑业务场景来确定候选数据库,如果oracle数据库实例的特征指示oracle用于高并发量的购物网站,则筛选模块会选择DB2数据库和SQL Server数据库作为候选数据库;如果oracle数据库实例的特征指示oracle用于低并发量的专利检索网站,则筛选模块会选择MySQL数据库作为候选数据库。
图3举例提供了本申请通过用户界面显示图2的候选数据库的一种显示方式。假设oracle数据库实例部署专利检索网站,现希望将oracle数据库实例的数据结构做数据库迁移评估。筛选模块筛选出4类关系型数据库:MySQL数据库、DB2数据库、SQL Server数据库、Postgre SQL数据库。筛选模块对这4类数据库结合专利检索网站的业务场景做了评估排序,MySQL数据库属于推荐用户的第一优先级,Postgre SQL数据库属于推荐用户的第二优先级,DB2数据库和SQL Server数据库均属于第三优先级。将oracle数据库实例的数据结构迁移到第一优先级的MySQL,优于迁移到第二优先级的Postgre SQL数据库。类似地,将oracle数据库实例的数据结构迁移到第二优先级的Postgre SQL数据库,优于迁移到第三优先级的DB2数据库或者SQL Server数据库。即第一优先级高于第二优先级,第二优先级高于第三优先级。当然,优先级仅是筛选模块给出的优先级排序,用户可以按需求选择迁移的目标数据库,例如用户可以选择Postgre SQL数据库或者DB2数据库或者SQL Server数据库作为目标数据库,不是非得选择位于第一优先级的MySQL数据库。
如图3,每个候选数据库,筛选模块会给出一个或多个规格配置。两种可能的业务场景举例,如果业务是计算消耗型的(例如持续高并发量的业务),可以选择计算型的规格配置(例如8核,32G内存,128G硬盘);如果业务是存储消耗型的(例如持续高存储量的业务),可以选择存储型的规格配置(例如4核,64G内存,256硬盘)。
结合图3说明下如何从多个候选数据库选择一个目标数据库及规格。用户可以通过用户界面选中MySQL数据库,然后MySQL数据库这一行进一步选择规格配置(8核,32G内存,128G硬盘)。后续,就会创建MySQL数据库实例,便于将oracle数据库实例上面的oracle数据库中的数据结构迁移到MySQL数据库实例,即在MySQL数据库实例中部署从oracle迁移的数据结构:
部署从oracle数据库实例迁移的第一类数据结构,部署对oracle数据库实例迁移的第二类数据结构通过语法转换工具改造所得的数据结构,针对oracle数据库实例的第三类数据结构向用户反馈(例如通过用户界面反馈)修改建议或者提供替代的数据结构。
一种可能的实现方式,针对每个候选数据库,筛选模块还可以提供一个或多个版本号选择,图3未示意出版本号。
针对每个候选数据库,筛选模块都计算出在各个候选数据库部署从源数据库迁移过来的数据结构的工作量(例如数据库管理员(Database administrator,DBA)工作量、开发工作量和测试工作量等等)。例如,如图3,在用户界面呈现了:在MySQL数据库部署从oracle数据库实例迁移的数据结构所需的工作量(DBA工作量、开发工作量、测试工作量),在Postgre SQL数据库部署从oracle数据库实例迁移的数据结构所需的工作量(DBA工作量、开发工作量、测试工作量),在DB2数据库部署从oracle数据库实例迁移的数据结构所需的工作量(DBA工作量、开发工作量、测试工作量),在SQL Server数据库部署从oracle数据库实例迁移的数据结构所需的工作量(DBA工作量、开发工作量、测试工作量)。在用户界面展示工作量,便于用户考虑工作量,结合工作量和/或优先级从候选数据库中确定目标数据库。
下面举例提供筛选模块如何筛选出候选数据库的一种可能的实现方式。
首先,采集跟源数据库实例11的运行参数。该源数据库实例11的运行参数包括如下的一种或多种:每秒事务数(transactions per second,TPS)、每秒查询率(queries persecond,QPS)、每秒输入输出操作(input/output per second,IOPS)、内存使用率、中央处理器(central processing unit,CPU)使用率、活跃会话、数据库配置、数据库容量、表复杂度以及SQL复杂度。
然后,基于该源数据库实例11的运行参数,分析得出该源数据库实例11的特征。源数据库实例11的特征包括两类特征。
源数据库实例11的第一类特征包括如下的一种或多种:存储过程、物化视图、表分区、触发器、库内调度、资源管理、健康监控、审计、闪回、备份恢复、集群高可用以及批量装载等等。源数据库实例11可以具有第一类特征中的一个或多个特征,即源数据库实例11可以使用了第一类特征中的一个或多个特征,例如源数据库实例11可以使用了触发器,再例如源数据库实例11可以使用了物化视图。
源数据库实例11的第二类特征包括如下的一种或多种:并发度、扩展度、恢复点目标(recovery point objective,RPO),恢复时间目标(recovery time objective,RTO)、跨数据中心部署、存储容量以及存储成本等等。
一种可能的实现方式,基于该源数据库实例11的特征和数据库之间的兼容性,分析确定该候选数据库。例如数据库实例11为oracle数据库实例,多个数据库为MySQL数据库、DB2数据库、SQL Server数据库、Postgre SQL数据库、MongoDB数据库、Redis数据库、Memcached数据库以及HBse数据库,则结合oracle数据库实例的特征和该oracle数据库实例与这多个数据库之间的兼容性,确定MySQL数据库、DB2数据库、SQL Server数据库、Postgre SQL数据库为兼容性较好的候选数据库,因为MySQL数据库、DB2数据库、SQLServer数据库、Postgre SQL数据库与oracle数据库均为关系型数据库,数据库之间需要改造的第二类数据结构或者第三类数据结构相对少些。相比之下,MongoDB数据库、Redis数据库、Memcached数据库以及HBse数据库这些非关系型数据库与oracle数据库之间的兼容性就差些,所以MongoDB数据库、Redis数据库、Memcached数据库以及HBse数据库都没被筛选模块选为候选数据库。
下面结合图1-图4,举例说明本申请提供的评估数据库的方法。其中,图4举例提供了该方法的流程步骤,该方法的步骤包括步骤41至步骤43。
步骤S41,在用户界面显示一个或多个候选数据库。
用户界面显示的候选数据库,是结合源数据库实例11的特征确定的数据库。因此,每个候选数据库是相对适合部署从源数据库实例11的数据结构的,部署时候需要改造的第二数据结构较少,部署时候需要用户配合调整的第三数据结构较少。
在一种可能的实现方式中,所述源数据库实例11的特征是基于所述源数据库实例11的运行参数确定的。该源数据库实例11的运行参数包括如下的一种或多种:每秒事务数(transactions per second,TPS)、每秒查询率(queries per second,QPS)、每秒输入输出操作(input/output per second,IOPS)、内存使用率、中央处理器(central processingunit,CPU)使用率、活跃会话、数据库配置、数据库容量、表复杂度以及SQL复杂度。一种实现场景,源数据库实例11的运行参数可以是由该源数据库实例11提供的业务决定的,如果该源数据库实例11支撑持续高并发的购物网站查询业务,则TPS、QPS、IOPS、内存使用率、CPU使用率以及活跃会话等等相对较高,如果该源数据库实例11支撑持续低并发的旅游网站查询业务,则TPS、QPS、IOPS、内存使用率、CPU使用率以及活跃会话等等相对较低。
在一种可能的实现方式中,基于所述源数据库实例11的运行参数确定的源数据库实例11的特征可以包括如下的一种或多种组合:存储过程、物化视图、表分区、触发器、库内调度、资源管理、健康监控、审计、闪回、备份恢复、集群高可用、批量装载、并发度、扩展度、恢复点目标RPO,恢复时间目标RTO、跨数据中心部署、存储容量以及存储成本等等。其中,源数据库实例11可以具有一个或多个第一类特征(存储过程、物化视图、表分区、触发器、库内调度、资源管理、健康监控、审计、闪回、备份恢复、集群高可用以及批量装载等等),第一类特征可以是源数据库实例11承载的业务的业务需要所决定的。源数据库实例11可以具有一个或多个第二类特征(并发度、扩展度、RPO、RTO、存储容量以及存储成本等等),第一类特征的值可以是源数据库实例11承载的业务所决定的。
由于源数据库实例11的运行参数反应了业务对源数据库实例11的数据结构需求,源数据库实例11的运行参数确定了源数据库实例11的特征,源数据库实例11的特征基本也可以反应业务对源数据库实例11的数据结构需求。
在一种可能的实现方式中,每个候选数据库都是结合源数据库实例的特征和数据库兼容性确定的,所述数据库兼容性是指所述候选数据库与所述源数据库的兼容程度。例如,非关系型数据库中的两种数据库的兼容程度,就好于关系型数据库与非关系型数据库的兼容程度;类似地,关系型数据库中的两种数据库兼容程度,也好于关系型数据库与非关系型数据库的兼容程度。
在一种可能的实现方式中,筛选模块采用筛选模型确定候选数据库。具体地,源数据库实例的特征和数据库兼容作为该筛选模型的输入,这样,该筛选模型可以从多个数据库中筛选出候选数据库。
一种可能的实现方式,所述源数据库与所述候选数据库为不同类型的数据库。举例说明,源数据库与候选数据库可以是关系型数据库中的两种类型的数据库,例如源数据库为oracle数据库和候选数据库可以是MySQL数据库。举例说明,源数据库与候选数据库可以是非关系型数据库中的两种类型的数据库,例如源数据库为MongoDB数据库和候选数据库可以是Redis数据库。举例说明,源数据库可以属于关系型数据库(例如oracle数据库),而候选数据库可以属于非关系型数据库(例如Redis数据库);或者,源数据库可以属于非关系型数据库(例如Redis数据库),而候选数据库可以属于关系型数据库(例如oracle数据库)。
本申请对于在用户界面显示候选数据库的排列方式,不做限定。例如,图3就举例给出了一种显示多个候选数据库(MySQL数据库、DB2数据库、SQL Server数据库以及Postgre SQL数据库)的排布方式。
一种可能的用户界面设计,在所述用户界面显示所述候选数据库的优先级。如图3所示,给用户呈现了多个候选数据库的优先级顺序。其中,MySQL数据库属于推荐用户的第一优先级,Postgre SQL数据库属于推荐用户的第二优先级,DB2数据库和SQL Server数据库均属于第三优先级。第一优先级的MySQL数据库最适合承载从迁移oracle数据库实例的数据结构,第二优先级的Postgre SQL数据库较好适合承载从迁移oracle数据库实例的数据结构,第三优先级的DB2数据库或者SQL Server数据库一般适合承载从迁移oracle数据库实例的数据结构。
一种可能的用户界面设计,在所述用户界面显示所述候选数据库的一个或多个规格配置。如图3所示,给用户呈现了每个候选数据库的两个规格配置:一个规格配置是(8核,32G内存,128G硬盘),另一个规格配置(4核,64G内存,256硬盘)。规格配置的选择考虑举例,如果业务是计算消耗型的(例如持续高并发量的业务),则可以选择计算型的规格配置(例如8核,32G内存,128G硬盘),如果业务是存储消耗型的(例如持续高存储量的业务),则可以选择存储型的规格配置(例如4核,64G内存,256硬盘)。这样,用户可以结合业务选择规格配置,另外,用户还可以考虑成本来选择规格配置。
一种可能的用户界面设计,用户可以从用户界面的一个或多个候选数据库中先确定目标数据库,然后再确定该目标数据库的一个或多个规格配置中确定一个规格配置,相应地,系统便会获取用户确定的规格配置。如图3举例,用户选择了MySQL数据库作为目标数据库,并进一步选择了MySQL数据库的规格配置(8核,32G内存,128G硬盘)。后续,便将源数据库111(例如oracle数据库)的数据结构迁移到用户指定规格配置的目标数据库(例如MySQL数据库)。
一种可能的实现方式,候选数据库的规格配置包括如下的一种或多种组合:处理器、内存、硬盘以及输入输出(input/output,IO)配置。例如图3,一个规格配置可以是8核的处理器、32G的内存以及128G的硬盘,另一个规格配置可以是4核的处理器、64G的内存以及256G的硬盘。
步骤S42,在所述用户界面显示在一个或多个所述候选数据库中各自部署从所述源数据库实例迁移的数据结构所需的工作量。
该工作量包括如下的一种或多种组合:DBA工作量、开发工作量以及测试工作量。
DBA工作量,是指数据库管理员在候选数据库部署从源数据库实例迁移的数据结构所需的工作量。
开发工作量,是指开发人员开发出在候选数据库部署从源数据库实例迁移的数据结构所需代码的工作量。
测试工作量,是指测试人员测试在候选数据库部署从源数据库实例迁移的数据结构所需代码的工作量。
一种可能的实施方式,在所述候选数据库部署所述数据结构所需的工作量,用于供用户在所述用户界面从所述一个或多个候选数据库中确定目标数据库。
例如,如图3,在用户界面呈现了:在MySQL数据库部署从oracle数据库实例迁移的数据结构所需的工作量(DBA工作量、开发工作量、测试工作量),在Postgre SQL数据库部署从oracle数据库实例迁移的数据结构所需的工作量(DBA工作量、开发工作量、测试工作量),在DB2数据库部署从oracle数据库实例迁移的数据结构所需的工作量(DBA工作量、开发工作量、测试工作量),在SQL Server数据库部署从oracle数据库实例迁移的数据结构所需的工作量(DBA工作量、开发工作量、测试工作量)。在用户界面展示工作量,便于用户考虑工作量,结合工作量和/或优先级从候选数据库中确定目标数据库。
一种可能的实施方式,在所述候选数据库部署所述数据结构所需的工作量是基于参数确定的,所述参数包括如下的一种或多种组合:语法转换率、兼容程度以及代码量。
作为参数的语法转换率,是指将源数据库实例的数据结构语法转换为候选数据库的转化率。
作为参数的兼容程度,是指将源数据库与候选数据库的兼容程度。
作为参数的代码量,是指实现将源数据库实例的数据结构在候选数据库部署所需的代码的代码量。
另外,用于评估在所述候选数据库部署所述数据结构所需的工作量的参数还可以包括除了语法转换率、兼容程度以及代码量以外的其它参数,例如该其它参数可以包括DBA知识库,例如该其它参数可以包括历史评估工作量使用的评估基线。
一种实现举例,筛选模块可以采用工作量评估模型,将该参数(例如语法转换率、兼容程度以及代码量)作为该工作量评估模型的输入,评估模型便可以输出工作量(例如DBA工作量、开发工作量和测试工作量)。
步骤S43,获取用户从所述一个或多个候选数据库中确定的目标数据库,所述目标数据库用于部署从所述源数据库实例迁移的数据结构。
用户在用户界面确定目标数据库后,系统便获取用户确定的目标数据库。后续,可以部署该目标数据库的实例,通过该实例实现在该目标数据库中部署从源数据库实例迁移的数据结构。
以图3为例,用户在用户界面选中了MySQL数据库作为目标数据库,并确定MySQL数据库的规格配置为8核的处理器、32G的内存以及128G的硬盘。后续在需要迁移oracle数据库实例的数据结构时,系统部署具有规格配置(8核的处理器、32G的内存以及128G的硬盘)的MySQL数据库实例。这样,MySQL数据库实例可以在MySQL数据库中部署从oracle数据库实例迁移过来的数据结构。
以图3为例说明部署的一种可能实现方式,对于从oracle数据库实例迁移的第一类数据结构,MySQL数据库实例可以原生使用,即MySQL数据库实例可以在MySQL数据库中部署该第一类数据结构;对于从oracle数据库实例迁移的第二类数据结构,MySQL数据库实例通过语法转换工具改造第二类数据结构所得的数据结构,在MySQL数据库部署改造所得的数据结构;对于从oracle数据库实例迁移的第三类数据结构,向用户反馈(例如通过用户界面反馈)修改建议或者提供替代的数据结构。
本申请还提供一种该评估数据库的装置,该装置可以部署在本申请的计算设备(例如服务器)上。该装置包括用于实现上述评估数据库的方法的功能单元;本申请对在该装置中如何划分功能单元不做限定。
下面实例性地提供评估数据库的装置的一种功能单元的划分,如图5所示。
如图5所示,所述装置50包括:
候选数据库显示模块51,用于在用户界面显示一个或多个候选数据库,所述候选数据库是结合源数据库实例的特征确定的数据库;
工作量显示模块52,用于在所述用户界面显示在一个或多个所述候选数据库中各自部署从所述源数据库实例迁移的数据结构所需的工作量。
装置50的一种可能设计,所述装置50包括:
获取模块53,用于获取用户从所述一个或多个候选数据库中确定的目标数据库,所述目标数据库用于部署从所述源数据库实例迁移的数据结构。
装置50的一种可能设计,在所述候选数据库部署所述数据结构所需的工作量,用于供用户在所述用户界面从所述一个或多个候选数据库中确定目标数据库。
装置50的一种可能设计,在所述候选数据库部署所述数据结构所需的工作量是基于参数确定的,所述参数包括如下的一种或多种组合:语法转换率、兼容程度以及代码量。
装置50的一种可能设计,所述候选数据库显示模块51,用于在所述用户界面显示所述候选数据库的优先级。
装置50的一种可能设计,所述候选数据库显示模块52,用于在所述用户界面显示所述候选数据库的一个或多个规格配置。
装置50的一种可能设计,获取模块53,用于获取用户从所述目标数据库的一个或多个规格配置中确定的规格配置。
装置50的一种可能设计,所述规格配置包括如下的一种或多种组合:
处理器、内存、硬盘以及输入输出IO配置。
装置50的一种可能设计,所述源数据库与所述候选数据库为不同类型的数据库。
一种可能的设计,图6示意性地提供本申请的计算设备的一种可能的基本硬件架构。
参见图6,计算设备800包括处理器801、存储器802、通信接口803和总线804。
计算设备800中,处理器801的数量可以是一个或多个,图6仅示意了其中一个处理器801。可选地,处理器801,可以是中央处理器(central processing unit,CPU)。如果计算设备800具有多个处理器801,多个处理器801的类型可以不同,或者可以相同。可选地,计算设备800的多个处理器801还可以集成为多核处理器。
存储器802存储指令和数据;存储器802可以存储实现本申请提供的评估数据库的方法所需的指令和数据,存储器802还可以存储用于实现在评估数据库的方法中由评估数据库的装置执行步骤的指令。存储器802可以是以下存储介质的任一种或任一种组合:非易失性存储器(例如只读存储器(ROM)、固态硬盘(SSD)、硬盘(HDD)、光盘),易失性存储器。
通信接口803可以是以下器件的任一种或任一种组合:网络接口(例如以太网接口)、无线网卡等具有网络接入功能的器件。
通信接口803用于计算设备800与其它计算设备或者终端进行数据通信。
图6用一条粗线表示总线804。总线804可以将处理器801与存储器802和通信接口803连接。这样,通过总线804,处理器801可以访问存储器802,还可以利用通信接口803与其它计算设备或者终端进行数据交互。
在本申请中,计算设备800执行存储器802中的指令,使得计算设备800实现本申请提供的评估数据库的方法。或者,计算设备800执行存储器802中的指令,使得该计算设备800实现本申请的评估数据库的装置50。
本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当计算设备800的处理器801执行该指令时,该计算设备800执行上述评估数据库的方法中由协调节点执行的步骤,或者该计算设备800实现本申请的评估数据库的装置的功能。
本申请提供一种计算机程序产品,该计算机程序产品包括指令,该指令存储在计算机可读存储介质中。计算设备800的处理器801可以从计算机可读存储介质读取该指令,处理器801执行该指令,使得计算设备800执行上述评估数据库的方法中由协调节点执行的步骤,或者使得计算设备800实现本申请的评估数据库的装置的功能。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改;而这些修改,并不使相应技术方案脱离权利要求的保护范围。

Claims (20)

1.一种评估数据库的方法,其特征在于,所述方法包括:
在用户界面显示一个或多个候选数据库,所述候选数据库是结合源数据库实例的特征确定的数据库;
在所述用户界面显示在一个或多个所述候选数据库中各自部署从所述源数据库实例迁移的数据结构所需的工作量。
2.根据权利要求1所述的方法,其特征在于,所述方法包括:
获取用户从所述一个或多个候选数据库中确定的目标数据库,所述目标数据库用于部署从所述源数据库实例迁移的数据结构。
3.根据权利要求1或2所述的方法,其特征在于,在所述候选数据库部署所述数据结构所需的工作量,用于供用户在所述用户界面从所述一个或多个候选数据库中确定目标数据库。
4.根据权利要求1至3任一项所述的方法,其特征在于,在所述候选数据库部署所述数据结构所需的工作量是基于参数确定的,所述参数包括如下的一种或多种组合:语法转换率、兼容程度以及代码量。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法包括:
在所述用户界面显示所述候选数据库的优先级。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法包括:
在所述用户界面显示所述候选数据库的一个或多个规格配置。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法包括:
获取用户从所述目标数据库的一个或多个规格配置中确定的规格配置。
8.根据权利要求6或7任一项所述的方法,其特征在于,所述规格配置包括如下的一种或多种组合:
处理器、内存、硬盘以及输入输出IO配置。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述源数据库与所述候选数据库为不同类型的数据库。
10.一种评估数据库的装置,其特征在于,所述装置包括:
候选数据库显示模块,用于在用户界面显示一个或多个候选数据库,所述候选数据库是结合源数据库实例的特征确定的数据库;
工作量显示模块,用于在所述用户界面显示在一个或多个所述候选数据库中各自部署从所述源数据库实例迁移的数据结构所需的工作量。
11.根据权利要求10所述的装置,其特征在于,所述装置包括:
获取模块,用于获取用户从所述一个或多个候选数据库中确定的目标数据库,所述目标数据库用于部署从所述源数据库实例迁移的数据结构。
12.根据权利要求10或11所述的装置,其特征在于,在所述候选数据库部署所述数据结构所需的工作量,用于供用户在所述用户界面从所述一个或多个候选数据库中确定目标数据库。
13.根据权利要求10至至12任一项所述的装置,其特征在于,在所述候选数据库部署所述数据结构所需的工作量是基于参数确定的,所述参数包括如下的一种或多种组合:语法转换率、兼容程度以及代码量。
14.根据权利要求10至13任一项所述的装置,其特征在于,所述候选数据库显示模块,用于在所述用户界面显示所述候选数据库的优先级。
15.根据权利要求10至14任一项所述的装置,其特征在于,所述候选数据库显示模块,用于在所述用户界面显示所述候选数据库的一个或多个规格配置。
16.根据权利要求10至15任一项所述的装置,其特征在于,获取模块,用于获取用户从所述目标数据库的一个或多个规格配置中确定的规格配置。
17.根据权利要求10至16任一项所述的装置,其特征在于,所述规格配置包括如下的一种或多种组合:
处理器、内存、硬盘以及输入输出IO配置。
18.根据权利要求10至17任一项所述的装置,其特征在于,所述源数据库与所述候选数据库为不同类型的数据库。
19.一种计算设备,其特征在于,所述计算设备包括处理器和存储器;所述处理器执行所述存储器中的指令,使得所述计算设备执行权利要求1至9任一项所述方法中的步骤。
20.一种计算机程序产品,其特征在于,所述计算机程序产品包括指令,所述指令指示计算设备执行权利要求1至9任一项所述方法中的步骤。
CN202011001238.8A 2020-09-22 2020-09-22 评估数据库的方法和装置、计算设备和计算机程序产品 Pending CN114253935A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011001238.8A CN114253935A (zh) 2020-09-22 2020-09-22 评估数据库的方法和装置、计算设备和计算机程序产品
PCT/CN2021/106618 WO2022062593A1 (zh) 2020-09-22 2021-07-15 评估数据库的方法和装置、计算设备和计算机程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011001238.8A CN114253935A (zh) 2020-09-22 2020-09-22 评估数据库的方法和装置、计算设备和计算机程序产品

Publications (1)

Publication Number Publication Date
CN114253935A true CN114253935A (zh) 2022-03-29

Family

ID=80789539

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011001238.8A Pending CN114253935A (zh) 2020-09-22 2020-09-22 评估数据库的方法和装置、计算设备和计算机程序产品

Country Status (2)

Country Link
CN (1) CN114253935A (zh)
WO (1) WO2022062593A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9703811B2 (en) * 2014-06-14 2017-07-11 Accenture Global Services Limited Assessing database migrations to cloud computing systems
US10185727B1 (en) * 2015-12-30 2019-01-22 Amazon Technologies, Inc. Migrating data between databases
CN108959470A (zh) * 2018-06-20 2018-12-07 郑州云海信息技术有限公司 一种数据库数据跨平台迁移方法和装置

Also Published As

Publication number Publication date
WO2022062593A1 (zh) 2022-03-31

Similar Documents

Publication Publication Date Title
US11422853B2 (en) Dynamic tree determination for data processing
US10541870B2 (en) Unified work backlog
JP6815456B2 (ja) 複数ソースからのデータの処理
US10353913B2 (en) Automating extract, transform, and load job testing
US10817501B1 (en) Systems and methods for using a reaction-based approach to managing shared state storage associated with a distributed database
US9996593B1 (en) Parallel processing framework
US9767149B2 (en) Joining data across a parallel database and a distributed processing system
WO2019226327A1 (en) Data platform fabric
US20170116032A1 (en) System and method for parallel support of multidimensional slices with a multidimensional database
US10282350B1 (en) Data store optimizer
US10817503B2 (en) System for transform generation
US20230018975A1 (en) Monolith database to distributed database transformation
JP2010524060A (ja) 分散コンピューティングにおけるデータマージング
CN103177059A (zh) 用于数据库计算引擎的分离处理路径
US11640347B2 (en) Automated query retry execution in a database system
US11232123B2 (en) Pseudo-synchronous processing by an analytic query and build cluster
CN114090580A (zh) 数据处理方法、装置、设备、存储介质及产品
EP3425534B1 (en) Selecting backing stores based on data request
US20200301737A1 (en) Configurable data parallelization method and system
CN115964176B (zh) 云计算集群调度方法、电子设备和存储介质
CN114253935A (zh) 评估数据库的方法和装置、计算设备和计算机程序产品
MAALA et al. Cluster trace analysis for performance enhancement in cloud computing environments
CN114253937A (zh) 迁移数据库的方法和装置、计算设备和计算机程序产品
US11392424B2 (en) Method and device for aiding decision-making for the allocation of computing means on a high performance computing infrastructure
CN117971398A (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