docker运行datax实现数据同步方案 --docker commit方式测试

本文记录了如何在Docker环境下利用DataX将Oracle数据库中的历史数据迁移到新的Oracle归档库的过程。首先介绍了归档库的需求背景,然后详细阐述了从安装Docker基础镜像到配置DataX运行环境,包括安装JDK、Maven和Python,以及设置环境变量。文章最后提到DataX的测试将在后续部分进行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公司的归档库正式提出要搭建了,于是纪录搭建归档库的方案和过程。

 

需要备份的库是生产Oracle主库,由于没有归档机制,公司经过8年时间的运行,对于多个表的数据查询已经累积到十亿级别,查询效率已经很低下了,鉴于数据库的IO压力,我提出了建立归档机制,把长时间不经常使用的数据转移到独立的数据库,保证生产的高效率。

 

归档方案是吧两年前的数据转移到归档库上,每天定时执行一次。

归档库的设计有多种选择,MySQL/Oracle或者其他数据库都可以,由于公司要求,暂定先转移到一个新的Oracle库。

 

之后需要确定同步方案了,如果只是Oracle-Oracle有很多中方式,或者官方自带的同步工具也很好用,当前公司采用的MySQL-Oracle同步方案用的kafuka然后再由程序去执行。鉴于后期可能会涉及多种数据同步计划,如同步到BI数据仓库、MySQL数据库等等,经调研,选择使用阿里的datax同步方案。

 

datax介绍在git上有官方说明,淘宝用这个工具已经使用6年以上,稳定和可靠性有一定保障,详细介绍我就不说明了,对于我采用它的最大原因是:datax像是一个中间抽取工具,可以对不同类型数据库进行读操作和写操作。

这点非常重要,因为后期可能会有Oracle转移到MySQL、Elasticsearch,所以最终没有选择其他工具。

 

确定了数据同步方案后,需要确定具体执行环境,是直接拿服务器跑还是在服务器docker上跑呢,公司服务器数量不多且资源紧张,datax可能还会被作为一个通用服务,最后决定用docker跑datax。

 


总结具体步骤(之后部分详解):

1、安装Oracle新库(我是在centos7上静默安装的,不需要图形界面)

2、下载docker、datax、jdk8、maven3并且通过dockerfile构建datax及其相关运行环境(先会纪录手动构建jdk、maven,之后再执行dockerfile构建)

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值