10分钟快速构建云原生数据仓库(二)

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 10分钟快速构建云原生数据仓库(二)

开发者学习笔记【阿里云云数据库助理工程师(ACA)认证10分钟快速构建云原生数据仓库(二)

课程地址https://edu.aliyun.com/course/3112080/lesson/19066

 

10分钟快速构建云原生数据仓库(二)


四、如何基于 AnalyticDB 快速构建数据仓库


图片237.png

基于 ADB 去构建数据仓库的体系可以分为几块,第一个数据从原始的生产数据包括 IoT 的数据,以及一些第三方的数据,这些数据源经过数据抽取然后清洗集成,集成到数据仓库里面。在数据仓库里面可以进行一个数据面向主题的数据建模,数据建模以后经过多层次数据的转化跟建模过程之后,然后应用在线上的生产里面。


线上生产可能主要面向几块,第一种就是面向业务决策上面的数据分析、报表以及业务赋能,另外一个还可以面向数据交易以及数据分享的数据服务,整个各基于 ADB 构建的数据仓库体系。


(1)数仓分层

ADB 内部如何进行数据的输仓分层

图片238.png

数据源数据库/日志/大数据

Oracle/DB2 MysQL SQLServer PostgresQL MongoDB PolarDB SLs/OSS/OTS Hadoop

数据实时同步数据传输服务 DTS

DataworksT+1 周期集成

第三方工具 Kettle/OGG

数据贴源层 ODS 层 必须构建 未经过处理的原始数据 结构与源系统保持一致

数据加工处理

公共数据层 CDM 层 非必须构建 DIM,维度表,例如会员表 DWD,明细事实层,基于业务过程构建的细粒度明细事实表。例如商品交易表 DWS,轻度汇总事实层基于应用及指标需求构建的轻度汇总指标事实表。例如,商品日交易额明细表。

数据加工处理

数据应用层 ADS 层 非必须构建 存放个性化的统计指标数据


数据源经过一些数据集成工具,比如阿里云上面的数据传输服务 DPS 或者是离线的 T+1 周期集成可以去 Dateworks 一些第三方的工具将数据集成到 ADB,ADB 内部数据的原始数据存储在数据的天元层简称 ODS 层,在 ODS 层存储的云端数据源是基本上是未经处理的一些原始数据的存储,而且整个结构跟语言系统保持一致。ODS 的数据可以经过数据的处理加工,加工成中间的公共数据层,在公共数据层里面的数据一般会分为几层,一种是维度表,维度表一般就是例如会员、商品、数据这种数据量相对来说偏小,但是又在最后的分析里面,是经常会作为一个维度数据进行交叉分析的数据,一般放在维度表里面。


第二个是明细表,明细表一般都是基于企业的业务过程,比如企业下单产品过程就是订单的数据,是业务过程当中构建的一些明细的事实表,基本上是每一笔订单都可能在里面会存储一条记录,另外一个是轻度的汇总成,轻度的汇总成叫  DWS 层,例如最终要加工出来的业务要用的数据可能是商品的交易额或者订单的交易额,在 DWS 层可以是每天做一次清度的汇总,也是每天的订单交易总额、每个月或者每七天的交易总额。在ADS 是最后面向业务使用的结果数据,可以基于上层去构建 BI 报表或者是大屏,或者在业务里面去做一些业务的公共决策,包括数据交易全部称为 ADS 面向结果直接可用的数据,例如可能要做的结果数据是商品交易额,在 ADS 层可能就是存储的商品交易额,比如要求做到每个月有一个点的趋势表,变成每个月一条记录的商品交易额,这个是整个数仓业界比较常见的数仓分层模型。数仓需要详细分层的核心还是在于最后面向业务层的需求是多样化的,不可能让每个业务线自己或者每个应用自己去开发一套数据的处理过程,为了简化数据的开发、复用的能力,像公共数据层 CDM 去构建一个公共的数据层,然后上层业务根据自己的个性化的统一需求或者业务需求去构建自己差异化的 ADS层,通过建模过程把一些通用的公共的一些能力建设可以变成一个统一的工作,去节省整个数据的开发工作量,同时也能够保证整个开发口径的一致性。

(2)数据仓库构建流程

图片239.png需求分析

明确业务板块  明确业务过程

定义业务

定义业务板块  定业务过程

梳理指标

原子指标  衍生指标

数据梳理

定义 ADS 层  定义 CDM 层

梳理数据源

梳理 ODS 层表,定义表来源

比如企业要构建数仓的过程中,可以按照上面的流程去梳理整个企业构构建数仓每一层需要产出的一些数据。


首先要基于面向业务,面向最后主题的需求分析倒推去梳理最终需要构建 ODS 层、ADS 层,包括 CDM 层的一些数据,比如需要明确业务的板块,例如是电商的板块、金融借贷的板块、还是物流的板块,要明确里面的业务板块是哪一块。


第二个是明确业务过程,因为业务板块是非常多的,比如在电商里面可能涉及到了商品的生产过程,还有订单的下单过程,会员的注册过程,里面的业务过程非常多,要明确需要行数据分析的业务的业务过程是什么,就定义好业务过程,你才能去分析这些业务过程涉及到的哪些数据有哪些。


那例如我们可能是一个订单的下单过程,那第二个的话就是我们需要定义好这个业务过程之外,我们明确好了业务需求之后,就定义好业务板块跟业务过程,然后根据业务需求去梳理出来里面需要产出的业务指标是什么,业务指标就是业务的一些需求,比如最重要的产出是商品交易或者某个商品交易订单金额的一个变化趋势图,或者是某个商品在某个区域交易金额的变化趋势,这些里面涉及到一些指标,在指标里面有一些是可以分为原子指标跟衍生指标,原子指标是不可再分的,衍生指标一般是从原子指标里面经过经过一些限定词的限定之后,然后获得了衍生类的指标,比如原子指标是电商里面所有的商品交易额,可能是每天的交易额,衍生指标可能是要 a 品牌 a 商品的交易额趋势,所以衍生指标是经过一些限定词从原子指标里面去生产加工出来的,企业需要去定义好原子指标跟衍生指标,根据原子指标跟衍生指标比如电商商品的交易和的趋势,就可以知道需要商品每个交易订单交易额的金额,包括衍生指标里面的一些限定值,比如对应的一些商品的品牌属性、商品的种类属性、商品的名称属性,这些数据都是需要的,所以根据这些数据可以梳理出来最终需要的 ADS 层、CDM 层以及原始的 ODS 层的数据是需要哪块,建议数仓构建的过程是从业务数据分析需求倒推出来,去梳理想要的数据来源。

图片240.png

基于 ADB 来构建的时候也是用原始数据,然后通过像用 DPS 的数据实时传输,把原始数据在 ADS 里面、ADB 里面去构建它的 ODS 天元层,然后天元层的数据经过数据加工整合可以构建出一个数据公共层,然后根据面向个性化的统计指标需求去构建 ADS 层。


(3)ODS 层的实时数据准备

一键打通数据源到 AnalyticDB 的数据链路快速构建数据仓库 ODS层。

图片241.png

核心价值 :

一键同步数据库及业务日志

数据实时同步更新,无延迟

减少 ETL 开发工作量

阿里的 ADB 是支持通过 DTS 将原端的日志数据以及业务生产数据实时的集成到 ADB 里面去构建 ODS,比如企业只要在 ADB 里面去使用一键建仓功能,选择好要集成的数据源的 id,然后配置好要集成到哪个数据仓库里面,点击确定会一键自动的构建起来。


面向日志数据也是一样的构建过程,所以阿里云的 ADB 构建程非常简单,数据进入到 ADB 里面之后,需要应用一些调度开发品牌,比如 Dateworks、Dataphin 或者 DMS 的一些数据管理开发调度平台,就可以把数据进行二次的加工整合,整合成 CDM 以及 ADS 层的数据。在 CDM 层当数据进入到 ODS 层之后,需要经过一些初步的预聚合,聚合成 CDM 层,涉及到如果要做离线的聚合调度,做实时的计算可以去调度开发平台,比如可以在里面去配置加工的一些逻辑,然后去做一个任务的编排,配置任务调度的开发能力,去实现 CDM 的构。

图片242.png

数据加工以及开发跟最后产出的衍生指标和原子指标非常强相关的,加工之后的数据又可以重回到 ADB 里面的 CDM 层。

 

五、一个基于 AnalyticDB 构建数据仓库的示例


某电商公司 X,销售各种品牌的服装。其订单表如下:

图片243.png

假设业务上需要统计 A 品牌服装每天的销售总额,那么上述案例相,

前面讲的是业界在数仓构建过程当中的方法论,以及基于阿里云的 ADB 构建数据仓库目前常用工具,包括数据传输 DPS 以及数据管理 DMS,去构建 ODS、CDM 以及最后的 ADS 层。以电商维度简单介绍前面所说的各种业务板块、业务过程之类到底具体对应到业务里面是什么东西。


例如这里是一个电商公司的订单数据,就要做一个订单金额、销售额的数据分析来做经营的决策辅助,这里面企业有很多订单表,还有各种买家卖家维度、商品维度的各种维度表的一些数据,拿订单表的原始数据来做参考,比如订单 ID 对应的订单里面的买家是谁,买家姓名商品 ID 是什么,购买的数量、支付的金额是什么。


假设需要统计 a 品牌服装每天的销售总额是最后统计的衍生指标,a 品牌的销售总额整个建仓模型就是参考下面,里面的业务板块讲的是电商业务,业务过程讲的是下单购买比较简单,要针对的是下单购买的数据去做一个最后的数据建仓,然后里面的维度因为统计的是 a 品牌,所以它的维度就是品牌维度,品牌一定要放进去,业务原子指标是销售总额,因为衍生指标要统计 a 品牌销售总额,所以要对衍生原子指标进行一些限定,业务限定是服装品牌为 a 品牌,时间周期是一天,所以通过业务限定加时间周期就可以从原子指标拿到产出的衍生指标,可以知道需要把一些订单数据,品牌的维度数据去同步到数据仓库进行原子指标以及衍生指标的架构。

相关实践学习
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
相关文章
|
9天前
|
Cloud Native API 云计算
云原生技术:构建现代应用的蓝图
在数字化浪潮推动下,企业正迅速采纳云原生技术以加速创新和响应市场。本文将探讨云原生的核心概念、优势以及如何通过实践案例促进企业转型。
|
19天前
|
运维 Kubernetes Cloud Native
云原生之旅:构建微服务架构的实用指南
【7月更文挑战第31天】随着云计算技术的不断演进,云原生已经成为现代软件开发的重要趋势。本文将通过一个实际案例,引导读者了解如何在云平台上利用云原生技术构建和部署微服务架构。文章不仅提供理论指导,还结合代码示例,帮助开发者深入理解云原生应用的开发与运维流程。
43 11
|
14天前
|
存储 缓存 Cloud Native
为媒体资产构建一个云原生的文件系统
为媒体资产构建一个云原生的文件系统
29 3
|
17天前
|
Cloud Native 持续交付 云计算
探索云原生架构:构建现代应用的基石
在数字化转型的浪潮中,企业正面临前所未有的挑战与机遇。云原生架构,作为一种新兴的应用开发范式,正日益成为企业创新和竞争力提升的关键。本文将深入探讨云原生的核心概念、优势以及实施过程中可能遇到的挑战,旨在为读者提供一份全面的云原生实践指南。
|
7天前
|
运维 监控 Kubernetes
构建高效稳定的云原生运维体系
【7月更文挑战第44天】在数字化转型的浪潮中,企业纷纷将业务迁移至云端,以追求更高的敏捷性、可扩展性和成本效益。然而,随之而来的是复杂多变的云环境和运维挑战。本文将深入探讨如何构建一个高效且稳定的云原生运维体系,覆盖从容器化部署、自动化管理、监控告警到灾难恢复的策略和实践。我们将分析微服务架构下的关键运维模式,以及如何利用当下流行的工具如Kubernetes、Prometheus等来提升系统的稳定性和可靠性。通过本文的阐述,读者能够获得构建现代化运维体系的全面视角,并了解实现该体系的最佳实践。
|
12天前
|
监控 Cloud Native 持续交付
构建高效稳定的云原生应用部署策略
【7月更文挑战第39天】在当今快速迭代和不断演进的软件开发周期中,传统的部署模式已不再适应现代应用的需求。本文将探讨一种基于云原生技术栈的应用部署策略,重点在于如何通过容器化、微服务架构以及持续集成和持续部署(CI/CD)流程来提高应用的可靠性和效率。我们将讨论关键技术的选择,实施步骤,以及如何确保系统稳定性和性能监控的最佳实践。此策略不仅有助于缩短开发周期,还能保证产品质量,并实现快速响应市场变化的能力。
|
21天前
|
Cloud Native 关系型数据库 OLAP
云原生数据仓库操作报错合集之遇到“table does not exist”错误,该怎么办
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
21天前
|
SQL Cloud Native 关系型数据库
云原生数据仓库操作报错合集之遇到报错“DDL forbidden because backupTask is doing snapshot”如何处理
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
21天前
|
JSON Cloud Native 关系型数据库
云原生数据仓库操作报错合集之遇到报错 "ERROR: out of shared memory" ,该怎么办
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
21天前
|
SQL Cloud Native 关系型数据库
云原生数据仓库使用问题之分组优化如何实现
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。

热门文章

最新文章