数据仓库的基本类型(浅谈数据仓库的基本概念)
今天这篇文章,给大家讲述一下数据仓库的基本概念,作为我们一起探讨的内容。希望大家留言、评论,我们一起学习。
一 数据仓库的概念
数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。现在常见的数据仓库是企业级数据仓库,即EDW。
二 数据仓库出现的背景
1 需求的变化,主要是业务系统系统建设完善,统计分析类需求增加,还有就是大量的信息碎片化和孤岛化,导致数据集成和数据质量问题不断增加
2 技术发展,技术发展到一定程度,必然推动系统更新换代。关系型数据库技术逐渐成熟稳定,报表和复杂查询处理起来异常困难,数据标准的问题。
以上两个原因是数据仓库出现的大致背景。
三 数据仓库与OLTP
1 数据仓库,数据量大,保存历史,面向主题,主要用来统计分析
2 OLTP,生产系统,面向应用;事物驱动;实时性高;数据检索相对少;只存当前数据
比如以银行卡为例,我们用银行卡取钱,首先到ATM进行交易,然后ATM查询核心系统,核心系统完成交易,你拿到钱。这个就是面向应用,事物驱动,并且是实时的,数据查询就只查你的账户数据(余额信息),并且还是你时点的余额信息。
四 数据仓库与OLTP的区别
挑一个来说一下,更新和不更新
操作型数据库对于数据是更新的,还是前面说的取钱,我们取了钱,那么我的余额是要变更的。但是对于分析性数据库来说呢,是不变的,原有的一笔数据依旧保留,会新增一条余额变动的数据记录,就是保留历史数据。能理解吧。
五 数据仓库的特征
这个大家就看下图吧,不细说了。面向主题;集成;记录时间变化;不更新
六 数据仓库理论的形成
七 什么是ODS
ODS,大家在工作中,如果有做数据仓库的应该比较清楚,大家一说ODS,马上就能想到数据仓库,工作中好多同事都觉得是一回事。其实不然,ODS只是数据仓库的一部分,现在的数据仓库大部分都是基于ODS和OLTP集合在一起了,最常见的就是数据仓库中既有历史数据的保留,还有面向应用系统统计分析的各个集市。
八 ODS应用的形成
九 ODS与 EDW
简单理解为ODS为O层数据,基本能上和源系统一致,可能会有写标准化的字段。EDW是基于ODS数据整合,就是ETL的过程。常见的可以分为公共层,汇总层。
十 数据模型
1 逻辑模型:不考虑物理数据库,独立的。比较关注业务逻辑和业务规则。
2 物理模型:简单理解就是将逻辑模型,转化成数据库语言,即DDL。
十一 雪花模型和星型模型
这块理解一下就可以了,实际开发中是不会严格按照星型或者雪花来设计,实际工作中是按照业务来进行模型设计,根据业务规则,设计出最合适的数据模型。
我们大部分项目中,用到的是雪花这种模型,大宽表,数据冗余,更有利于业务查询,性能比较高。
优缺点:
雪花模型可以精确表示层次化的数据,但还是应该避免使用雪花模式,因为对商业用户来说,理解雪花模式并在其中查询是非常困难的,雪花模式还会影响查询性能
从查询性能角度来看,在OLTP-DW环节,由于雪花型要做多个表联接,性能会低于星型架构;但从DW-OLAP环节,由于雪花型架构更有利于度量值得聚合,因此性能要高于星型架构。
从模型复杂度来看,星型架构更简单。
从层次概念来看,雪花型架构更加贴近OLTP系统的结构,比较符合业务逻辑,层次比较清晰。
从存储空间角度来看,雪花型架构具有关系数据模型的所有优点,不会产生冗余数据,而相比之下星型架构会产生数据冗余。
应用场景:
星型模型的设计方式主要带来的好处是能够提升查询效率,因为生成的事实表已经经过预处理,主要的数据都在事实表里面,所以只要扫描事实表就能够进行大量的查询,而不必进行大量的join,其次维表数据一般比较少,在join可直接放入内存进行join以提升效率,除此之外,星型模型的事实表可读性比较好,不用关联多个表就能获取大部分核心信息,设计维护相对比较简答。
雪花模型的设计方式是比较符合数据库范式的理念,设计方式比较正规,数据冗余少,但在查询的时候可能需要join多张表从而导致查询效率下降,此外规范化操作在后期维护比较复杂。
好了,这篇文章就给大家写到这里了,希望大家留言、评论。我们一起探讨,学习。大家喜欢的,可以点个关注 ,我会不定期更新文章,将自己的经验分享出来。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com