代码采用springboot、springbatch体系基于若依框架搭建,涉及xxl-job任务调度。基本能满足离线数据的各类场景。完全可以替代传统报表,并解决其覆盖面不足、开发慢、界面不友好的的弊端 。本人从事的是医疗行业,思路上以医疗数据为主导了。
1)直接采用springbatch批处理框架
优点是上手简单,流程严谨,不足是只能处理小批量数据
2)ods层采用datax/seatunnel实现离线数据快速提取,dw层以后实现库内移动采用insert select/stream-load。
datax是纯离线数据处理,seatunnel可实现流式处理seatunnel-mcp可结合AI控制,示例代码仅提供datax-web管理。
代码地址:
3)微服务分离
建议数据库:doris。ods层采用 更新模型(Unique Key Model),dw层采用明细模型(Duplicate Key Model)。结合物化视图,实现统计加速。