今天主要介绍中小型数仓快速实施的技术流程。
graph LR
A[Online MySQL Slave] --> B[SeaTunnel 同步]
B --> C[Doris Warehouse:ODS]
C --> D[ETL 任务]
D --> E[Doris DWD/ADS]
E --> F[BI Dashborad]
E --> G[数据表格]
Z[DolphinScheduler 定时调度]
Z --> B
Z --> D
图示的整体思路沿用 ELT,在EL过程中可以有简单 t ,所以 E(t)LT 也将是未来的主流的操作思路。
请出Apache全家桶之:Apache SeaTunnel、Apache Doris、Apache DolphinScheduler ,我愿意称之为现代化的数仓三剑客。
这里以 T-1 离线分析做例子,表数量20左右且表数据在千万级的情况下单机即可轻松支撑。
SeaTunnel 用来进行数据传输与同步 E(t)L ,相比 DataX 配置更简单,可单机、可集群(还可搭配Flink(CDC)、Spark使用)
Seatunnel 专注于数据同步,注意:数据库默认引擎、数据库索引
Doris 做数据存储仓库,单台机器(推荐 16+32)即可使用,多机器的集群可以更好释放压缩与查询性能
DolphinScheduler 用来做任务调度,可视化操作简单可靠,同样可单机、可集群。
单机需要注意配置数据库持久化
最后把剩余的事情交给 BI 系统,开源BI有很多、收费的也不错,适合自己就是最好的。当然如果想要更好的贴合业务需要自己额外设计表结构、写业务逻辑来慢慢优化。