电商数据仓库设计
案例:电商数据仓库
-
数据运营层(ODS):
- 在这一层,我们从电商网站的各个业务系统(如订单系统、库存系统、用户系统)中抽取原始数据。
- 数据包括订单信息、商品信息、用户信息等。
- 使用 Apache Kafka 作为消息系统,将数据传输到 ODS 层。
-
数据仓库层:
- 数据细节层(DWD):
- 在 DWD 层,我们对原始数据进行清洗和规范化。
- 例如,去除无效数据、处理日期格式、将维度退化至事实表中。
- 生成订单事实表、商品维度表、用户维度表等。
- 数据中间层(DWM):
- 在 DWM 层,我们进行轻微的聚合操作,以提高查询性能。
- 例如,计算每日销售额、商品库存量。
- 生成每日销售汇总表、商品库存汇总表。
- 数据服务层(DWS):
- 在 DWS 层,我们整合 DWM 上的基础数据,形成宽表。
- 例如,生成用于报表和仪表盘的数据集。
- 提供给数据分析师、业务用户查询使用。
- 数据细节层(DWD):
-
数据应用层(ADS):
- 在 ADS 层,我们存放供数据产品和数据分析使用的数据。
- 例如,将数据存放在 Elasticsearch 中,用于支持实时搜索和商品推荐。
- 或者存放在 Redis 中,用于支持用户登录状态的缓存。
这样的分层设计使得数据仓库更具可维护性、可扩展性和易用性。不同层次的数据服务不同的业务需求,同时保持数据的一致性和准确性。