背景分析
缘由
- 大部分的互联网公司都需要针对用户的线上访问行为、消费行为、业务行为进行统计分析!以支撑公司的业务运营,提高业务转化率,改善公司运营效果——赚取更大利润!
这个需求,可以通过构建一个数仓系统来支撑!
- 该数据处理系统可以使用离线计算方式实现,也可以使用实时计算方式实现;
离线:系统化的,计算时间跨度长的,运算量大的任务
实时:对时效要求高的需求
数据仓库整体架构
分层的意义
分层的意义:数据管理更明晰!运算复用度更高!需求开发更快捷!便于解耦底层业务变化!
分层的原因
1. 空间换时间(让大量运算任务可复用)
通过建设多层次的数据模型供用户使用,避免用户直接使用操作型数据,可以更高效的访问数据。
2. 把复杂问题简单化
将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的步骤开始修复。
3. 便于解耦 “底层业务的变化”
随着业务的变化,只需要调整底层的数据,应用层对业务的调整零感知.