介绍
作为资深DBA,你在工作中有这种情况吗?构建数据平台,公司的首要工作就是将旧数据库的数据导入新数据库。虽然各种数据库都提供了导入和导出的工具,但数据需要存储在不同的地方。很难同步MongoDB、HBase、MySQL、Oracle等不同的数据库。那么如何做好两个数据库和不同类型数据库之间的相互迁移和转换呢?
今天,边肖对常用的数据库同步、迁移、转换工具做一个总结,让大家在需要的时候选择合适的工具完成工作~
一、SQLyog
SQLyog简介
SQLyog是业界著名的Webyog公司出品的一款简单、高效、功能强大的图形化MySQL数据库管理工具。使用SQLyog可以快速直观地使您通过网络从世界任何地方维护远程MySQL数据库。这也是边肖一直使用的MySQL管理客户端工具。
SQLyog功能
方便的数据库同步和数据库结构同步工具;易于使用的数据库和数据表备份和恢复功能;支持XML、HTML、CSV等数据格式的导入导出;直接运行批量SQL脚本文件,速度极快;新版本增加了强大的数据迁移。
二、Navicat
Navicat简介
Navicat是一种快速、可靠且廉价的数据库管理工具。Navicat提供多达7种语言供客户选择,被认为是最受欢迎的数据库前端用户界面工具。它可以用来管理和开发本地或远程的MySQL、SQL Server、SQLite、Oracle和PostgreSQL数据库。
Navicat支持功能
模型数据传输数据同步结构同步导入、导出、备份、恢复、报告创建工具和计划帮助管理数据
三、Ottor
Otor简介
Otttor是阿里巴巴开放的数据同步产品。它最初的目的是为了解决不同国家的整个机房都是双A,可以两面写的问题。发展时间长达七年,一直延续到现在。目前阿里巴巴B2B内部本地/远程机房的同步需求基本满足Otter。Otter支持基于数据库增量日志分析的mysql/oracle数据库同步,最新的4.2.13版本已经支持阿里巴巴云提供的mysql5.7和RDS数据库,边肖已经在实际项目中使用。
Ottor特性
基于Canal开源产品获取数据库增量日志数据。什么是运河?详见https://github.com/alibaba/canal)。典型的管理系统架构,managerweb management)节点work node),当manager运行时,同步配置推送到节点节点,节点节点将同步状态反馈给manager。基于zookeeper,为解决分布式状态调度,允许多节点协同工作。otter节点依赖zookeeper进行分布式调度,需要安装zookeeper节点或集群)。Ottor工作原理
Db :数据源和数据库要同步到Canal :用户获得数据库增量日志。目前主要支持mysqlmanager :配置同步规则,设置数据源同步源等。zookeeper :协调节点来协调工作。节点:负责任务处理接收的部分同步工作。
四、ESF Database Migration
ESF数据库迁移介绍
ESF数据库转换是一个强大的商业数据库转换工具。支持常用数据库之间的相互转换。目前“免费”版本可以在网上找到。如果不同数据库之间需要相互转换,可以使用这个工具来解决问题。
官方地址:https://www.easyfrom.net/
ESF数据库迁移功能
它支持Oracle、MySQL、SQL Server、PostgreSQL、Visual FoxPro、Firebird、Interbase、Access、Excel、Paradox、Lotus、DBase、Text之间的转换.
toutiaoimg.com/origin/pgc-image/5b69bb97567744a8855cd63a1e4606b5?from=pc”>
五、DB2DB
DB2DB简介
DB2DB 是目前经过测试速度最快、最稳定实现多种数据库之间进行数据转换的工具。支持 SQL Server、MySQL、SQLite、Access 等多种数据库类型,通过该工具可以把原来的系统,方便快速地部署在不同的数据库甚至是云端数据库下。在大数据情况下(千万级别以上),处理速度比国内外同类软件要高出300%以上。并针对云端数据库中使用最多的 MySQL 数据库进行优化,使得从源数据库复制到新数据库时保留更多的数据表属性设置。这样大大减少程序员、DBA、实施人员将大型数据库进行迁移时的等待、测试和调试时间,减少公司为了测试某系统转换到新数据库系统时的人力成本。
官方地址:http://www.szmesoft.com/DB2DB
DB2DB支持功能
任意类型数据库间进行转换;数据库表结构自动同步;数据表索引自动同步;数据表字段默认值自动同步;支持对二进制字段数据的同步;支持各种数据库中自增型字段的处理;支持同步前对数据表进行检查,避免出现由于数据库自身限制的原因而导致同步失败的情况;支持把同步内容导出为 SQL 文件的功能;支持自定义选择需要同步的数据表;支持将配置保存为方案,以方便日后重新使用;针对不同的机器配置,可以选择单线程或多线程同步方式。通过灵活的方式(可按月/周/天/小时/分钟)设定程序不限次定时执行同步动作。
六、 Kettle
Kettle简介
Kettle是一款国外开源的ETL工具,使用突破性的元数据驱动方法提供强大的提取,转换和加载(ETL)功能。在Windows、Linux、Unix上均可运行,数据抽取高效稳定。Kettle 中文名称叫水壶,它凭借图形化,拖放式设计环境以及可扩展、数据集成等特点,越来越成为组织的选择。
Kettle特点
Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
七、SyncNavigator
SyncNavigator简介
号称国内做的最好的数据库同步软件,傻瓜式同步数据库,只需要你设置好来源数据库和目标数据库的账号和密码,一键开启,后台自动同步,断点续传,增量同步,几乎不占内存和CPU资源。并且还支持异构数据库,也可以同步部分表或者部分字段,都可以进行更为精准的设置操作。
syncnavigator特点
是一款专业的SQLSERVER,MySQL数据库同步软件,它为你提供一种简单智能的方式完成复杂的数据库数据同步,分发操作。
支持同构数据库同步,异构数据库同步,定时同步,增量同步,断点续传完整支持Microsoft SQL Server 2000,2005,2008支持Mysql4.1,5.0,5.4,5.5支持大容量数据库快速同步。
八、DataX3.0
DataX3.0特点
DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。
DataX3.0特点
DataX本身作为离线数据同步框架,采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个同步框架中。
Reader:Reader 为数据采集模块,负责采集数据源的数据,将数据发送给Framework。Writer: Writer为数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。Framework:Framework用于连接reader和writer,作为两者的数据传输通道,并处理缓冲,流控,并发,数据转换等核心技术问题。
支持的数据库:
经过几年积累,DataX目前已经有了比较全面的插件体系,主流的RDBMS数据库、NOSQL、大数据计算系统都已经接入。DataX目前支持数据如下:
大家如有更好的工具推荐,欢迎在留言区补充~