北冰洋以北 发表于 2024-8-14 13:40:07

数据仓库详解(第63天)

系列文章目录

数据仓库操持

[*]作甚数仓
[*]主要特点
2.1 面向主题
2.2 集成
2.3 相对稳定
2.4 反映汗青变革
[*]数仓分层
3.1 数仓分层的优点
3.2 分层的方式
3.2.1 数据运营层 ODS
3.2.2 数据仓库层 DW
3.2.3 数据应用层 ADS
3.3 数据集市
[*]主题分别
4.1 概念
4.1.1 主题
4.1.2 主题域
4.2 主题域分别


媒介

本文为Flink-业务开发章节前篇:数据仓库操持详解
后续章节:Flink实战车联网项目数仓操持
数据仓库操持

1. 作甚数仓

(1) 数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映汗青变革(Time Variant)的数据聚集;
(2) 数据仓库通常指一个数据库环境,而不是一件产品,它提供用户用于决议支持的当前的和汗青的数据,它是一整套包括了etl、调治、建模在内的完备的体系;
(3) 数据仓库建设的目的,是为前端查询和分析提供数据基础,主要应用于OLAP(on-line Analytical Processing),支持复杂的分析操作,侧重决议支持,而且提供直观易懂的查询结果。
2. 主要特点

2.1 面向主题

操作型数据库中的数据针对事务处理任务,各个业务系统之间彼此分离,而数据仓库中的数据按照肯定的主题域举行组织。
主题是个抽象概念,指用户使用数据仓库举行决议时所关心的重点领域,如顾客/供应商/产品等。
一个主题通常与多个操作型数据库相关。
2.2 集成

操作型数据库通常与某些特定的应用相关,数据库之间相互独立,且往往是异构的。
而数据仓库中的数据是在原有分散的数据库数据作抽取、清算的基础上经过系统加工、汇总和整理得到的,因此必须消除源数据中的不划一性,以保证数据仓库内的信息是关于整个企事业单位划一的全局信息。
即存放在数据仓库中的数据应使用划一的定名规则、格式、编码结构和相关特性来定义。
2.3 相对稳定

操作型数据库中的数据通常实时更新,数据根据须要及时发生变革。
数据仓库中的数据主要用作决议分析,涉及的数据操作主要是查询和定期更新,一旦某个数据加载到数据仓库以后,一样平常情况下将作为数据档案恒久保存,几乎不再做修改和删除操作。
即数据仓库中通常有大量的查询操作及少量定期的更新操作。
2.4 反映汗青变革

操作型数据库主要关心当前某一时间段内的数据,而数据仓库中的数据通常包罗较长远的汗青数据。因此数仓中通常包括一个时间维,以便研究趋势和变革。
数仓系统通常记载了一个单位从已往某一时期到如今的所有时期的信息,通过这些信息,可以对单位的发展历程和未来趋势作出定量分析和猜测。
3. 数仓分层

3.1 数仓分层的优点


[*]划清条理结构:每一个数据分层都有它的作用域,如许在使用表的时间能更方便地定位和理解。
[*]数据血缘追踪:简单来讲可以如许理解,数仓终极给鄙俚是直接能使用的业务表,但是它的来源有很多,如果有一张来源表出题目了,开发者希望能够快速准确地定位到题目,并清楚它的危害范围。
[*]减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。
[*]把复杂题目简单化:将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和轻易理解。而且便于维护数据的准确性,当数据出现题目之后,可以不用修复所有的数据,只须要从有题目的步骤开始修复。
[*]屏蔽原始数据的异常:屏蔽业务的影响,不必改一次业务就须要重新接入数据。
3.2 分层的方式

每个公司的业务都可以根据自己的业务需求分层不同的条理;如今比较成熟的数据分层:数据运营层 ODS、数据仓库层 DW、数据服务层 ADS。
https://i-blog.csdnimg.cn/direct/7f73719011d34b0ba6fe3b8d69cdca38.png
3.2.1 数据运营层 ODS

数据运营层:Operation Data Store 数据准备区,也称为贴源层。数据源中的数据,经过抽取、洗净、传输,也就是ETL过程之后进入本层。
该层的主要功能:
1) ODS是后面数据仓库层的准备区
2) 为DWD层提供原始数据
3) 减少对业务系统的影响
在源数据装入这一层时,要举行诸如去噪(例如有一条数据中人的年龄是 300 岁,这种属于异常数据,就须要提前做一些处理)、去重(例如在个人资料表中,同一 ID 却有两条重复数据,在接入的时间须要做一步去重)、字段定名规范等一系列操作。
但是为了思量后续大概须要追溯数据题目,因此对于这一层就不发起做过多的数据洗濯工作,原封不动地接入原始数据也可以,根据业务具体分层的需求来做。这层的数据是后续数据仓库加工数据的来源。
3.2.2 数据仓库层 DW

数据仓库层从上到下,又可以分为3个层:数据细节层 DWD、数据中间层 DWM、数据服务层 DWS。
 数据细节层 DWD
data warehouse details,DWD (数据洗濯/DWI),该层是业务层和数据仓库的隔离层,保持和 ODS 层一样的数据颗粒度;主要是对 ODS 数据层做一些数据的洗濯和规范化的操作,比如去除空数据、脏数据、离群值等。为了进步数据明细层的易用性,该层通常会才采用一些维度退化方法,将维度退化至事实表中,减少事实表和维表的关联。
 数据服务层 DWS
Data Warehouse Service,DWS(宽表-用户活动,轻度聚合)该层是基于 DWD 上的基础数据,对数据做一些轻微的聚合操作,整合汇总成分析某一个主题域的数据服务层,一样平常是宽表,用于提供后续的业务查询,OLAP分析,数据分发等。一样平常来说,该层的数据表会相对较少;一张表会涵盖比较多的业务内容,由于其字段较多,因此一样平常也会称该层的表为宽表。
3.2.3 数据应用层 ADS

Application Data Service,ADS(APP/DAL/DF) 出报表结果。该层主要是提供给数据产品和数据分析使用的数据,一样平常会存放在 ES、Redis、PostgreSql 等系统中供线上系统使用;也大概存放在 hive 或者 Druid 中,供数据分析和数据发掘使用,比如常用的数据报表就是存在这里的。
3.3 数据集市

狭义上指 ADS 层;广义上指 Hadoop 从 DWD DWS ADS 同步到 RDS 的数据形成的数据集市(Data Mart),也叫数据市场,数据集市就是满意特定的部门或者用户的需求,按照多维的方式举行存储,包括定义维度、须要计算的指标、维度的条理等,生成面向决议分析需求的数据立方体。
 区别数据仓库
数据集市就是企业级数据仓库的一个子集,它主要面向部门级业务,而且只面向某个特定的主题。为相识决灵活性与性能之间的矛盾,数据集市就是数据仓库体系结构中增长的一种小型的部门或工作组级别的数据仓库。数据集市存储为特定用户预先计算好的数据,从而满意用户对性能的需求。数据集市可以在肯定水平上缓解访问数据仓库的瓶颈。
理论上讲,应该有一个总的数据仓库的概念,然后才有数据集市。实际建设数据集市的时间,国内很少这么做。国内一样平常会先从数据集市入手,就某一个特定的主题(比如企业的客户信息)先做数据集市,再建设数据仓库。数据仓库和数据集市创建的先后次序之分,是和操持方法精密相关的。而数据仓库作为工程学科,并没有对错之分。
在数据结构上,数据仓库是面向主题的、集成的数据的聚集。而数据集市通常被定义为星型结构或者雪花型数据结构,数据集市一样平常是由一张事实表和几张维表构成的。
https://i-blog.csdnimg.cn/direct/a6070c895df24d00bc2f6618827a5613.png
数据粒度方面,数据仓库通常包括粒度较细的数据明细,数据集市则会在数据仓库的基础上举行数据聚合,这些聚合后的数据就会直接用于部门业务分析。
4. 主题分别

4.1 概念

4.1.1 主题

主题是在较高条理上将企业信息系统中的数据综合、归类并举行分析使用的抽象。它是与传统数据库的面向应用相对应的,是一个抽象概念,每一个主题对应一个宏观的分析领域。在逻辑意义上,它是对应企业中某一宏观分析领域所涉及的分析对象。
面向主题的数据组织方式,就是在较高条理上对分析对象数据的一个完备而且划一的描述,能描画各个分析对象所涉及的企业各项数据,以及数据之间的接洽。所谓较高条理是相对面向应用的数据组织方式而言的,是指按照主题举行数据组织的方式具有更高的数据抽象级别。
与传统数据库面向应用举行数据组织的特点相对应,数据仓库中的数据是面向主题举行组织的。比如说,黑马出行会根据分析角度不同,分为不同的主题,如订单主题、司机主题、搭客主题等。
4.1.2 主题域

主题域通常是接洽较为精密的数据主题的聚集。可以根据业务的关注点,将这些数据主题分别到不同的主题域。主题域简直定必须由终极用户和数据仓库的操持人员共同完成。
 主题域、主题、实体间关系:
主题操持是对主题域进一步分解,细化的过程。主题域下面可以有多个主题,主题还可以分别成更多的子主题,而实体则是不可分别的最小单位。主题域、主题、实体的关系如下图所示。
https://i-blog.csdnimg.cn/direct/5b4bb8518a844bd3ad5cc70473ad9ba4.png
4.2 主题域分别

在企业实际搭建数据仓库时,一样平常都是把核心业务的核心关注领域作为重点,围绕它来举行建设。这种建设方式因为涉及到主题的选择,必须先由终极用户和数据仓库建设人员共同确认主题域,然后继续完成搭建过程。
举行分别主题域时须要数仓建设人员相识业务流程,通过总结和分析清楚各个不同的业务流程都有哪些业务运动参与此中。
分别主题域的方法有很多,不同企业采取的方法也有所不同,总的来说,用得最多的有下面几种。
1) 按照业务系统分别
因为大部门企业都已经经历过了信息化建设或者正处于信息化建设当中,企业各种业务系统都已经摆设完成,财务部门有财务系统、贩卖部门有贩卖系统、生产部门有生产系统、供应链部门有供应链系统…
这些不同的业务系统,因为只会储存对应业务流程中产生的数据,下级数据主题都互相紧贴,是自然的主题域,业务系统有几种,就可以分别为几种主题域。
https://i-blog.csdnimg.cn/direct/cf9f881645114db6a60e62522b362d7e.png
2) 按照部门分别
现代企业都有着不同的业务部门,这些部门也会形成各种不同的主题域,比如说贩卖域、生产域、财务域等,而这些主题域也是由不同的数据主题构成的。
https://i-blog.csdnimg.cn/direct/41ea4389126542cca4d85fcd011108ac.png
3) 按照需求分别
很多时间,企业须要恒久对某个方向举行分析,因为这个恒久分析的过程涉及到各种主题,会对数据举行细分、归纳,在这个过程中,就由需求诞生了主题域。
就拿贩卖分析来说,这个分析过程会涉及到的对象有产品、仓库、经销商、顾客等,此中每一个分析对象就是一个数仓主题,而包罗归纳这些主题的贩卖分析就成为了一个相应的主题域。
https://i-blog.csdnimg.cn/direct/cb6b791578dd46c380cce6c89232a362.png
4) 按照功能分别
在现代社会,软件是每个加入互联网的网民都会使用到的东西,这些由企业开发的软件拥有着不同的功能模块,比如说外交软件中就会有谈天、朋友圈、群聊、发送文件等功能。
从这些功能中选一个模块,谈天模块会涉及到数据仓库中的用户主题、图片主题、笔墨主题等,以是谈天模块也能被归纳为谈天主题域。
https://i-blog.csdnimg.cn/direct/c8f84954f2bc45d0bbacb62ea82dfb48.png
总而言之,切入的出发点逻辑不一样,就可以存在不同的划分逻辑。在建设过程中可采用迭代方式,不纠结于一次完成所有主题的抽象,可先从明确定义的主题开始,后续逐步归纳总结成自身行业的标准模型。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 数据仓库详解(第63天)