大数据--数据仓库

概念

  1. 数据库(Database):按照一定格式和数据结构在计算机保存数据的软件,属于物理层。
    最早期是广义上的数据库,这个阶段的数据库结构主要以层次或网状的为主,这是数据库的数据和程序间具备非常强的依赖性,应用有一定局限性。
    我们现在所说的数据库一般指的是关系型数据库。关系数据库是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,具有结构化程度高,独立性强,冗余度低等优点。
    关系型数据库主要用于联机事务处理OLTP(On-Line Transaction Processing),主要用于进行基本的、日常的事务处理,例如银行交易等场景。
  2. 数据集市:一种微型的数据仓库,它通常是有更少的数据,更少的主题区域,以及更少的历史数据,如果数据仓库是企业级的,那数据集市就是部门级的,一般数据集市只能为某个局部范围内的管理人员服务。
  3. 数据仓库(Data Warehouse)(DW/DWH)1:为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。
    对企业的所有数据进行汇总,为企业各个部门提供统一的, 规范的数据出口。
    数据仓库是面向主题集成的。数据仓库主要用于支撑企业决策分析,所涉及的数据操作主要是数据查询。
  • 数据仓库与数据库对比
维度 数据仓库 数据库
应用场景 OLAP OLTP
数据来源 多数据源 单数据源
数据标准化 非标准化Schema 高度标准化的静态Schema
数据读取优势 针对读操作进行优化 针对写操作进行优化
  1. 数据湖:一个集中存储各类结构化和非结构化数据的大型数据仓库,它可以存储来自多个数据源、多种数据类型的原始数据,数据无需经过结构化处理,就可以进行存取、处理、分析和传输。数据湖能帮助企业快速完成异构数据源的联邦分析、挖掘和探索数据价值。
    数据湖 = 数据存储架构 + 数据处理工具
    数据存储架构:要有足够的扩展性和可靠性,可以存储海量的任意类型的数据,包括结构化、半结构化和非结构化数据。
    数据处理工具,则分为两大类:
    1)聚焦如何把数据“搬到”湖里。包括定义数据源、制定数据同步策略、移动数据、编制数据目录等。
    2)关注如何对湖中的数据进行分析、挖掘、利用。数据湖需要具备完善的数据管理能力、多样化的数据分析能力、全面的数据生命周期管理能力、安全的数据获取和数据发布能力。如果没有这些数据治理工具,元数据缺失,湖里的数据质量就没法保障,最终会由数据湖变质为数据沼泽。
    数据仓库和数据湖的不同类比于仓库和湖泊:仓库存储着来自特定来源的货物;而湖泊的水来自河流、溪流和其他来源,并且是原始数据。
  • 数据湖与数据仓库对比
维度 数据湖 数据仓库
应用场景 可以探索性分析所有类型的数据,包括机器学习、数据发现、特征分析、预测等 通过历史的结构化数据进行数据分析
使用成本 起步成本低,后期成本较高 起步成本高,后期成本较低
数据质量 包含大量原始数据,使用前需要清洗和标准化处理 质量高,可作为事实依据
适用对象 数据科学家、数据开发人员为主 业务分析师为主

数据仓库特点

  1. 数据仓库是面向主题的
    数据仓库中的数据是按照一定的主题域进行组织的,每一个主题对应一个宏观的分析领域。数据仓库排除对于决策无用的数据,提供特定主题的简明视图。

  2. 数据仓库是集成的
    数据仓库中的数据不是一开始就是在里面的,而是从各个分散的数据库中抽取出来的。但是有一个问题,就是这些来自不同数据库的数据会有重复和不一样的地方,如字段的同名异议、异名同义、单位不统一,字长不统一等。所以在集成的过程中,还要对数据进行清洗、规划、去敏等操作。数据仓库是对企业内不同业务部门处理过的数据的完整集合。

  3. 数据仓库的数据是稳定的
    数据仓库中的数据主要是为了给企业做决策时分析使用,涉及的主要是对数据的查询,一般情况下不会对数据进行修改,如果数据仓库中的历史数据超过存储期限,则会直接删除。
    因为数据仓库涉及的操作主要是查询,所以它的系统要比数据库简单很多,但是数据仓库涉及到查询的数据量一般都很大,所以在数据查询就有更高的要求。数仓里不存在数据的更新和删除(不是指数据到期的删除)操作。

  4. 数据仓库中的数据是随时间变化而变化的
    数据仓库中的数据不可更新是针对应用来说的,也就是说,数据仓库的用户进行分析处理是不进行数据更新操作的。但并不是说,在从数据集成输入数据仓库开始到最后被删除的整个生存周期中,所有的数据仓库数据都是永远不变的。
    1)数据仓库随着时间变化不断增加新的数据内容。数据仓库系统必须不断捕捉OLTP数据库中变化的数据,追加到数据仓库当中去,也就是要不断的生成OLTP数据库的快照,经统一集成增加到数据仓库中去;但对于确实不在变化的数据库快照,如果捕捉到新的变化数据,则只生成一个新的数据库快照增加进去,而不会对原有的数据库快照进行修改。
    2)数据库随着时间变化不断删去旧的数据内容 。数据仓库内的数据也有存储期限,一旦过了这一期限,过期数据就要被删除。
    3)数据仓库中包含有大量的综合数据,这些综合数据中很多跟时间有关,如数据经常按照时间段进行综合,或隔一定的时间片进行抽样等等。这些数据要随着时间的变化不断地进行从新综合。因此数据仓库的数据特征都包含时间项,以标明数据的历史时期。
    数仓里会完整的记录某个对象在一段时期内的变化情况。

数据仓库分层

  • 分层原因
    1)把复杂问题简单化
    2)减少重复开发
    3)隔离原始数据

  • 数据仓库基础分层主要是分为四层
    在这里插入图片描述

如上图所示,一个公司可能有多个业务系统,而数据仓库就是将所有的业务系统按照某种组织架构整合起来,形成一个仓储平台,也就是数仓。

  1. 四层分层
  • 第一层:ODS——原始数据层:存放原始数据
    ODS层即操作数据存储,是最接近数据源中数据的一层,数据源中的数据,经过抽取、洗净、传输,也就说传说中的ETL之后,装入本层;一般来说ODS层的数据和源系统的数据是同构的,主要目的是简化后续数据加工处理的工作。从数据粒度上来说ODS层的 数据粒度是 最细 的。ODS层的表通常包括两类,一个用于存储当前需要加载的数据,一个用于存储处理完后的历史数据。历史数据一般保存3-6个月后需要清除,以节省空间。但不同的项目要区别对待,如果源系统的数据量不大,可以保留更长的时间,甚至全量保存;数据在装入本层前需要做以下工作:去噪、去重、提脏、业务提取、单位统一、砍字段、业务判别。

  • 第二层:DWD——数据明细层:对ODS层数据进行清洗、维度退化、脱敏等。
    该层一般保持和ODS层一样的数据粒度,并且提供一定的数据质量保证,在ODS的基础上对数据进行加工处理,提供更干净的数据。同时,为了提高数据明细层的易用性,该层会采用一些维度退化手法,当一个维度没有数据仓库需要的任何数据时,就可以退化维度,将维度退化至事实表中,减少事实表和维表的关联。例如:订单id,这种量级很大的维度,没必要用一张维度表来进行存储,而我们一般在进行数据分析时订单id又非常重要,所以我们将订单id冗余在事实表中,这种维度就是退化维度。

  • 第三层:DWS——数据汇总层: 对DWD层数据进行一个轻度的汇总。
    DWS层为公共汇总层,会进行轻度汇总,粒度比明细数据稍粗,会针对度量值进行汇总,目的是避免重复计算。该层数据表会相对比较少,大多都是宽表(一张表会涵盖比较多的业务内容,表中的字段较多)。按照主题划分,如订单、用户等,生成字段比较多的宽表,用于提供后续的业务查询,OLAP分析,数据分发等。

  • 第四层:DM——数据集市层:为各种统计报表提供数据。
    存放的是轻度聚合的数据,也可以称为数据应用层,基于DWD、DWS上的基础数据,整合汇总成分析某一个主题域的报表数据。主要是提供给数据产品和数据分析使用的数据,通常根据业务需求,划分成流量、订单、用户等,生成字段比较多的宽表,用于提供后续的业务查询,OLAP分析,数据分发等。从数据粒度来说,这层的数据是汇总级的数据,也包括部分明细数据。从数据的时间跨度来说,通常是DW层的一部分,主要的目的是为了满足用户分析的需求,而从分析的角度来说,用户通常只需要分析近几年的即可。从数据的广度来说,仍然覆盖了所有业务数据。

  1. 三层分层
  • 第一层:ODS——原始数据层:存放原始数据

  • 第二层:DW——数据仓库层:数据清洗,初步汇总
    本层将从 ODS 层中获得的数据按照主题建立各种数据模型,每一个主题对应一个宏观的分析领域,数据仓库层排除对决策无用的数据,提供特定主题的简明视图。在DW层会保存BI系统中所有的历史数据,例如保存10年的数据。

  • 第三层:DM——数据集市层:为各种统计报表提供数据。

  1. 五层分层
  • 第一层:ODS——原始数据层:存放原始数据

  • 第二层:DWD——数据明细层:对ODS层数据进行清洗、维度退化、脱敏等。

  • 第三层:DWS——数据汇总层: 对DWD层数据进行一个轻度的汇总。

  • 第四层:ADS——数据应用层:为各种统计报表提供数据
    该层是基于DW层的数据,整合汇总成主题域的服务数据,用于提供后续的业务查询等。

  • 第五层:DIM——维表层:基于维度建模理念思想,建立整个企业的一致性维度。

维表层主要包含两部分数据:1)高基数维度数据:一般是用户资料表、商品资料表类似的资料表。数据量可能是千万级或者上亿级别。2)低基数维度数据:一般是配置表,比如枚举值对应的中文含义,或者日期维表。数据量可能是个位数或者几千几万。

数据仓库建模

  • 原因:在大数据时代,数据爆发式增长,如何将这些数据进行有序、有结构的分类组织和存储是大多数公司面临的一个挑战。数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据。数据仓库建模的目标是通过建模的方法更好的组织、存储数据,以便在性能、成本、效率和数据质量之间找到最佳平衡点。四个优点:1)性能:快速的查询我们所需要的数据,减少数据的I/O吞吐。2)成本:极大的减少不必要的数据冗余,实现计算结果复用,降低数据的存储和计算成本。3)效率:极大的改善用户使用数据的体验,提高使用数据的效率。4)质量:改善数据统计口径 2的不一致性,减少数据计算错误的可能性。

  • 数据处理:1)操作型处理,叫联机事务处理 OLTP3(On-Line Transaction Processing),也可以称面向交易的处理系统,它是针对具体业务在数据库联机的

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值