数据同步的方式:mysql
- 直连同步:经过ODBC/JDBC等接口直连数据库,对源系统性能影响较大。
- 数据文件同步:简单,实用,松耦合,可加密、可压缩。
- 数据库日志解析同步:好比oracle的ogg,对源系统影响小。
数据同步须要解决的问题:sql
- 支持异构库同步,例如 mysql -> oracle,oracle -> mysql,mysql -> mysql等
- 支持跨机房同步
- 支持文件同步,例如日志文件
- 支持限速、限流,避免每日大量的同步任务同时执行时,影响主要业务的访问
- 支持增量同步、全量同步
- 支持容错、降级机制,防止同步出错时,影响后续的任务
- 支持双向同步
- 支持大数据量同步,至少TB级别数据拉取
- 支持二次开发,毕竟每一个同步工具都不能彻底知足各自公司的业务场景,特殊需求时仍是要可以二次开发
- 可以自带管理系统,或者可以支持在系统化管理
- 具有报警和监控功能
几个经常使用的同步工具数据库
Apache Sqoop
优势:segmentfault
- 基于 MapReduce 实现,容易并行和利用现有集群的计算资源
- 和 Hive 兼容性好,支持 Parquet,ORC 等格式
- 支持自动迁移 Schema
- 社区强大,遇到的问题容易解决
缺点oracle
- 支持的数据源不算太丰富(好比 ES),扩展难度大
- 不支持限速,容易对 MySQL 形成压力
阿里DataX
优势:工具
- 支持的数据源丰富尤为是支持从非关系型数据库到关系型数据库的同步
- 支持限速
- 扩展方便,插件开发难度低
缺点oop
- 须要额外的运行资源,当任务比较多的时候费机器
- 没有原生支持导出到 Hive,须要作不少额外的工做才能知足需求
- 考虑到同步自己要消耗很多的计算和带宽资源,Sqoop 能够更好的利用 Hadoop 集群的资源,并且和 Hive 适配的更好,最终选择了 Sqoop 做为数据同步的工具。
欢迎订阅「K叔区块链」 - 专一于区块链技术学习
博客地址:
http://www.jouypub.com
简书主页:
https://www.jianshu.com/u/756c9c8ae984
segmentfault主页:
https://segmentfault.com/blog/jouypub
腾讯云主页:
https://cloud.tencent.com/developer/column/72548