DWH 和 ETL 解释
DWH and ETL explained
在这个post我不是在问任何教程,如何做某事,在这个post,我是在寻求你的帮助,如果有人能用简单的话解释我,什么是DWH (数据仓库)什么是ETL。
当然,我google'ed 和 youtube' 很多,我找到了很多文章,视频,但我仍然不太确定它是什么。
我为什么要问?
求职前一定要了解清楚
这个答案绝不应该被视为数据仓库的完整定义。这只是我尝试用外行的术语解释这个术语。
交易(操作,OLTP)和分析(数据仓库)系统都可以使用相同的 RDBMS 作为后端,它们可能包含完全相同的数据。但是,它们的数据模型将完全不同,因为它们针对不同的访问模式进行了优化。
在交易系统中,您通常使用单行(例如客户或发票)并且写入一致性至关重要,因此数据模型被规范化。相反,数据仓库针对读取大量行(例如前一年的所有发票)和聚合数据进行了优化,因此维度模型被扁平化(星型模式、Kimball 的维度和事实)。
交易系统仅存储实体的当前版本(即当前客户的地址),而数据仓库可能使用缓慢变化的维度 (SCD) 来保存历史记录(例如客户的所有地址以及日期范围以指示每个它们是有效的)。
ETL代表extract, transform, load,它是以下过程:
- 从交易系统中提取数据,
- 将其转换为维度格式,
- 正在数据仓库中加载。
在这个post我不是在问任何教程,如何做某事,在这个post,我是在寻求你的帮助,如果有人能用简单的话解释我,什么是DWH (数据仓库)什么是ETL。
当然,我google'ed 和 youtube' 很多,我找到了很多文章,视频,但我仍然不太确定它是什么。
我为什么要问?
求职前一定要了解清楚
这个答案绝不应该被视为数据仓库的完整定义。这只是我尝试用外行的术语解释这个术语。
交易(操作,OLTP)和分析(数据仓库)系统都可以使用相同的 RDBMS 作为后端,它们可能包含完全相同的数据。但是,它们的数据模型将完全不同,因为它们针对不同的访问模式进行了优化。
在交易系统中,您通常使用单行(例如客户或发票)并且写入一致性至关重要,因此数据模型被规范化。相反,数据仓库针对读取大量行(例如前一年的所有发票)和聚合数据进行了优化,因此维度模型被扁平化(星型模式、Kimball 的维度和事实)。
交易系统仅存储实体的当前版本(即当前客户的地址),而数据仓库可能使用缓慢变化的维度 (SCD) 来保存历史记录(例如客户的所有地址以及日期范围以指示每个它们是有效的)。
ETL代表extract, transform, load,它是以下过程:
- 从交易系统中提取数据,
- 将其转换为维度格式,
- 正在数据仓库中加载。