数据同步

内外网数据同步

方案一

  1、外网需要同步的表加上触发器,保存在临时表。

  2、task定时导出临时表记录,修改已导出记录的状态,上传到类似ftp目录上。

  3、内网task通过连接Ftp取下文件,将记录导入到内网临时表,后台task通过调用存储过程解析数据

方案二

  1、编写应用路由程序,实现内外网通讯。

  2、获取外网数据变革,转换为SQL脚本,由应用路由同步传输进入内网机器。

  3、执行SQL脚本,更新内网数据。

 

数据库/文件系统之间高速交换数据的工具

DataX。DataX是一个在异构的数据库/文件系统之间高速交换数据的工具,实现了在任意的数据处理系统(RDBMS/Hdfs/Local filesystem)之间的数据交换,由淘宝数据平台部门完成。

DataX用来解决什么?


目前成熟的数据导入导出工具比较多,但是一般都只能用于数据导入或者导出,并且只能支持一个或者几个特定类型的数据库。这样带来的一个问题是,如果我们拥有很多不同类型的数据库/文件系统(Mysql/Oracle/Rac/Hive/Other…),并且经常需要在它们之间导入导出数据,那么我们可能需要开发/维护/学习使用一批这样的工具(jdbcdump/dbloader/multithread/getmerge+sqlloader/mysqldumper…)。而且以后每增加一种库类型,我们需要的工具数目将线性增长。(当我们需要将mysql的数据导入oracle的时候,有没有过想从jdbcdump和dbloader上各掰下来一半拼在一起到冲动?) 这些工具有些使用文件中转数据,有些使用管道,不同程度的为数据中转带来额外开销,效率差别很非常大。很多工具也无法满足ETL任务中常见的需求,比如日期格式转化,特性字符的转化,编码转换。另外,有些时候,我们希望在一个很短的时间窗口内,将一份数据从一个数据库同时导出到多个不同类型的数据库。 DataX正是为了解决这些问题而生。

posted @ 2018-06-14 22:04  沈建军  阅读(221)  评论(0编辑  收藏  举报