gtl-ruoyi-server/README.md

3.5 KiB

gtl-ruoyi-server

项目介绍

简介

本项目是 ETL 项目,主要功能是对接入的 数据源 进行数据的 抽取(Extract) > 清洗(Cleaning) > 转换(Transform) > 装载(Load) 。

背景

数据是现代企业的重要资产,是企业运用科学管理决策分析的基础。在企业中,数据通常来自于多个不同的系统和部门。数据分散存储,较为单一,难以对企业的统一发展规划提供帮助,企业需要对这些数据进行提取筛选,打破信息孤岛的困境,分析出有效信息。让只懂一些,甚至不懂数据存储的企业人也能快速上手,通过一些技术去处理自有数据。

需求

把分散的数据源提取>清洗>转换>整合,形成一个完整的数据集,便于后续的分析和处理。

拓展

经由 ETL技术 处理过的数据,一般会去往 BI(商业智能)/DM(数据仓库) 进行分析或存储

项目模块

com.ruoyi     
├── gtl-ruoyi-ui              // 前端框架 [80]
├── ruoyi-gateway         // 网关模块 [8080]
├── ruoyi-auth            // 认证中心 [9200]
├── ruoyi-common          // 通用模块
│       └── muyu-common-cache                        // 缓存模块
│       └── muyu-common-core                         // 核心模块
│       └── muyu-common-datascope                    // 权限范围
│       └── muyu-common-datasource                   // 多数据源
│       └── muyu-common-log                          // 日志记录
│       └── muyu-common-redis                        // 缓存服务
│       └── muyu-common-seata                        // 分布式事务
│       └── muyu-common-security                     // 安全模块
│       └── muyu-common-swagger                      // 系统接口
│       └── muyu-common-system                       // 系统基础
├── ruoyi-modules         // 业务模块
│       └── ruoyi-system                              // 系统模块 [9201]
│       └── ruoyi-gen                                 // 代码生成 [9202]
│       └── ruoyi-job                                 // 定时任务 [9203]
│       └── ruoyi-data-asset                          // 数据资产 [9204]
│       └── ruoyi-file                                // 文件服务 [9300]
├── ruoyi-visual          // 图形化管理模块
│       └── muyu-visual-monitor                      // 监控中心 [9100]
├──pom.xml                // 公共依赖

项目技术栈

SpringCloud & Alibaba/SpringBoot

因为 SpringCloud进入到了维护阶段,不会再有新的组件技术出现。Spring Cloud AlibabaSpring cloud的子项目,阿里巴巴推广,并且API是中文。

Mybatis Plus/Mybatis

Mybatis是免费优秀的开源持久层框架。Mybatis-Plus是一个Mybatis的增强工具,它在Mybatis的基础上做了增强,却不做改变。

Redis

本地缓存多个服务之间数据无法共享,甚至是数据存量也不够大,不做考虑。而分布式存储,目前市面上使用比较多的是memcachedredis,但memcached支持的数据类型只有K/V,没有redis支持的数据类型多,也不支持持久化

JDBC

使用JDBC是为了动态的根据数据库的已有数据源连接数据去获取数据源的连接,方便从多个数据库/多种数据库快速提取数据。