需求和架构设计
项目中有哪些需求,以及解决这些需求需要的架构设计
1.项目需求
1.1 需求来源
项目需求一般都是由产品经理提出来的,需要做哪些事情
产品经理又是从哪获取的需求呢?
(1)老板提出的需求
(2)客户提出的需求
(3)开发人员觉得这个需求对公司有用
1.2 需求概览
需要重点关注我们是如何解决每一个需求的,也是考核我们对数仓的理解和学习的成都的重要指标;
1.3 技术选型
1.3.1 技术选型考虑因素
(1)数据量大小
- 如果数据量小,用Mysql就行了;
- 数据量特别大,用HDFS存储;
(2)实时性
- 对实时性的要求,比如要求秒级返回查询结果
- 实时性要求不高,就可以用批处理等
(3)行业内经验
- 各个大厂在做实时计算,都是用flink
(4)技术成熟度
- 数仓
- 中台
- 数据湖
(5)开发维护成本以及总成本预算
- 用云主机还是自己买物理机
1.3.2 数据采集技术选择
本项目中使用的方案: