以前还没有听说过批量是什么意思,一直没有搞懂是什么。一开始,每天都有同事报告,昨天的批量报错了。开发的同事问,今天跑批了吗...,那么批量到底是个什么东西,今天我们来揭开它神秘的面纱。
批量其实做的是数据同步,简单说就是数据的批量导出,批量导入。即使是同一个版本的数据库,通过dblink这样的方式也是可以解决的,但是如果数据量比较大的时候,加上:网络等因素,以及对生产系统数据访问产生的影响,效率上这个比不上批量。用批量,使得不同的数据库之间也可以传输数据。
那么批量是怎么设计的呢,首先在生产系统访问较少的时候,一般是在晚上凌晨,将需要的数据导出生成一定格式的文件,一般为一张表的数据对应一个文件,完成后将文件上传到类似FTP服务器,其他需要数据的etl服务器会监控文件到达情况,将文件取下来,导入到自己的数据库中。这个文件操作在linux环境中,速度是相当快的,且这样就不会依赖生产系统。每层都是断开的。
按照数据的生成规律,采用全量还是增量就按实际情况来了,中间还需要job及调度控制,用的最多的还是shell,shell做这些还是比较强大的。