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