离线数仓(一)认识数据仓库

1.数据管理中心

1.1.数据库

引用百度百科的解释:数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

  1. 数据库是长期储存在计算机内、有组织的、可共享的数据集合。
  2. 数据库中的数据指的是以一定的数据模型组织、描述和储存在一起。
  3. 具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点并可在一定范围内为多个用户共享。

1.2.数据仓库

数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。

数据仓库之父比尔·恩门(BillInmon)在1991年出版的“BuildingtheDataWarehouse”(《建立数据仓库》)一书中所提出的定义被广泛接受--数据仓库(DataWarehouse)是一个面向主题的(SubjectOriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(TimeVariant)的数据集合,用于支持管理决策(DecisionMakingSupport)。

表现在:

  1. 面向主题:在较高层次上将企业信息系统的数据综合归并进行分析利用的抽象的概念。每个主题基本上对应一个相应的分析领域。
  2. 集成的:企业级数据,同时数据要保持一致性、完整性、有效性、精确性
  3. 稳定的:从某个时间段来看是保持不变的,没有更新操作、删除操作,以查询分析为主
  4. 反应历史变化

离线数仓(一)认识数据仓库_第1张图片

1.3.数据库和数据仓库对比

功能 数据仓库 数据库
数据范围 存储历史的、完整的、反应历史变化的数据 当前状态的数据
数据变化 可添加、无删除、无变更的、反应历史变化 支持频繁的增、删、改、查操作
应用场景 面向分析、支持战略决策 面向业务交易流程
设计理论 不遵守范式、适当冗余 遵照范式、避免冗余
处理量 非频繁、批量大、高吞吐、有延迟 频繁、批量小、高并发、低延迟

面向业务的数据库常称作OLTP系统,关注增删改事务操作,面向分析的数据仓库亦称为OLAP,关注查询分析。

1.4.数据中心

引用维基百科的解释:数据中心,指用于安置计算机系统及相关部件的设施,例如电信和储存系统。一般它包含冗余和备用电源,冗余数据通信连接,环境控制(例如空调、灭火器)和各种安全设备。

数据中心,顾名思义就是数据的中心,是处理和存储海量数据的地方,英文全称为DataCenter。用专业的名词解释,数据中心是全球协作的特定设备网络,用来在internet网络基础设施上传递、加速、展示、计算、存储数据信息。

一般来讲,数据中心主要有几大部分构成:机房、供配电系统、制冷系统、网络设备、服务器设备、存储设备、环境控制设备等。

1.5.数据平台

数据平台,一般叫做数据处理平台,不是一个专门被设计用来解决数据存储问题的,一个完整的数据平台包括一些关键架构设计:

  1. 数据采集
  2. 数据存储
  3. 数据处理
  4. 数据流转
  5. 数据应用

除了提供基本的数据存储功能以外,还要提供 数据采集,数据处理,数据应用等相关功能!这是数据平台和数据库或者数据仓库不同的地方!

1.6.数据湖

引用维基百科的解释:数据湖(英语:data Lake),是指使用大型二进制对象或文件这样的自然格式储存数据的系统[1]。它通常把所有的企业数据统一存储,既包括源系统中的原始副本,也包括转换后的数据,比如那些用于报表,可视化,数据分析和机器学习的数据。数据湖可以包括关系数据库的结构化数据(行与列)、半结构化的数据(CSV,日志,XML,JSON),非结构化数据(电子邮件、文件、PDF)和二进制数据(图像、音频、视频)。

数据湖是一种在系统或存储库中以自然格式存储数据的方法,它有助于以各种模式和结构形式配置数据,通常是对象块或文件。数据湖的主要思想是对企业中的所有数据进行统一存储,从原始数据(源系统数据的精确副本)转换为用于报告、可视化、分析和机器学习等各种任务的目标数据。数据湖中的数据包括结构化数据(关系数据库数据),半结构化数据(CSV、XML、JSON等),非结构化数据(电子邮件,文档,PDF)和二进制数据(图像、音频、视频),从而形成一个容纳所有形式数据的集中式数据存储

数据湖从本质上来讲,是一种企业数据架构方法,物理实现上则是一个数据存储平台,用来集中化存储企业内海量的、多来源,多种类的数据,并支持对数据进行快速加工和分析。从实现方式来看,目前Hadoop是最常用的部署数据湖的技术,但并不意味着数据湖就是指Hadoop集群。为了应对不同业务需求的特点,MPP数据库+Hadoop集群+传统数据仓库这种“混搭”架构的数据湖也越来越多出现在企业信息化建设规划中。

数据湖的就是原始数据保存区.虽然这个概念国内谈的少,但绝大部分互联网公司都已经有了。国内一般把整个HDFS叫做数据仓库(广义),即存放所有数据的地方,而国外一般叫数据湖(datalake)

数据湖和数据仓库的区别:

特性 数据仓库 数据湖
数据 来自业务系统,运营数据库和业务应用程序的关系数据 来自IOT设备,网站,移动应用,社交媒体,企业应用程序的非关系和关系数据
Schema 设计在数据仓库实施之前(写模式) 写入在读取数据分析时(读模式)
性价比 更快查询结果会带来较高存储成本 更快查询结果只需要较低存储成本
数据质量 可作为重要事实依据的高度监管数据 任何可以或无法进行监管的数据(原始数据)
用户 数据分析师 数据科学家,数据开发人员,业务分析师
分析 批处理报告,BI,可视化 机器学习,预测分析,数据发现和分析

1.7.数据中台

所谓数据中台,即实现数据的分层与水平解耦,沉淀公共的数据能力,主要包括数据模型,数据服务,数据开发三个方面的,解决企业的生产效率和团队协作的问题。

核心思想:OneData OneService

核心价值:经验沉淀 场景驱动

核心优势:避免重复建设,统一服务接口 沉淀通用能力,前台减负

团队组成:业务团队 数据团队 算法团队 工程团队

1.8. 发展趋势

文件 --> 数据库 --> 数据仓库 --> 数据平台 --> 数据中台

2.数据仓库发展历程

2.1.传统数据仓库发展历程

  1. 萌芽阶段:数据仓库概念最早可追溯到20世纪70年代,MIT提出希望提供一种架构将业务处理系统和分析处理分为不同的层次。
  2. 探索阶段:20世纪80年代,建立Technical Architecture2规范,该明确定义了分析系统的四个组成部分:数据获取、数据访问、目录、用户服务。
  3. 雏形阶段:1988年,IBM第一次提出信息仓库的概念:一个结构化的环境,能支持最终用户管理其全部的业务,并支持信息技术部门保证数据质量;抽象出基本组件:数据抽取、转换、有效性验证、加载、cube开发等,基本明确了数据仓库的基本原理、框架结构,以及分析系统的主要原则。
  4. 确立阶段:1991年,BillI nmon出版《Building the Data Warehouse》提出了更具体的数据仓库原则:面向主题的、集成的、包含历史的、不可更新的、面向决策支持的、面向全企业的、最明细的数据存储、快照式的数据获取。尽管有些理论目前仍有争议,但凭借此书获得数据仓库之父的殊荣。

2.2. Bill Inmon 数仓

1991年,Bill Inmon 出版《Building the Data Warehouse》提出了更具体的数据仓库原则:

数据仓库是面向主题的,集成的,包含历史的,不可更新的,面向决策支持的,面向全企业的,最明细的数据存储,数据快照式的数据获取

Bill Inmon 凭借此书获得 “数据仓库之父” 的称号

Bill Inmon 主张自上而下的建设企业数据仓库,认为数据仓库是一个整体的商业智能系统的一部分。一家企业只有一个数据仓库,数据集市的信息来源出自数据仓库,在数据仓库中,信息存储符合第三范式,大致架构:

自上而下:分散异构的数据源 -> 数据仓库 -> 数据集市

离线数仓(一)认识数据仓库_第2张图片

  1. 操作型系统的数据和体系外数据需要经过ETL过程,加载到企业数据仓库中
  2. 企业数据仓库是企业信息化工厂的枢纽,是原子数据的集成仓库,其目的是将附加的数据存储用于各类分析型系统;在数据仓库中会对数据进行清洗,并抽取实体-关系。
  3. 数据集市是针对不同主题的聚集区域

2.3. Ralph Kimball 数仓

Ralph Kimball出版《The Data Warehouse Toolkit》,其主张自下而上的建立数据仓库,推崇建立数据集市,认为数据仓库是企业内所有数据集市的集合,信息总是被存储在多维模型当中,其思路:

自上而下:分散异构的数据源->数据仓库->数据集市

离线数仓(一)认识数据仓库_第3张图片

  1. Kimball的模型的数据源往往是给定的若干个数据库表,数据较为稳定但是数据之间的关联关系比较复杂,需要从这些OLTP中产生的事务型数据结构抽取出分析型数据结构。Kimball是以最终任务为导向,将数据按照目标拆分出不同的表需求,通过ETL导入数据集市层
  2. Kimball模型将分散异构的数据源经ETL转化为事实表和维度表导入数据集市,数据集市由若干个事实表和维度表组成
  3. 在数据集市将事实表和维度表根据分析主题组合后导入数据仓库中,用于数据分析

2.4.Inmon与Kimball建模总结

两种思路和观点在实际的操作中都很难成功的完成项目交付,直至最终Bill Inmon提出了新的BI架构CIF(Corporation Information Factory),把数据集市包含了进来。

CIF的核心是将数仓架构划分为不同的层次以满足不同场景的需求,比如常见的ODS(OperationalData Store)、DW(Data Warehouse)、DM(Data Market)等,每层根据实际场景采用不同的建设方案,该思路也是目前数据仓库建设的架构指南,但自上而下还是自下而上的进行数据仓库建设,并未统一,并不是绝对的。

1、共同点

  1. 均极力推崇数据仓库,认为从OLTP到BI分析之间建立数据仓库是很有必要的;
  2. 均认为数据仓库的建立需要从企业整体角度出发,迭代开发,尽量避免按部门建立独立的数据仓库;
  3. 数据进入数据仓库之前,需要经过ETL整合。

2、不同点

Inmon 理论:

  1. 数仓概念:数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策(Decision Making Support);
  2. 自上而下按照主题建立数据仓库,如按照客户、供应商、产品等建立不同的主题,开发过程中每次增加一个主题;
  3. 当建立的数据集市是跨多个主题的,需要以整合好的主题数据为基础。

Kimball 理论:

  1. 自下而上,维度建模;
  2. 先按照业务主线建立最小粒度的事实表,再建立维度表,形成数据集市,通过“一致维度”能够共同看到不同数据集市的信息;

3. 数据仓库应用前景

数据化运营

广告精准智能投放

用户画像,精准营销

数据挖掘、数据分析、人工智能、机器学习、无人驾驶

......

4. 基于大数据构建数仓

4.1.前述

  1. 随着我们从IT时代步入DT时代,数据从积累量也与日俱增,同时伴随着互联网的发展,越来越多的应用场景产生,传统的数据处理、存储方式已经不能满足日益增长的需求。而互联网行业相比传统行业对新生事物的接受度更高、应用场景更复杂,因此基于大数据构建的数据仓库最先在互联网行业得到了尝试。
  2. 尽管数据仓库建模方法论是一致的,但由于所面临的行业、场景的不同,在互联网领域,基于大数据的数据仓库建设无法按照原有的项目流程、开发模式进行,更多的是需要结合新的技术体系、业务场景进行灵活的调整,以快速响应需求为导向。

4.2.应用场景广泛

  1. 传统的数仓建设周期长,需求稳定,面向CRM、BI等系统,时效性要求不高
  2. 基于大数据的数据仓库建设要求快速响应需求,同时需求灵活、多变,对实时性有不同程度的要求,除了面向CRM、BI等传统应用外,还要响应用户画像、个性化推荐、机器学习、数据分析等各种复杂的应用场景。

4.3.技术栈更全面复杂

  1. 传统数仓建设更多的基于成熟的商业数据集成平台,比如Oracle、Teradata、Informatica等,技术体系比较成熟完善,但相对比较封闭,对实施者技术面要求也相对专业且单一,一般更多应用于银行、保险、通信等行业。
  2. 基于大数据的数仓建设一般是基于非商业、开源的技术,常见的是基于Hadoop生态构建,涉及技术较广泛、复杂,同时相对于商业产品,稳定性、服务支撑较弱,需要自己维护更多的技术框架。

4.4.数仓模型设计更灵活

  1. 传统数仓有较为稳定的业务场景和相对可靠的数据质量,同时也有较为稳定的需求,对数仓的建设有较为完善的项目流程管控,数仓模型设计有严格的、稳定的建设标准。
  2. 在互联网行业:行业变化快、业务灵活,同时互联网又是个靠速度存活的行业,数据源种类繁多:半结构化、非结构化、结构化数据,数据质量相对差,层次不齐

所以,在互联网领域,数仓模型的设计更关注灵活、快速响应和应对多变的市场环境,更加以快速解决业务、运营问题为导向,快速数据接入、快速业务接入,不存在一劳永逸。

你可能感兴趣的:(#,离线数仓,数据库,数据结构)