首页 > 数据库 >DBMove数据库迁移管理工具

DBMove数据库迁移管理工具

时间:2024-12-02 14:01:24浏览次数:7  
标签:数据库 DBMove 管理工具 支持 belf https 迁移

介绍

DBMove是AI驱动的信创数据库移迁工具链,提供了一套完整的工具链(评估、迁移、验证、割接、监控),可在有限的时间内, 平滑、高质量、低代价地实现国产数据库替代。

完整的DBMove介绍请参考这篇文档icon-default.png?t=O83Ahttps://gitee.com/yumuai/dbmove/blob/master/belf-docs/intro.pdf

应用场景

DBMove支持各种数据迁移、数据改造类场景:

  1. 异构数据库迁移(如信创迁移,国产数据库替代):
    改造迁移:新业务系统重建,将老业务系统数据迁移过来,可能涉及到数据的合并、拆分、转换,将多个源数据库迁移目标数据库。 平替迁移:将原有业务系统平行迁移到新的环境,新环境可能是硬件、OS和DB是同类(软件升级);也可能和原有环境软硬件不一样, 数据库替换为另一种数据库。平替迁移,需要将原有数据库的所有数据、数据库对象(视图、函数、触发器、存储过程等)都完整迁移过来。
  2. 数据库在线备份与灾备应用:DBMove支持在线不停机将业务数据库数据实时同步到备用数据库。通过业务割接工具,可实现异地实时灾备。
  3. 数据库在线扩容升级:原有业务系统长期运行,数据库中数据膨胀过快,磁盘不足,无法停机升级硬件。可使用DBMove在线将数据库 复制到新的硬件,在实时割接到新的硬件上。
  4. 数据库版本升级:在新硬件上安装新版数据库,同样使用DBMove的在线复制和实时割接能力,实现在线数据库版本升级。
  5. 数据库系统打补丁:在新硬件上安装同版本数据库,打上补丁,同样使用DBMove的在线复制和实时割接能力,实现在线数据库打补丁。

DBMove核心功能

开源版本

  • 国产数据库支持: DBMove对国产数据库做了非常好的支持,在函数、数据类型、语法特性上做了深入的细化处理,对于国产数据库替代有较大帮助。
  • 支持迁移前的技术评估和数据库选型:支持数据库一对一评估、一对多评估
  • 支持同构数据库、异构数据库之间的迁移。
  • 支持流批一体化数据迁移:全量备份,增量同步,全量和增量一体化同步。
  • 确保迁移后数据一致性(尤其适用于目标数据库有自增字段做主键的场景)
  • 支持常见的数据转换DBT(Data Build Tool)功能(预计2024年12月底的V1.0实现):
    • 表/库一对一、一对多、多对一迁移
    • 支持字段的合并、拆分
    • 支持源端字段过滤
    • 支持目标端新增字段
    • 支持字段类型转换
    • 支持字段值转换
    • 支持通过计算在目标端新增字段
    • 支持读取阶段或写入阶段做规则转换
  • 支持数据库对象迁移:如表、索引、外键、约束、视图、触发器、同义词、自定义函数、自定义类型、存储过程、同义词的迁移。
  • 基于大模型实现数据库对象DDL转换:DBMove与其他数据库迁移工具最大的不同,是引入大模型LLM技术对各种复杂数据库对象进行自动转换。未来DBMove会大量采用LLM以实现更多智能化功能。
  • 支持整库迁移(Datax或Seatunnel对整库迁移支持极为有限)。
  • 支持迁移后的数据验证。
  • 数据库SQL转换,可基于大模型智能纠错(测试中,预计2024年11月底实现)。

商业版本

对于商业客户,DBMove通过北京元目智能科技有限公司还提供以下功能和服务:

  • 提供信创业务整体迁移服务,包括操作系统、应用程序、中间件、数据库的迁移。
  • 提供更丰富的数据库适配;支持关系数据库迁移到常见NoSQL数据库。
  • 支持复杂数据迁移需求,如多库合并、多表合并、单库拆分、单表拆分。
  • 支持多源异构数据迁移(如数据库表和excel/csv文件联合迁移)。
  • 提供数据库对象依赖图,根据依赖图自动制定迁移先后顺序。
  • 提供业务迁移技术选型和迁移方案定制服务。
  • 提供业务瞬时割接工具:在数据库和应用程序迁移完成时,进行业务的自动瞬时割接,确保业务一致性,确保数据不丢失、业务不中断。
  • 确保数据安全迁移:对传输数据及进行加密,符合国密和军密要求;对数据的访问提供分级授权和安全审计;对传输网络进行加固。
  • 支持异构网络环境的数据迁移,如内网和外网之间、不同云平台之间的迁移。
  • 提供迁移后的数据库查询优化,确保业务顺畅执行。
  • 提供可本地部署的私有大模型
  • 可提供数据迁移的定制开发和个性化服务。

支持的数据源

源端数据库

已经支持:

  • Oracle
  • SQL Server
  • MySQL

以下是源端计划支持的:

  • DB2
  • PostgreSQL

目标端数据库

已经支持:

  • 达梦Dameng
  • 金仓Kingbase
  • 南大通用GBase
  • 神州通用Oscar

以下是目标端计划支持的:

  • TiDB
  • Oceanbase
  • OpenGauss
  • TDSQL
  • MySQL
  • Oracle
  • PostgreSQL

软件架构

DBMove主要基于Java语言开发(OpenJDK-17+),大模型训练和推理使用Python(Python3.1.12+)完成。 以下是各个子工程的说明:

  • belf-migrate:实现核心引擎,数据库的评估、数据同步、数据库结构同步、数据验证都在本工程实现。
  • belf-console:管理控制台的后端java实现。
  • belf-consoleWeb:管理控制台的前端VUE实现。
  • belf-docs: DBMove的相关技术文档。

DBMove一般需要部署在单独的机器上。如果还需要业务割接功能,则需要在源端和目标端各部署一个Agent,用于监控业务逻辑和控制割接流程。

安装教程

  1. Windows下的手动编译和构建可参考win_setup.md
  2. Linux下的手动编译和构建可参考目录belf-docs/setup/linux_package下的脚本

Demo演示

请参考在线演示

Docker安装

DBMove可以在Linux、Windows、Mac平台上支持下列三种运行方式:

  • 发布版:依赖MySQL≥8.0、Redis ≥7.4、JDK≥17、Python≥3.1.12
  • 源代码构建模式:依赖MySQL ≥8.0、Redis ≥7.4、JDK ≥17、Gradle ≥8.0
  • Docker模式:依赖Docker Engine、Docker Compose
  1. 根据选择的运行方式做依赖准备,
  2. 发行版
  3. 源代码构建模式
  4. Docker模式
    • 启动
      • docker-compose up -d # pull images from registry
      • docker-compose -f docker-compose_build.yml up -d --build # build images local
    • 关闭 docker-compose down
  5. Linux curl一键安装模式

标签:数据库,DBMove,管理工具,支持,belf,https,迁移
From: https://blog.csdn.net/2409_89329582/article/details/144186223

相关文章

  • Milvus Cloud 2.5:向量数据库的新里程碑与全文检索的革新
    MilvusCloud2.5:向量数据库的新里程碑与全文检索的革新各位同仁,大家好!我是大禹智库的向量数据库高级研究员王帅旭,也是《向量数据库指南》的作者。今天,我怀着激动的心情,为大家带来MilvusCloud2.5最新版本的深度解读。这个版本不仅标志着我们在向量数据库领域的又一次重大......
  • 《向量数据库指南》——揭秘传统单任务CV模型的三大困境!
    传统单任务计算机视觉模型的局限性:挑战与突破各位同仁,大家好!我是大禹智库的向量数据库高级研究员王帅旭,也是《向量数据库指南》的作者。今天,我想和大家深入探讨一个我们在计算机视觉领域经常遇到的问题——传统单任务计算机视觉模型的局限性。希望通过我的分享,大家能够对这个......
  • SSM酒店管理系统81279(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目背景随着旅游业的蓬勃发展,酒店业竞争日益激烈。为提高酒店运营效率,提升客户体验,开发一套高效、智能的酒店管理系统显得尤为重要。该系统旨......
  • SSM奖学金申报及评定系统平台(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目背景随着教育信息化的不断发展,传统的奖学金申报及评定方式已难以满足现代高校管理的需求。传统方式存在评定效率低下、信息不准确、过程不......
  • SSM家政服务平台的设计与实现b2uu0--(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、课题背景随着生活节奏的加快,家政服务已成为现代家庭不可或缺的一部分。然而,传统家政服务市场存在信息不对称、服务质量参差不齐等问题。因此,设......
  • 运维脚本: Mysql数据库备份
    背景介绍在数据库管理和运维中,定期备份数据库是防止数据丢失和灾难恢复的基础。对于MySQL数据库,手动备份可能会导致频繁的操作失误或遗漏,因此,自动化备份脚本的编写变得尤为重要。本文将为你介绍如何编写一个简单且实用的MySQL备份脚本,通过该脚本,用户可以轻松自动化备份过程......
  • 13TB的StarRocks大数据库迁移过程
      公司有一套StarRocks的大数据库在大股东的腾讯云环境中,通过腾讯云的对等连接打通,通过dolphinscheduler调度datax离线抽取数据和SQL计算汇总,还有在大股东的特有的Flink集群环境,该环境开发了flink开发程序包部署,实时同步数据。   公司业务帆软报表平台有40张左右的报表......
  • 数据库优化方案
    数据库优化方案1.对查询进行优化,要尽量避免全表扫描,首先应考虑在where及orderby涉及的列上建立索引。2.应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:selectidfromtwherenumisnull最好不要给数据库留NULL,尽可能的......
  • 医疗数据库性能优化的关键策略浅谈
    一、引言在当今数据智能化时代,医院信息系统对于医院的高效运行起着至关重要的作用。医院信息系统的数据库管理系统,其重要性不言而喻。医院每天都要处理大量的患者信息、医疗记录、药品库存、医疗设备维护记录等数据,这些数据对于医院的日常运营和医疗决策至关重要。数据库以......
  • Activiti 数据库设计
    一:数据库表初始化1:源代码下载:2:代码执行执行日志:10:11:53,500[main]INFOorg.activiti.engine.ProcessEngines-Initializingprocessengineusingconfiguration'file:/E:/activiti6_studing_damo_code/activiti6_studing-damo-code/activitiDemo_firstAct/bin/activiti.cf......