百度、阿里、腾讯平台架构都熟悉,小米大数据平台架构OLAP架构演进是否了解(一)

简介: 百度、阿里、腾讯平台架构都熟悉,小米大数据平台架构OLAP架构演进是否了解(一)

小米大数据平台OLAP架构演进



一、数据仓库


1、离线数据仓库的架构


数据仓库一般架构


分析型系统进行联机数据分析,一般的数据来源是数据仓库,而数据仓库的数据来源为可操作型系统,可操作型 系统的数据来源于业务数据库中,那么我们常用的数据仓库的组成和架构一般如下图所示


image.png


上图将数据分为业务源头系统和数据仓库系统:


其中数据仓库系统又包括操作型(ODS)系统和数据仓库系统两部分。


操作型(ODS)系统的数据主要来自于各业务数据系统中,这其中包括:


①关系型数据库


②平面文件(文本文件,CSV文件,XML文件)等


③还有网络爬虫抓取的开放的数据等。


数据的种类也丰富多元:有结构化数据、半结构化数据、非结构化数据等,这些数据会通过抽取、转换和装载从  ODS进入到数据仓库系统中。


数据仓库常用架构        


在数据仓库技术演进过程中,产生了几种主要的架构方法,包括 Inmon 企业信息工厂架构、 Kimba数据仓库架 构。        


Inmon 企业信息工厂架构


image.png


企业数据仓库是企业信息化工厂的枢纽,是原子数据的集成仓库,但是由于企业数据仓库不是多维格式,因此不适合分析型应用程序,BI工具直接查询。他的目的是将附加的数据存储用于各种分析型系统。      


数据集市,是针对不同的主题区域,从企业数据仓库中获取的信息,转换成多维格式,然后通过不同手段的 聚集、计算,最后提供最终用户分析使用,因此Inmon把信息从企业数据仓库移动到数据集市的过程描述为“数据 交付”。


Kimball 的维度数据仓库        


Kimball 的维度数据仓库是基于维度模型建立的企业级数据仓库,它的架构有的时候可以称之为“总线体系结 构”,和 inmon 提出的企业信息化工厂有很多相似之处,都是考虑原子数据的集成仓库。


image.png


这两种结构的相似之处:      


一、都是假设操作型系统和分析型系统是分离的;      


二、数据源(操作型系统)都是众多;      


三、ETL整合了多种操作型系统的信息,集中到一个企业数据仓库。      


最大的不同就是企业数据仓库的模式不同:inmon是采用第三范式的格式,kimball采用了多维模型–星型模型, 并且还是最低粒度的数据存储。


其次,维度数据仓库可以被分析系统直接访问(这种访问方式毕竟在分析过程中很少使 用)。


最后就是数据集市的概念有逻辑上的区别,在kimball的架构中,数据集市用维度数据仓库的高亮显示的表的子 集来表示。


在kimball的架构中,有一个可变通的设计,就是在ETL的过程中加入ODS层,使得ODS层中能保留第三范式的一组表 来作为ETL过程的过渡。但是这个思想,Kimball看来只是ETL的过程辅助而已。另外,还可以把数据集市和企业维 度数据仓库分离开来,这样多一层所谓的展现层(presentationlayer),这些变通的设计都是可以接受的,只要符合企业本身分析的需求。


混合型结构数据仓库指的是结合inmon和 kimball 两种结构的架构,可以从下图的结构中看出来,将 Inmon 架构 中的数据集市部分内容替换成了一个多维的数据仓库,二数据集市是多维数据仓库上的逻辑视图。使用这种架构的 好处是,既可以利用规范化设计消除数据冗余,保证数据的粒度足够细;又可以利用多维结构更为灵活地在企业中 实现报表和联机分析工作。


2、维度数据建模


维度数据建模主要应用于数据仓库的设计,维度模型是一种进行查询的设计技术。


维度建模中两个核心概念是事实表和维度表。    


1. 事实表主要是围绕观察数据的角度,事实表通常是对具体的度量,可以对其进行聚合、累加、计算;    


2. 维度表是站在什么角度去看待问题,一组层次关系比如时间、组织、部门、地域等维度表。


维度数据建模的流程


维度数据建模的方式一般有星型模型和雪花模型、星座模型,较为常用的是星型模型。所谓星型模型就是将事实表 作为数据分析的中心,将维度表环绕着事实表。一般使用以下过程构建维度模型分为如下四个步骤:    


1. 待分析的业务流程    


建模的第一个步骤就是描述需要建模的业务流程,简单来说就是要分析某个业务先将此业务需求的相关业务流程梳理清楚,比如说分析订单销售情况,就要将订单表和订单详情相关的业务通过统一建模语言UML等进行梳理;    


2. 确定分析的粒度    


确定了分析的业务流程之后,确定事实表中要分析的业务数据的粒度,比如说订单表中的订单是秒级数据,一般从 业务流程中获取的数据都是最细(最低)粒度的数据,同一个业务分析中不要使用多种粒度,一般情况下只是用一种粒 度,比如说统计某一天(或某一个小时的)的订单总金额和订单总笔数。


3.确定分析的角度也就是维度    


确定分析的纬度主要取决于分析的粒度,比如说要分析某小时或者某一天的数据,就需要时间维度进行分析,就需 要维度表——时间表。如果需要进行小区、大区、全国进行数据分析就需要使用组织维度进行分析。


4.确认使用到的事实表    


待分析的业务确定下来之后,就需要获取分析的事实表(可度量)的数据表。事实表的数据都是可度量的,能够进行累加,统计的数字型数据。


3、数据集市


数据集市相比较于数据仓库最大的区别是,数据仓库数据来源于外部业务系统,外部系统数据等,而数据集市来源于数据仓库的数据;        


两者的粒度是不同的,数据仓库的数据是最细粒度的数据,而数据集市是较粗粒度的数据; 数据仓库是面向企业主题的,数据集市是面向部门或者工作组的;        


数据仓库是从业务库来的规范化结构数据,而数据集市是满足星型模型、雪花模型或者星座模型或者星型和雪花型模型的混合型维度模型等。

545

相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
8月前
|
存储 SQL 监控
数据中台架构解析:湖仓一体的实战设计
在数据量激增的数字化时代,企业面临数据分散、使用效率低等问题。数据中台作为统一管理与应用数据的核心平台,结合湖仓一体架构,打通数据壁垒,实现高效流转与分析。本文详解湖仓一体的设计与落地实践,助力企业构建统一、灵活的数据底座,驱动业务决策与创新。
|
10月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
9月前
|
存储 SQL 分布式计算
19章构建企业级大数据平台:从架构设计到数据治理的完整链路
开源社区: 贡献者路径:从提交Issue到成为Committer 会议演讲:通过DataWorks Summit提升影响力 标准制定: 白皮书撰写:通过DAMA数据治理框架认证 专利布局:通过架构设计专利构建技术壁垒
|
6月前
|
存储 分布式计算 资源调度
【赵渝强老师】阿里云大数据MaxCompute的体系架构
阿里云MaxCompute是快速、全托管的EB级数据仓库解决方案,适用于离线计算场景。它由计算与存储层、逻辑层、接入层和客户端四部分组成,支持多种计算任务的统一调度与管理。
515 1
|
8月前
|
消息中间件 分布式计算 大数据
“一上来就搞大数据架构?等等,你真想清楚了吗?”
“一上来就搞大数据架构?等等,你真想清楚了吗?”
155 1
|
7月前
|
SQL 存储 监控
流处理 or 批处理?大数据架构还需要流批一体吗?
简介:流处理与批处理曾是实时监控与深度分析的两大支柱,但二者在数据、代码与资源上的割裂,导致维护成本高、效率低。随着业务对数据实时性与深度分析的双重需求提升,传统架构难以为继,流批一体应运而生。它旨在通过逻辑、存储与资源的统一,实现一套系统、一套代码同时支持实时与离线处理,提升效率与一致性,成为未来大数据架构的发展方向。
|
9月前
|
架构师 Oracle 大数据
从大数据时代变迁到数据架构师的精通之路
无论从事何种职业,自学能力都显得尤为重要。为了不断提升自己,我们可以尝试建立一套个性化的知识目录或索引,通过它来发现自身的不足,并有针对性地进行学习。对于数据架构师而言,他们需要掌握的知识领域广泛而深入,不仅包括硬件、网络、安全等基础技术,还要了解应用层面,并熟练掌握至少一门编程语言。同时,深入理解数据库技术、具备大数据实操经验以及精通数据仓库建模和ELT技术也是必不可少的。只有这样,数据架构师才能具备足够的深度和广度,应对复杂的业务和技术挑战。 构建个人知识体系是数据架构师在学习和工作中的一项重要任务。通过系统化、不断深化的知识积累,数据架构师能够有效应对快速变化的商业环境和技术革新,进一
|
8月前
|
运维 算法 机器人
阿里云AnalyticDB具身智能方案:破解机器人仿真数据、算力与运维之困
本文将介绍阿里云瑶池旗下的云原生数据仓库AnalyticDB MySQL推出的全托管云上仿真解决方案,方案采用云原生架构,为开发者提供从开发环境、仿真计算到数据管理的全链路支持。
|
5月前
|
存储 人工智能 OLAP
AI Agent越用越笨?阿里云AnalyticDB「AI上下文工程」一招破解!
AI上下文工程是优化大模型交互的系统化框架,通过管理指令、记忆、知识库等上下文要素,解决信息缺失、长度溢出与上下文失效等问题。依托AnalyticDB等技术,实现上下文的采集、存储、组装与调度,提升AI Agent的准确性与协同效率,助力企业构建高效、稳定的智能应用。