开发一个简单的ETL抽取系统集成WEB构思

2020,进入一家新公司,强制要求加班,周末还得加,又懒得看新闻看论坛摸鱼,想自己写这么一个东西,就当练手了。

思路来自于公司的一套用了很多年的数据资源平台,主要功能就是在不同类型的库之间,做数据备份,抽取,质量检测等。其实如果涉及的库不多或者使用人数频次不高,完全可以用navicat或者datagirp这种软件来实现,但是由于身处行业是一个政府行业,而政府的库经常涉及到表迁移,而且一般都是在内网操作,用datagirp这种软件一是客户不放心,二是不方便,毕竟出现问题数据泄露什么的不好追责。工程师在外网也不好操作内部的数据网络。所以也就出现了这种数据平台。

公司原本的平台使用的是内部框架,spring + stutrs1 + hibernate,这种技术真的有点老的看不懂。尤其是stutrs1.受不了受不了。刚好在上家公司的时候从0-1的选型中用到过一个框架,这次依然沿用把,虽然没上到cloud,但也是个springboot,还能接受。

框架选择gitee上MIT开源的springboot脚手架:RuoYi,https://gitee.com/y_project/RuoYi

对于多种类型,多种版本的数据库连接,本来刚开始是打算用Druid或者说Spring的AOP这边入手,想着能不能动态切换配置数据源,但是在实现过程中发现能力不足,难度太高,所以还是用最简单最直观的方法:“jdbc直连”,而且由于数据迁移要使用到各种数据库不同的装载器,需要拼接字段,精度,长度等,也方便一点。

现在暂时的想法是先完成数据的迁移,完成mysql,Oracle,Dm三个库的互相数据转换

经过调研查询,得到了这一个表格

这是一些主流的关系型数据库的类型和他的导入导出的工具以及对应的介绍的文档,但是像MYSQL的导出功能,loaddata组件,他的导出是mysql命令,需要在mysql里面执行查询语句,而且会将数据导出到本地,所以虽然有导出工具,但是还是得手动查询做数据组装,然后去约定导入的数据规则。

想在的想法是不论什么情况,为了不会有太多的惰怠的情绪和思想,先实现功能,不追求精益求精,暂时先出架子,然后做结构规划,后面看看是不是能约定组装数据的通用性,如果可以,是否可以设定装载导入工具的约束。再考虑封装的问题

暂时记录到这里。

猜你喜欢

转载自blog.csdn.net/Zachariahs/article/details/107077223