浅谈数据仓库技术
离线数据仓库通常基于维度建模理论来构建,离线数据仓库通常从逻辑上进行分层,主要出于以下考虑:
1、隔离性:用户使用的应该是数据团队精心加工后的数据,而不是来自于业务系统的原始数据,这样做的好处一是,用户使用的是精心准备过的、规范的、干净的、从业务视角的数据。非常容易理解和使用。二是如果上游业务系统发生变革甚至重构(比如表结构、字段、业务含义等),数据团队会负责处理所有这些变化,最小化对下游用户的影响。
2、性能和可为维护性: 专业的人做专业的事,数据分层使得数据的加工基本都在数据团队,从而相同的业务逻辑不用重复执行,节省了相应的存储和计算开销。此外数据分层也使得数据仓库的维护变得清晰和便捷,每层只负责各自的任务,某层的数据加工出现问题,只需要修改该层即可。
3、规范性:对于一个公司和组织来说,数据的口径非常重要,大家谈论一个指标的时候,必须基于一个明确的、公认i的口径,此外表、字段以及指标必须进行规范。
4、ODS层:数据仓库源头系统的数据表通常会原封不动地存储一份,这称为ODS(Operation Data Store)层, ODS层也经常会被称为准备区(Staging area),它们是后续数据仓库层(即基于Kimball维度建模生成的事实表和维度表层,以及基于这些事实表和明细表加工的汇总层数据)加工数据的来源,同时ODS层也存储着历史的增量数据或全量数据。
5、DWD和DWS层:数据仓库明细层(Data Warehouse Detail , DWD)和数据仓库汇总层(Data Warehouse Summary, DWS)是数据仓库的主题内容。DWD和DWS层的数据是ODS层经过ETL清洗、转换、加载生成的,而且它们通常都是基于Kimball的维度建模理论来构建的,并通过一致性维度和数据总线来保证各个子主题的维度一致性。
6、应用层(ADS):应用层主要是各个业务放或者部门基于DWD和DWS建立的数据集市(Data Mart,DM),数据集市DM是相对于DWD和DWS的数据仓库(Data Warehouse, DW)来说的。一般来说,应用层的数据来源于DW层,但原则上不允许直接访问ODS层。此外,相比DW层,应用层只包含部门或因为方自己关心的明细层和汇总层数据。
想了解更多技术教程,请一定要关注PHP中文网哦!
以上就是浅谈数据仓库技术的详细内容,更多请关注其它相关文章!
上一篇: MySQL语句与Java代码实现按需过滤企业员工的资质证书
下一篇: 常用的sql数据库有哪些