数据同步工具

公司要搞数据平台,首当其冲的是把旧库的数据导入到新库中,原本各种数据库大部分都提供了导入导出的工具,但是数据存储到各个地方,mongdb,hbase,mysql,oracle等各种各样的不同数据库,同步起来头都大了

因此最近使用了一些数据同步工具,记录下来:

离线导入导出

DataX

阿里的Datax是比较优秀的产品,基于python,提供各种数据村塾的读写插件,多线程执行,使用起来也很简单,定义好配置json文件执行脚本就可以了,非常适合离线数据,增量数据可以使用一些编码的方式实现,但是也仅仅针对insert数据比较有效,update数据就不适合。

github地址:https://github.com/alibaba/DataX

目前DataX支持的数据库

Sqoop

http://sqoop.apache.org/

Sqoop是针对大数据而生的,专注于Hadoop(Hive)与传统的数据库数据的传递,是Hadoop生态的一员。在数据库的支持的丰富性上不如DataX,但是如果你用hadoop,用sqoop是更好的选择,因为做Apache的顶级项目,他背后的支持远远比阿里一家公司靠谱的多

Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

Kettle

Kettle作为传统ETL工具,目前也都已经有了nosql数据库的支持,而且kettle还有图形界面可以用,使用起来简单多了。而且本来就是专门做ETL的,是Pentaho指定的ETL组件,对于数据清洗等处理数据的环节支持更好。但是数据效率一般,而且在生产环境也很少弄台windows机器,适合小项目,数据量比较小的同步。

Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。

Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。

实时同步

实时同步最灵活的还是用kafka做中间转发,当数据发生变化时,记录变化到kafka,需要同步数据的程序订阅消息即可,需要研发编码支持。这里说个mysql数据库的同步组件,阿里的canalotter

canal

https://github.com/alibaba/canal

canal是基于mysql的binlog进行数据同步的中间件。简单来说,Canal 会将自己伪装成 MySQL 从节点(Slave),并从主节点(Master)获取 Binlog,解析和贮存后供下游消费端使用。Canal 包含两个组成部分:服务端和客户端。服务端负责连接至不同的 MySQL 实例,并为每个实例维护一个事件消息队列;客户端则可以订阅这些队列中的数据变更事件,处理并存储到数据仓库中。

使用的话,安装好canal,配置好数据库参数,再编写一个客户端消费canal传过来的数据就可以了。如何使用官网写的挺清楚了,可以直接看官网。

otter

https://github.com/alibaba/otter

otter是在canal基础上又重新实现了可配置的消费者,使用otter的话,刚才说过的消费者就不需要写了,而otter提供了一个web界面,可以自定义同步任务及map表。非常适合mysql库之间的同步。

而且通过retl_buff表的监控,也可以实现一些全量数据的同步。

但是otter也有一些不好的地方,比如界面上的参数并不是所有的都有用,文档写的一般,不是很清晰。但是想想省了好多事,还是非常好的一款中间件。

详细参见官网,安装部署研究下问题不大。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/142841.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

ETL工具(数据同步) 二

kettle使用掌握之后,还需要掌握在linux下的定时执行的策略 一、kettle使用感觉较为方便 虽然kettle自带调度任务。但是前提是需要保持kettle打开。并且作业处在运行状态。不太适合用与远程服务器安装windows客户端,只限于学习使用 在linux安装kettle并…

数据同步工具之DataX实操

一、DataX部署 上传DataX压缩文件至/opt/software/目录下,并解压文件至/opt/module/下。 自测检查DataX,出现如下截图内容,说明安装成功 二、DataX使用 DataX使用概述 DataX使用还是十分简单的,用户只需要根据自己同步数据的数…

数据同步工具Sqoop

大数据Hadoop之——数据同步工具Sqoop - 掘金 (juejin.cn) 1 概述 Apache Sqoop(SQL-to-Hadoop)项目旨在协助RDBMS(Relational Database Management System:关系型数据库管理系统)与Hadoop之间进行高效的大数据交流。…

本地与服务器文件同步软件哪个好,同步软件哪个好,亲身体验的3款免费同步软件介绍...

数据同步在某些方面是非常的重要,特别是重要数据,做为服务器运维这方面工作的同学应该是深有体会,小编从事运维工作一年中共接触了3款同步软件,每一款都用了一段时间,算是有点小心得,所以分享给大家&#x…

数据同步工具—DataX 初识

DataX 初识 DataX 是阿里云 DataWorks数据集成的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS 等各种异构数…

DBSync数据库同步工具

通用型的同步软件,支持SQL、NoSQL各种数据库,用于系统对接、数据备份、异地传输等。 文章目录 通用型的同步软件,支持SQL、NoSQL各种数据库,用于系统对接、数据备份、异地传输等。一、功能特点非侵入式,独立运行支持各…

正版授权 知名专业数据备份和数据同步软件工具 - GoodSync

GoodSync 软件简介 GoodSync 是一款知名的数据备份和数据同步软件工具,可以在多台电脑之间、电脑和移动存储设备之间,或者云存储之间,亦或是电脑的本地文件夹之间来进行数据双向同步或单向备份,支持 Windows、Mac 以及 Linux 平台…

GoodSync 数据自动同步备份工具VS傲梅轻松备份系统数据备份工具 哪款更好?

备份和同步软件的使用越来越广泛,因为在这个数据驱动的时代,数据的备份和恢复非常重要。在这里我想向大家推荐两款备份和同步软件——GoodSync和傲梅轻松备份。 GoodSync是一款备份和同步软件,它可以在多个设备之间同步文件、文件夹、照片、音…

Android开发环境搭建[Java1.7+eclipse+sdk4.0](某高校物联网工程专业必看!)

Android开发环境搭建[Java1.7eclipsesdk4.0](某高校物联网工程专业必看!) 0. 前言1. 资料拷贝2. 配置环境变量2.1新建 Java_Home2.2 编辑Path情况1情况2 2.3 新建sdk环境变量 3. 验证安装3.1 验证java安装情况3.2 验证eclipse安装 4. 导入已有…

mysql-索引_MySQL-索引

mysql-索引 MySQL-索引 (MySQL - INDEXES) A database index is a data structure that improves the speed of operations in a table. Indexes can be created using one or more columns, providing the basis for both rapid random lookups and efficient ordering of acc…

MySql的索引?

MySql的索引? 1 Hash索引? 通过hashCode去匹配,查找数据库中唯一值的速度很快,不支持范围查找,联合索引也不支持 只适用于select * from table where id 5;只适用于等于的情况 2红黑树? 数据量大的情况下,红黑树的树太高了,查询最深处的数据时,磁盘读取次数较多 3 B树? …

mysql中索引

一、概述 1、What? 索引是对数据库表中一列或多列的值进行排序的的一种结构,可以提高数据库中特定的数据查询速度。 索引时一个单独存储在磁盘上的数据库结构,包括对数据表里面的所有记录的引用指针。 索引时在存储引擎中实现的,…

mysql 之索引

什么是索引: 索引是一种高效获取数据的 存储结构,一般包含了 hash 二叉树 红黑树。 但是mysql中索引一般使用的是B树 准确说是使用的B树构建的索引:若仅仅是进行select * from table where id 1,用上述的三种方法都会很轻松的实…

Mysql__索引

1)索引问题----组合索引 最左前缀匹配原则 在mysql建立联合索引时会遵循最左前缀匹配的原则,即最左优先,在检索数据时从联合索引的最左边开始匹配 ALTER TABLE index ADD INDEX test_AA_BB_CC_DD (AA,BB,CC,DD);SHOW INDEX FROM index;EXPLAIN SELECT …

【Mysql 索引】

索引的基本知识 1. 索引介绍 索引的出现就是为了提高数据检索效率,就跟书的目录一样。索引不但在内存中,还写在硬盘中。索引是存储引擎实现的。 2. 索引常见模型 搜索树: 每个节点左儿子小于父节点,父节点小于右节点. select/update 复杂…

Mysql、索引

索引 数据库中的查询操作非常普遍,索引就是提升查找速度的一种手段 索引的类型 从数据结构角度分 1.B索引:传统意义上的索引,最常用最普遍的索引2.hash索引:hash索引是一种自适应的索引,数据库会根据表的使用情况自动生…

MySQL—索引

索引是什么? 索引是一种特殊的文件,它们包含着对数据表里所有记录的引用指针。 索引是一种数据结构,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据表中的数据。通俗来说,索引相当与目录&#xff0c…

MySQL的索引有哪些

一、索引是什么# 索引,在MySQL中也叫“键(key)”,是存储引擎用于快速找到记录的一种数据结构。如果把数据库的一张表比作一本书,那索引则是这本书的目录,通过目录,我们能快速找到我们想要的主题…

mysql 的 索引

「深度学习福利」大神带你进阶工程师,立即查看>>> 1 什么是索引? 索引是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。 索引的实现 通常使用B树及其变种B树。 索引相当于字典的目录,作用…

Mysql高性能索引

一、索引是什么 二、索引的底层实现原理 三、InnoDB的存储结构是怎样的? 四、InnoDB索引和MyIsam索引对比 五、Mysql为什么会选错索引 六、唯一索引和普通索引的区别 导读:本博文讲解了索引是什么和索引的底层原理,提到了 BTREE和 BTREE hash底层…