
引言
作为资深的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
Ottor简介
Otttor是由阿里巴巴开源的一个数据同步产品,它的最初的目的是为了解决跨国异地整个机房的架构为双A,两边均可写。开发时间长达7年,并持续到现在。目前阿里巴巴B2B内部的本地/异地机房的同步需求基本全上了Otter。Otter基于数据库增量日志解析,支持mysql/oracle数据库进行同步,在最新的v4213已经支持mysql57以及阿里云提供的RDS数据库。小编已经在实际项目中使用。
Ottor特点
基于Canal开源产品,获取数据库增量日志数据。 (什么是Canal,详情查看>
下载并安装Oracle JDBC驱动,可以从Oracle官网下载。
启动Spoon,新建一个Trans。
点击左侧的Database,选择Oracle。
在连接Oracle数据库的页面,填写以下信息:
Host name: Oracle数据库所在的主机名或IP地址。
Port number: Oracle数据库的监听端口号,默认为1521。
Database name: 要连接的Oracle数据库名称。
User name: 连接Oracle数据库的用户名。
Password: 连接Oracle数据库的密码。
点击Test按钮,测试连接是否成功。
连接成功后,就可以在Trans中使用Oracle数据库了。
注意事项:
需要将Oracle JDBC驱动的jar包复制到Kettle的lib目录下。
在连接Oracle数据库时,需要保证Oracle数据库已经启动,并且监听程序也已经启动。
运行kettle 后,会显示资源库链接窗口,如果没有资源库就创建一个。
kettle有两种资源库:一种是文件资源库,可以指定磁盘的某个文件件;一种是数据库资源库,在”数据库信息“窗口中,“新建” 指定数据库主机名,数据库名,用户名和密码就可以新建一个资源库,“创建或更新”可以将kettle必须的表自动创建到数据库中。
登录可以用 admin/admin
1、我们打开mysql命令行编辑器。
2、我们输入密码,连接数据库。
3、我们先查看一下所有数据库,是否有我们想要 *** 作的。(当然你也可以自己创建一个数据库)。
4、我们输入使用数据库。我们创建学生类表,表里面输入数据列。createtable表名。
5、我们showtables,就可以查看我们在数据库中创建的学生类表了。
好评赠送Kettle软件包61-8(1)2,免费下载
sd59
kettle 是纯 java 开发,开源的 ETL工具,用于数据库间的数据迁移 。可以在 Linux、windows、unix 中运行。有图形界面,也有命令脚本还可以二次开发。
kettle可以接入多种数据源原因:由于kettle是纯java编辑,所以kettle连接mysql库的时候需要mysql的java连接包,百度下载一个mysql的java连接驱动。
kettle使用文件资源库不需要用户名和密码,如果没有资源库可以点击右上角的"+"新建资源库。为建立数据库的资源库,本例选择使用文件资源库,选择确定后会要求选择文件资源库的路径,并给文件资源库设置一个ID和名称。
kettle无代码拖拽式构建数据管道:
kettle可Pentaho采用拖拽组件、连线、配置的方式来构建数据管道,透过超过200个不同的组件,用户可以在不编写一句代码就能轻松完成对数据源读取。
对数据进行关联、过滤、格式转换、计算、统计、建模、挖掘、输出到不同的数据目标。极大程度地降低开发技术门槛和有效减低开发和维护成本。
下载pdi-ce-440-stablezip,解压到文件夹,打开data-integration中的Spoonbat
2
出现欢迎界面后来到Repository Connection窗口,选择建立一个新的repository,随后出现“资源库信息”窗口:
在“资源库信息”窗口中选择新建一个数据库连接,d出“Database Connection”窗口:
在其中输入Connection Name, Host Name, Database Name, Port Number, User Name,Password信息即可建立连接,完成之后在Repository Connection窗口以admin用户名登陆。
新建一个名为cscgTransTest的Transformation,从“核心对象”中将两个“表输入”和一个“插入/更新”拖入到cscgTransTest中,并建立它们之间的连接,如下图所示:
在cscgTransTest中建立一个新的数据库连接ttt,通过表输入“max_createtime”从目标数据库ttt中获取某个表中最新数据的建立时间:
SELECT max(trunc(createtime)) FROMumdatatoeventmedia
在cscgTransTest中建立一个新的数据库连接testdb,以表输入“max_createtime”的查询结果替代表输入“umdatatoeventmedia”中的变量,执行SQL语句从数据库testdb中获取需要插入或者更新到ttt数据库的数据
SELECT FROMumdatatoeventmedia where trunc(createtime) >= trunc()
在“插入/更新”中选择“数据库连接”、“目标模式”、“目标表”等信息,“用来查询的关键字”中的字段用来查询某条记录是否在目标表中存在,不存在则插入记录;如果存在,则继续比较其他字段是否与流里的字段值相同,如果相同则不执行任何 *** 作,如果不同则更新“更新字段”中所列字段。
“用来查询的关键字”所列字段是该表的primarykey,从而可以唯一标识一条记录。
分别为每一个表建立一个如上模式的转换步骤。
新建一个名为“cscgJobTest”的Job,在核心对象中将“START”和“Transformation”拖入cscgJobTest中,并建立两者之间的连接。
选中START中的“重复执行”,类型为“不需要定时”;在Transformation中将转换名设置为之前建立的“cscgTransTest”
点击“Run this Job”运行。Job和Transformation的执行结果如如下:
以上就是关于kettle有什么特点全部的内容,包括:kettle有什么特点、kettle如何连接oracle数据库、kettle怎么连接mysql等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)