企业数据仓库建设的设计(一)

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 数据仓库(以下简单“数仓”)的概念在很早就被提出来,是数据库的一个分支,早期是决策支持系统(dss)和联机分析应用数据源的结构化数据环境,用于资料数据的沉淀,归类合理的存储结构,做系统化的分析整理,支撑各种决策系统,商业智能的需要。

在前面的文章中介绍了企业数据建设的由来及可能的发展方向,及数据建设能解的是什么问题,总结了数据可能发挥的作用与效益,这些都是数据处理后的表现形式,有价值的数据,都是由众多松散的原始数据处理加工而来的,而在数据的建设过程中,经常听到较多的是数据仓库的建设,那么,什么是数据仓库呢?

image.png

数据仓库(以下简单“数仓”)的概念在很早就被提出来,是数据库的一个分支,早期是决策支持系统(dss)和联机分析应用数据源的结构化数据环境,用于资料数据的沉淀,归类合理的存储结构,做系统化的分析整理,支撑各种决策系统,商业智能的需要。

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

从概念上看,数据仓库本身并不“生产”数据,也不“消费”任何数据,它的数据来源于外部,同时也输出给外部使用,数据仓库是面向主题、集成性、稳定性和时变性的数据集合,它的任何一个特点都是缺一不可的,没有稳定性和时变性的数据集合,试问能提供什么决策呢,数据的价值体现在它的时效性,对比性,追溯性。

image.png

从定义上看,数据仓库至少包括数据获取、数据存储、数据访问等三部分。数据获取,负责将外部的数据采集到数据仓库,数据的来源可能有多种,比如关系型数据、非关系型数据、文档数据等;数据采集来了,就要将它存储起来,为后续的处理与分析提供输入,这里的数据存储,它不是简单的将采集回来的数据直接存储,而是需要将数据进行清洗、归类、去重、去噪,然后按不同的粒度进行分类存储,为后继的数据输出,提供可“消费”的基本数据,可能在特定的场景下,还需要对数据进行更高层次的聚合与统计并保存起来,去响应一些较实时的场景(这里涉及到数据仓库的存储分层);数据访问,负责数据仓库的对外服务输出,数据只有输出去给外部系统使用,才能产生其应有的价值,数仓本身又不“消费”数据,这里的输出,可能是excel/pdf等文档的输出,也可能是输出到其他数据库媒价中(如mysql/oracle等),也可能通过API 接口输出到外部的系统界面上,根据实际的需要来进行定制。

数据仓库是大数据的基础,数据仓库规划建设的好坏,会影响到后续的数据输出需要,要考虑到数据组合的统计汇总、上钻下钻、明细、对比等各方面的需要。如果按传统的报表来建设,直接在数仓中存储各报表的结果数据,这样会生成很多烟囱式的数据,变成互不关联,利用率低,也不利于上钻下钻,维度组合的需要。那么,这个过程要怎么来做呢?

其实这个数仓的规划建设过程没有标准的答案,虽然市面上有很多案例,但那都是针对特定公司的业务开展的,不能照搬到过来就使用,还是要结合公司的实际情况来进行规划与设计,不能只看到表面,还要看到公司内部的数据规律,来讨论决定。我觉数仓的建设,要达到以下几点要求:

1、 存储原始数据

在过往的一些数仓建设过程中,很多都会在完成对原始数据的清洗处理后,将原始数据清除,美名释放空间。但是如果后续的数据有问题/或者有新的数据需求,又要从各个业务系统去重新拉取数据,相当于又是重复工作。对于原始数据的采集,可以采用增量的方式进行存储。

2、 清晰的数据分层(数据结构)

由于数仓的数据来源是多方面的,在源始数据入库后,需要对源始数据进清洗,形成一致的,准确的,干净的数据。而对数据的这个处理过程,可能是需要多个分层来完成的,要明确每一个分层的作用域、定位,降低每一个分层之间的依赖关系。市面上较多的是四层分法:ODS(源数据层)、DWD(数据明细层)、DWS(数据轻汇总层)、ADS(数据应用层)。
image.png

3、数据可追溯性

数据的可追溯性,才能实现数据的上钻下钻的能力,如果数据没有关联性,那将无法保证数据的准确性。由于提供给下游系统的数据一般都是结果数据,当结果数据出现问题时,数据的血缘关系可以帮助快速定位问题所在。

4、数据关系条理化

一般用到数据仓库的,都是公司存在多套业务系统,业务系统间存在复杂的数据关系,由于数据的孤立性,导致每套业务系统都可能存在主数据,比如客户信息可能同时存在ERP、WMS、CRM等系统上。而数仓可以对相同主题的数据进行统一的建模,把复杂的数据关系梳理成条理清晰的数据模型,从而避免上述的问题。当然,这个建模的过程需要从整体上去把握数据的关系,结合各个系统的产品经理进行讨论,整理出结果。

5、降低开发复杂度

这个也是大数据火热的原因,大数据的表现形式之一就是提供统一的对外数据服务,让下游业务系统/业务员可以较简单地获取到想要的数据,而不是像传统一样,要去每个业务系统导出数据,然后自己在整理(处理),在导入系统(生成excel)。数仓利用数据的分层加工,逐步在每一层沉淀数据,数据开发人员只需要按需,从已有的数据分层上获取自己想要的数据。当然,前提是数据分层的规划及数据粒度要定义好,在每一层都可以沉淀前一层的汇总数据,又可以往上层回溯。

6、数据稳定性

数仓的数据逐层加工的原则,会使上层的数据都是由下层的数据加工而来,不允许直接跳级取数。每一层的数据都具有一定的独立性,只要ETL的作业没有运行,每一层的数据都是相对稳定,不会因为底层的源数据发生变化,而导致到上层的数据直接变化,只有达到ETL作业运作时,数据才会从最底,向上层一层层更新,保证对外的应用数据是稳定的。

基于上面的要求,结合公司的实际情况,就可以来制定数仓的分层及数据域等方面的建设,数仓的分层市面上有很多方案,各有各的说法与好处,至于要怎么做,在下一篇文章中进行介绍,欢迎关注。

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
4月前
|
数据采集 大数据 关系型数据库
数据架构问题之什么是传统大数据架构的数据源
数据架构问题之什么是传统大数据架构的数据源
|
6月前
|
存储 数据采集 算法
大数据平台治理——运营的角度看数仓
大数据平台治理——运营的角度看数仓
53 0
|
6月前
|
存储 监控 大数据
数据仓库(11)什么是大数据治理,数据治理的范围是哪些
什么是数据治理,数据治理包含哪些方面?大数据时代的到来,给了我们很多的机遇,也有很多的挑战。最基础的调整也是大数据的计算和管理,数据治理是一个特别重要的大数据基础,他保证着数据能否被最好的应用,保证着数据的安全,治理等。那么数据治理到底能治什么,怎么治?
156 0
|
canal 缓存 otter
数据仓库 、数据中心相关技术知识和生态相关了解
数据仓库 、数据中心相关技术知识和生态相关了解
223 0
|
6月前
|
存储 机器学习/深度学习 运维
数据仓库与数据湖:解析企业数据管理的两大利器
在信息时代,企业数据的管理和分析变得至关重要。数据仓库和数据湖作为两种不同的数据管理模式,各自具有独特的特点和应用场景。本文将深入探讨数据仓库与数据湖的概念、优势和应用,帮助读者更好地理解和运用这两个工具。
174 0
|
存储 数据采集 安全
什么是数据管理,数据治理,数据中心,数据中台,数据湖?
什么是数据管理,数据治理,数据中心,数据中台,数据湖?
263 0
|
存储 SQL 机器学习/深度学习
「数据战略」数据驱动企业和DataOps :数据仓库与数据湖:入门
「数据战略」数据驱动企业和DataOps :数据仓库与数据湖:入门
|
存储 SQL 数据采集
数据仓库建设规范
数据仓库层是我们在做数据仓库时要核心设计的一层,在这里,从 ODS 层中获 得的数据按照主题建立各种数据模型。DW 层又细分为 DWD (Data Warehouse Detail) 层、DWM (Data WareHouse Middle) 层和 DWS (Data WareHouse Servce) 层。
数据仓库建设规范
|
存储 数据采集 SQL
数据仓库心得(11)什么是大数据治理,数据治理的范围是哪些
什么是大数据治理,数据治理的范围是哪些
265 0
数据仓库心得(11)什么是大数据治理,数据治理的范围是哪些
|
消息中间件 SQL 运维
应用实践 | 数仓体系效率全面提升!同程数科基于 Apache Doris 的数据仓库建设
同程数科成立于 2015 年,是同程集团旗下的旅游产业金融服务平台。2020 年,同程数科基于 Apache Doris 丰富的数据接入方式、优异的并行运算能力、极简运维等特性,引入 Apache Doris 进行数仓架构2.0 的搭建。本文详细讲述了架构1.0 到 2.0 的演进过程及 Doris 的应用实践,希望对大家有所帮助
1042 0