当前位置: 首页 > news >正文

金仓数据库KingbaseES通过KDTS实现SQLServer至KingbaseES迁移深度实战指南

引言:国产数据库迁移的时代背景

在大数据加速推进的今天,国产数据库替代已成为企业数字化转型的关键一环。金仓数据库KingbaseES作为国产数据库的代表,其与KDTS(Kingbase Data Transfer Service)工具的协同使用,为SQL Server至KingbaseES的迁移提供了标准化、低风险的解决方案。本篇博客将从迁移评估到系统割接的全流程实践,涵盖迁移评估、迁移准备、数据迁移、代码迁移及测试验证五大核心阶段,为DBA和技术团队提供迁移方法论。

在这里插入图片描述

No.文章地址(点击进入)
1电科金仓KingbaseES数据库解析:国产数据库的崛起与技术创新
2KingBase数据库迁移利器:KDTS工具深度解析与实战指南
3KingBase数据库迁移利器:KDTS工具 MySQL数据迁移到KingbaseES实战
4电科金仓KingbaseES V9数据库:国产数据库的自主创新与行业实践深度解析
5KingbaseES客户端工具Ksql使用全指南:从安装到高级操作
6Spring JDBC与KingbaseES深度集成:构建高性能国产数据库应用实战
7深度解析:基于 ODBC连接 KingbaseES 数据库的完整操作与实践
8Oracle与Kingbase深度兼容体验:从连接配置到性能优化全解析
9Python驱动Ksycopg2连接和使用Kingbase:国产数据库实战指南
10Go语言×Kingbase数据库极速打通:Gokb驱动三步实操,让国产数据库连接效率嘎嘎提升!
11金仓数据库KingbaseES实现MongoDB平滑迁移全攻略:从架构适配到性能调优的完整实践
12深度解析:通过ADO.NET驱动Kdbndp高效连接与操作Kingbase数据库
13PHP驱动Pdo_kdb连接Kingbase数据库全攻略:从零到实战的深度指南
14KingbaseES数据库操作指南(1):SQL语法从入门到精通
15KingbaseES数据库操作指南(2):SQL语法从入门到精通

一、迁移评估:构建量化评估体系

1.1 KDMS迁移工具

KDTS是一款操作简单、高效稳定的数据库迁移工具,基于智能翻译技术和并行任务调度架构实现数据库对象的智能转换和数据的高效迁移,“一键操作”将各种国内外的数据库对象和数据迁移到KingbaseES数据库,帮助用户轻松完成数据库迁移的工作。

在这里插入图片描述

1.2 主要迁移内容

SQL Server数据库的迁移包含数据库迁移、用户迁移、数据迁移和应用程序迁移,这些内容必须严格按照顺序进行迁移,否则可能会导致迁移受阻。

1.3 确定迁移目标

开始迁移前,应根据实际需求,确定迁移目标

例如:

迁移SQL Server数据库的规模。
迁移SQL Server数据库对象的种类和特征,如简单和复杂迁移对象所占比例等。
迁移的难易程度,如是否迁移大对象,是否迁移大量约束等。
迁移的工期要求。
迁移中业务系统是否可以处于停止服务状态。
对目标系统的技术指标要求,诸如平台、版本、应用编程接口、工具、可用性、安全性和性能指标要求等。

1.4 评估迁移任务

迁移前对迁移的可行性、工作量、难易程度和工作进度等进行充分评估是为了降低迁移过程中的未知风险。

包括以下内容:

迁移技术指标,如迁移业务压力和性能指标等。
迁移数据规模,如迁移各类数据库对象的数量,PL/SQL程序的规模等。
迁移中KingbaseES不支持功能的种类和数量。
迁移的约束种类和数量。
迁移过程中可能遇到的其他问题。

在SQL Server迁移中常用的评估模板如下图:

  1. 迁移评估的数据库/应用概况模板
    在这里插入图片描述

  2. 迁移评估的迁移报告总结模板
    在这里插入图片描述

  3. 迁移评估的对象统计模板
    在这里插入图片描述

二、迁移准备:打造零故障迁移环境

2.1 准备迁移环境

在完成迁移评估后,需要开始准备迁移环境

部署目的数据库服务器 , 部署目的数据库服务器应遵循以下原则:

  1. 目的数据库服务器的CPU、内存、网络环境等硬件应尽量采用较高的配置。
  2. 如果需要迁移的SQL Server数据库系统规模较大,如超过1GB,则建议把SQL Server和KingbaseES部署在不同的物理机器上。
  3. 为确保迁移效率,应尽量把KingbaseES和SQL Server服务器部署到同一局域网内。

获取并安装必要的软件 , 迁移前应获取并安装如下软件:SQL Server数据库系统、KingbaseES数据库系统、PL/SQL Developer、JDBC和ODBC驱动程序、C语言开发工具、OCI软件、DCI软件、TPC-C测试工具、LoadRunner等。

注意:如果迁移数据规模较大,建议对安装的KingbaseES数据库服务器进行适当的优化,如增大shared_buffer大小、预先创建较大的日志文件,预先申请足够的表空间数据库文件等。

完成上述准备工作后,我们就可以开始SQL Server数据库迁移工作了

获取 SQL Server数据库的相关信息 , 迁移前,应获取源数据库SQL Server服务名及迁移的数据规模信息。其中,前者用于PL/SQL Developer工具的登录操作,后者用于估算数据迁移时间和设计迁移方案。

SQL Server数据库基本信息
获取源SQL Server数据库的:

IP地址
实例名
网络服务端口号
用户名/密码

在目标KingbaseES上:

创建与源SQL Server用户(如sa)同名的用户(sa)。
创建与源SQL Server(如master)同名的数据库(master),属主为sa。
创建与源SQL Server(与用户名相同t)同名的模式dbo,属主为dbo。

查询SQL Server数据库编码方式

select * from sys.server_collations;

查看表数据量大小
查看当前用户在SQL Server中的表大小,按从大到小排序(单位GB)

select sum(total_pages) * 8 from sys.allocation_units;

检查数据库日期格式
时间的默认格式为:ISO, MDY

select GETDATE();
2024-08-25 17:56:44.580

在配置文件中添加:datestyle =‘ISO,YMD’ 修改为年月日的格式(99会改为1999)

配置KingbaseES的SQL Server兼容开关 , 根据实际情况,应对目的数据库KingbaseES进行适当的SQL Server兼容配置

配置目的库KingbaseES性能参数 , 为了提高迁移速度,应对目的库KingbaseES进行性能优化配置

2.2 数据库、用户和模式迁移

数据库、用户迁移主要包括以下内容:

  1. 获取源SQL Server数据库的IP地址、实例名、网络服务端口号、用户名/密码等信息

  2. 在目标KingbaseES数据库上,使用 Ksql 或 Kstudio 工具上执行如下操作:

创建与源SQL Server用户同名的用户,例如创建与SQL Server同名的sa用户。
创建与源SQL Server同名的数据库,例如创建与SQL Server同名的master数据库,它的属主为sa。若同名数据库存在,可以使用其他的数据库名称,若使用了新的数据库名称,则需要修改应用程序的连接串中的数据库名称。

  1. KingbaseES initdb时需添加 -m sqlserver 参数

三、数据迁移:WEB迁移

不同的迁移方式需要用到不同的迁移工具

  1. 离线迁移,使用 KDTS 即可完成 SQL Server 的完整迁移。
  2. 在线迁移,需要先使用 KDTS 完成历史状态迁移,然后使用 KFS 完成数据的在线追平
    在这里插入图片描述

3.1 离线迁移

可使用KDTS进行数据的离线迁移,KDTS提供了两种形态(WEB、SHELL),用户可根据需要进行选择,以下章节将分别介绍WEB、SHELL版本进行SQL Server迁移的具体步骤

  1. 创建源数据库连接

在这里插入图片描述

  1. 创建目标数据库连接

在这里插入图片描述

  1. 新建迁移任务

选择数据源

填写自定义任务名称(任务名称不能重复),选择“源数据库”和“目标数据库”,或者选择“新建数据源”后使用

在这里插入图片描述

选择模式

在这里插入图片描述

选择迁移对象

在这里插入图片描述
可迁移此模式下全部表,也可以指定或排除部份表,当选择“包含指定表”或“排除指定表”时,请通过“从列表选择”、“从文件导入”或者在输入框内输入表名将数据添加到包含列表中,若未添加数据,则会提示错误导致无法进行下一步并完成新建任务。

在这里插入图片描述

点击“排除指定表”时也可选择多种方式

在这里插入图片描述

配置参数

在这里插入图片描述

执行迁移任务

可将此任务作为预迁移任务点击“保存”,或者作为执行任务点击“保存并迁移”

在这里插入图片描述
查看迁移报告及问题处理

迁移完成后,需要确认执行结果,包括迁移数据量,是否有错误发生,可以通过迁移日志和迁移结果进行查看。

在这里插入图片描述

四、应用代码迁移:从语法适配到逻辑重构

4.1 服务器应用代码迁移

数据迁移后,需要迁移应用系统中用到的服务器应用代码。

KDTS 已经完成了存储过程,函数等过程对象的迁移, 只需要关注应用代码中用到的批处理块的代码的迁移。

4.2 客户端应用代码迁移

在应用编程接口方面,KingbaseES与SQL Server兼容程度较高,所以,一般情况下,应用程序迁移比较容易。应用程序迁移通常应和迁移后的系统测试同时进行。这样可及时修改测试过程中发现的问题。

通常,在应用程序可采用API方式访问和操纵数据库:

该方式通过数据库厂商提供的各种标准应用编程接口在应用程序中与数据库进行交互。常用的应用编程接口如JDBC和ODBC等。目前,大多数数据库厂商均提供很多标准的数据库API及其驱动程序。

在实际应用中,应首先加载驱动程序。加载成功后,利用API函数与数据库交互并完成对数据库数据的操作。

五、测试验证

任何一个成熟的应用系统如果代码、尤其是关键代码变动后,则应进行全面细致的测试。类似的,更换新的后台数据库系统以后,也应对迁移后的数据库系统进行全面的功能和性能测试。

5.1 功能测试和排错

功能测试是指对迁移后的数据库系统的每一个模块和功能进行全面的系统回归测试,用以确保新系统各个功能的正确性

完成数据库对象和应用程序迁移后,应对迁移后的系统进行全面的功能测试,并对测出问题及时分析、排查和修改

5.2性能测试和调优

迁移后的系统性能测试和调优是在完成迁移得系统功能测试后和系统上线前,在实际或模拟生产数据上,对迁移后的系统进行的性能测试和调优。

调优:

构造测试数据:若条件允许的话,建议构造与实际生产数据规模相同的数据,并模拟构造未来一年、两年、五年或更长生命周期的数据进行测试。
部署测试软硬件环境:根据测试数据规模的大小,配置适当的测试软硬件环境。
性能测试:既可采用手动方式,也可利用TPCC测试工具、LoadRunner等工具对迁移后的系统进行自动测试。
性能调优:对未达到性能指标的功能模块及其SQL语句进行优化

通常,性能测试效果与测试数据规模、软硬件配置等因素密切相关。因此,建议性能测试时,测试数据规模、软硬件配置应尽量与将来的实际生产环境一致。必要时,在未来一年、两年、五年等不同模拟数据规模场景下,应分别测试迁移后的系统的性能指标,用以保证钱以后的系统未来仍能具有良好的性能表现

六、结语:迈向数据库国产化新纪元

通过KDTS工具实现SQL Server至KingbaseES的迁移,不仅是技术层面的升级,更是企业数字化转型的关键一步。本篇从迁移评估到系统割接的全流程实践。在大数据加速发展的背景下,掌握国产数据库迁移的核心技术,已成为每一位DBA的必备能力。

http://www.dtcms.com/a/562245.html

相关文章:

  • 做英语quiz的网站wordpress个人资料页修改
  • (论文速读)FDConv:用于密集图像预测的频率动态卷积
  • 网站定位案例wordpress默认域名
  • 句容网站建设制作郑州市建设局官方网站
  • dbDiffo:一个免费的在线数据库设计工具
  • 拥抱现代安卓开发:从构建到发布的全新视角
  • 38_AI智能体核心业务之对话历史Agent:构建有记忆的智能对话系统
  • 体育 网站建设询价函格式池州网站seo
  • 莱阳网站制作天津网站制作费用
  • 001主引导扇区
  • PyCharm的初始设置
  • 天津 交友 网站建设网站建设流费用
  • 阜阳网站优化wordpress素锦 下载
  • 自建站怎么搭建学ui有前途吗
  • 南昌网站建设技术托管wordpress固定链接设置访问出错
  • 河南艾特网站建设果乐宝的网站建设
  • 惠州专业网站设计公司多说插件 wordpress
  • 网站建设分类方案合击版手游带月灵
  • C++世界的混沌边界:undefined_behavior
  • 【AI学习-comfyUI学习-文生图-各个部分学习-第一步】
  • 学习RT-thread(线程、线程调度方式、线程状态)
  • asp.net网站第一次运行慢成长厉程网站
  • 网站如何做攻击防护做啥英文网站赚钱
  • 云南省建设厅网站职称评审wordpress 代码行号
  • 频繁从一个网站链接到另一个网站会影响百度收录么简单的网站开发软件
  • Kubernetes 核心资源:Service 与 Pod 解析
  • 福安市网站建设广告发布平台
  • 关于Dynamics 365多选选项集在使用Contains-value时失效问题的分析与解决
  • 可以免费创建网站的软件数字化文化馆网站建设
  • 【C语言】选择结构和循环结构的进阶