引言
作为资深的DBA同胞你是否在工作中也存在这样的情况呢?公司要搭建数据平台,首要的工作就是把旧库的数据导入到新库中,虽然各种数据库都提供了导入导出的工具,但是数据需要存储到各个地方,MongoDB、HBase、mysql、Oracle等各种各样的不同数据库,同步起来就有一些困难了。那么如何做好两个数据库之间、不同类型的数据库之间的相互迁移转换呢?
今天小编就常用的数据库同步、迁移转换工具进行一个汇总,以便大家在需要的时候,选择到合适的工具完成自己的工作~
一、SQLyogSQLyog简介
SQLyog是业界著名的Webyog公司出品的一款简洁高效、功能强大的图形化MySQL数据库管理工具。使用SQLyog可以快速直观地让你从世界的任何角落通过网络来维护远端的MySQL数据库。它也是小编工作一直使用的MySQL管理客户端工具哦。
SQLyog特点
- 方便快捷的数据库同步与数据库结构同步工具;
- 易用的数据库、数据表备份与还原功能;
- 支持导入与导出XML、HTML、CSV等多种格式的数据;
- 直接运行批量SQL脚本文件,速度极快;
- 新版本更是增加了强大的数据迁移
Navicat简介
Navicat是一套快速、可靠并且价格相当便宜的数据库管理工具,Navicat提供多达 7 种语言供客户选择,被认为是最受欢迎的数据库前端用户界面工具。它可以用来对本地或远程的 MySQL、SQL Server、SQLite、Oracle 及 PostgreSQL 数据库进行管理及开发。
Navicat支持功能
- 数据模型
- 数据传输
- 数据同步
- 结构同步
- 导入、导出、备份、还原、报表创建工具及计划以协助管理数据
Ottor简介
Otttor是由阿里巴巴开源的一个数据同步产品,它的最初的目的是为了解决跨国异地整个机房的架构为双A,两边均可写。开发时间长达7年,并持续到现在。目前阿里巴巴B2B内部的本地/异地机房的同步需求基本全上了Otter。Otter基于数据库增量日志解析,支持mysql/oracle数据库进行同步,在最新的v4.2.13已经支持mysql5.7以及阿里云提供的RDS数据库。小编已经在实际项目中使用。
Ottor特点
- 基于Canal开源产品,获取数据库增量日志数据。 (什么是Canal,详情查看https://github.com/alibaba/canal)。
- 典型管理系统架构,manager(web管理) node(工作节点),manager运行时推送同步配置到node节点,node节点将同步状态反馈到manager上。
- 基于zookeeper,解决分布式状态调度的,允许多node节点之间协同工作.(otter node依赖于zookeeper进行分布式调度,需要安装一个zookeeper节点或者集群)。
Ottor运行原理