Java教程

数据库同步的正确打开方式

本文主要是介绍数据库同步的正确打开方式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

下载网站:www.SyncNavigator.CN  客服QQ1793040
----------------------------------------------------------


关于HKROnline SyncNavigator 注册机价格的问题

 

HKROnline SyncNavigator 8.4.1 非破解版 注册机 授权激活教程

 

最近一直在研究数据库同步的问题,在网上查了很多资料,也请教了很多人,找到了一种通过快照复制的方法。研究了一番后发现之前就是用的这个方法,效果不是很好,果断放弃。经过了一番寻觅和他人指点,最后从一位热心网友那里得知一款很好用的软件—— SyncNavigator。

好东西就要拿出来跟大家分享,所以今天向大家介绍一下这款软件,及其一些使用方法。下面先看看它有什么强大的功能吧!

SyncNavigator的基本功能:

自动同步数据/定时同步数据
无论是实时同步/24小时不间断同步,还是根据计划任务(每小时/每日/每周/等)定时自动同步都能完全胜任。

完整支持 Microsoft SQL Server
完整支持 Microsoft SQL Server 2000 2005 2008 数据库类型。并能在不同数据库版本之间相互同步数据。

支持 MySQL 4.1 以上版本
支持 MySQL 4.1 5.0 5.1 5.4 5.5。并能在不同数据库版本之间相互同步数据。

无人值守和故障自动恢复
当数据库故障或网络故障以后,无需人工干预(或操作)自动恢复同步并确保数据完全准确,可靠。

同构数据库同步/异构数据库同步
SQL Server to SQL Server, MySQL to MySQL, SQL Server to MySQL 等都能轻松实现。

断点续传和增量同步
当同步完成(或中断)后,再次同步时能继续上一次的位置增量同步,避免每次都需要从头开始的问题。

相信很多的用户在迁移上云上最头疼的是数据库备份和还原了吧。对于有些年头企业的数据可能很大,用数据库自带的dump工具备份导出又导入,在传输上耗时又费力。Bespin Global资深交付工程师张小娅将为您介绍一种离线数据同步工具DATAX,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种同构/异构数据源之间高效的数据同步功能。

教程System Requirements

  • Linux
  • JDK(1.8以上,推荐1.8)
  • Python(推荐Python2.6.X)
  • Apache      Maven 3.x (Compile DataX)

工具部署

  • 直接下载datax工具包

http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

下载后解压至本地某个目录,进入bin目录,即可运行同步作业

$ cd  {YOUR_DATAX_HOME}/bin

$ python datax.py {YOUR_JOB.json}

  • 配置示例

可以通过命令查看配置模板: python datax.py -r {YOUR_READER} -w {YOUR_WRITER}

  • 重要参数配置说明
splitPk MysqlReader进行数据抽取时,如果指定splitPk,表示用户希望使用splitPk代表的字段进行数据分片,DataX因此会启动并发任务进行数据同步,这样可以大大提供数据同步的效能。
Where 筛选条件,MysqlReader根据指定的column、table、where条件拼接SQL,并根据这个SQL进行数据抽取。
Querysql 在有些业务场景下,where这一配置项不足以描述所筛选的条件,用户可以通过该配置型来自定义筛选SQL
Batchsize 一次性批量提交的记录数大小,该值可以极大减少DataX与Mysql的网络交互次数,并提升整体吞吐量。但是该值设置过大可能会造成DataX运行进程OOM情况。 1024
Channel 传输启动的通道数,通道数和batchsize对性能影响较大

功能最佳实战

这里以同构数据库MySQL迁移为例向大家介绍迁移中JSON文件的具体配置。

*由于本文章内容过多迁移成功后的输出日志本文章中不体现

1

IDC 数据库上云最佳实战

  • 自建Mysql服务迁移至阿里云RDS-Mysql

{

“job”: {

“setting”: {

“speed”: {

“channel”: 5

}

},

“content”: [{

“reader”: {

“name”: “mysqlreader”,

“parameter”: {

“username”: “root”,

“password”: “xxxxx”,

“column”: [

“*”

],

“connection”: [{

“table”: [

“member”

],

“jdbcUrl”: [

“jdbc:mysql://192.168.4.188:3306/bespin?useUnicode=true&characterEncoding=gbk”

]

}]

}

},

“writer”: {

“name”: “mysqlwriter”,

“parameter”: {

“username”: “member”,

“password”: “xxxxxxxx”,

“column”: [

“*”

],

“connection”: [{

“jdbcUrl”: “jdbc:mysql://rm-2zedc22cukg7v0hvifo.mysql.rds.aliyuncs.com:3306/mysqltest?useUnicode=true&charact

erEncoding=gbk”,

“table”: [

“member”

]

}]

}

}

}]

}

}

*迁移上腾讯云,类似,只需要把writer中的jdbcUrl中的地址替换成功腾讯云数据库CDB的地址就可以,

如jdbc:mysql://bj-cdb-16u291gu.sql.tencentcdb.com:63061/member?useUnicode=true&characterEncoding=gbk*

2

云云之间数据库迁移最佳实战

  • 腾讯云CDB-mysql数据库迁移至阿里云RDS-Mysql数据库

{

“job”: {

“setting”: {

“speed”: {

“channel”: 5

}

},

“content”: [{

“reader”: {

“name”: “mysqlreader”,

“parameter”: {

“username”: “member”,

“password”: “xxxxx”,

“column”: [

“*”

],

“connection”: [{

“table”: [

“member”

],

“jdbcUrl”: [

“jdbc:mysql://bj-cdb-16u291gu.sql.tencentcdb.com:63061/member?useUnicode=true&characterEncoding=gbk”

]

}]

}

},

“writer”: {

“name”: “mysqlwriter”,

“parameter”: {

“username”: “member”,

“password”: “xxxxxxx”,

“column”: [

“*”

],

“connection”: [{

“jdbcUrl”: “jdbc:mysql://rm-2zedc22cukg7v0hvifo.mysql.rds.aliyuncs.com:3306/mysqltest?useUnicode=true&charact

erEncoding=gbk”,

“table”: [

“member”

]

}]

}

}

}]

}

}

*阿里云RDS-mysql数据库迁移至腾讯云CDB-mysql数据库类型,只需要将jdbcurl地址修改正确就可以*

3

同一张表分多进程同步

一张表数据量较大时,可以启动多个datax进程进行传输,通过表里的列进行数据分批,比如日期或者自增列的键值,json写法如下:

{

“job”: {

“setting”: {

“speed”: {

“channel”: 4

}

},

“content”: [{

“reader”: {

“name”: “mysqlreader”,

“parameter”: {

“username”: “root”,

“password”: “xxxx”,

“connection”: [{

“jdbcUrl”: [

“jdbc:mysql://10.10.10.1:3306/bespin?useUnicode=true&characterEncoding=gbk”

],

“querySql”: [

“SELECT id,name from table1 WHERE id>499999”

]

}]

}

},

“writer”: {

“name”: “mysqlwriter”,

“parameter”: {

“writeMode”: “insert”,

“username”: “root”,

“password”: “xxxxx”,

“column”: [

“*”

],

“connection”: [{

“jdbcUrl”: “jdbc:mysql://10.10.0.2:3306/bespin?useUnicode=true&characterEncoding=gbk”,

“table”: [

“table1”

]

}]

}

}

}]

}

}

结束语DataX的性能和稳定性均经过众多项目的验证,可以作为一款值得依赖的云端/线下数据迁移工具;同时,DataX支持众多的数据源,经过良好规划,可以实现异构数据之间的互通,降低数据迁移成本、提高迁移便捷性;另外,DataX还可作为一款ETL工具,也为数据进出大数据平台提供传输通道。当然,工具是为人所用,丰富的经验积累才能充分发挥出工具的强大功能,欢迎大家和 Bespin 交付团队共同探讨云端应用为企业带来的价值实现。

这篇关于数据库同步的正确打开方式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!