为什么需要数据分层?
分层最主要的目的还是为了更好的管理和使用数据。具体来讲的话,还分为以下原因:
- 高效:多层次的数据模型,可以避免直接使用操作性数据
- 减少重复开发,易维护:能缩短获取信息的时间,清晰的分层,也使得维护变得更容易。
- 易于分解问题:每一层只关注本层的职能,比较简单和容易理解,也便于维护数据的准确性。
如何分层
一般分层为:ODS/[DWD]-[-MID]-DW-DM-OLAP/OLAM/app
层级 | 缩写 | 说明 | 补充 |
---|---|---|---|
操作性数据层 | ods[Operational Data Store] | ,最接近数据源的一层,数据源中的数据经过ETL之后,装入本层。大体上是各个业务方接入的原始数据 | 大表建议分区存储 |
数据仓库层 | DW[data warehouse] | 提供所有类型的数据支持,是包涵所有主题的通用的集合。 | 关注的是解决数据的一致性、可信性、集合性 |
数据集市层 | DM[Data Mart] | 以某个业务应用为出发点而建设的局部DM。DM只关心自己需要的数据。 | 针对特定的业务,形成自己的DM。 |
架构图如下: