前言
今天是一个特别的日子,端午佳节,祝大家节日安康,这两天和开发人员接到一个事情,虽然功能基本实现了,但仔细想想后还是有一些遗留问题,现在重新梳理一下,节后彻底解决,所以就有了下面这篇文章
项目需求
业务方提出这样一个需求
1、需要将oracle数据库(简称A库)中的70多张业务表迁移并同步到另一个oracle库(简称B库)下,
2、A库下70多张业务表都是按月创建的分区表,目前每个张有20万条记录,以每5分钟的频率新增一条记录
3、业务表有明确的时间字段,这里只需按最新时间将新增的记录同步是B库下,同时从这70多张业务表上取出最新一条记录的部分字段作展示。
4、整个增量同步完成到从这70多张业务表,每张表上取出最新一条记录的部分字段需要在5分钟以内完成。
注意:
同一张表有可能多次查询,每次只取两个字段。
B库上同时运行oracle数据库和5个kettle同步任务
大致实现思路与方法
1、业务表结构和数据迁移实现方法有很多,比如kettle,datax,navicat,这里不是再详述
数据迁移:见https://blog.csdn.net/weixin_41561946/article/details/106957890
2、在B库单独建立一个视图或是存储过程,实现部分字段的获取操作,供后端获取。
前者只需要单独建立一张视图即可,分别从这70多表业务表取出想要的数据即可,后者需要单独建立一张表,通过存储过程获取最新的数据,再通过job每隔几分钟去调用一下&#x