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

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 百度、阿里、腾讯平台架构都熟悉,小米大数据平台架构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,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
3月前
|
运维 监控 负载均衡
动态服务管理平台:驱动微服务架构的高效引擎
动态服务管理平台:驱动微服务架构的高效引擎
56 17
|
22天前
|
Java Linux C语言
《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
《docker基础篇:2.Docker安装》包括前提说明、Docker的基本组成、Docker平台架构图解(架构版)、安装步骤、阿里云镜像加速、永远的HelloWorld、底层原理
273 89
|
3月前
|
运维 监控 负载均衡
探索微服务架构下的服务治理:动态服务管理平台深度解析
探索微服务架构下的服务治理:动态服务管理平台深度解析
|
3月前
|
运维 监控 安全
探索微服务架构下的服务治理:动态服务管理平台的力量
探索微服务架构下的服务治理:动态服务管理平台的力量
|
2月前
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
191 56
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
24天前
|
存储 消息中间件 小程序
转转平台IM系统架构设计与实践(一):整体架构设计
本文描述了转转IM为整个平台提供的支撑能力,给出了系统的整体架构设计,分析了系统架构的特性。
60 10
|
26天前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
|
24天前
|
消息中间件 监控 小程序
电竞陪玩系统架构优化设计,陪玩app如何提升系统稳定性,陪玩小程序平台的测试与监控
电竞陪玩系统架构涵盖前端(React/Vue)、后端(Spring Boot/php)、数据库(MySQL/MongoDB)、实时通信(WebSocket)及其他组件(Redis、RabbitMQ、Nginx)。通过模块化设计、微服务架构和云计算技术优化,提升系统性能与可靠性。同时,加强全面测试、实时监控及故障管理,确保系统稳定运行。
|
2月前
|
SQL 存储 人工智能
化整为零:湖仓数据平台一站式迁移
本文介绍了湖仓平台迁移的概况、痛点及解决方案。首先概述了数据湖和数据仓库迁移的现状与背景,强调其重要性及挑战。接着分析了迁移过程中的主要痛点,如数据量大、业务变更频繁等。最后提出了一种化整为零的新范式,通过精细化设计和自动化工具提升迁移效率,并展示了一站式湖仓迁移中心的关键阶段和产品大图,旨在加速迁移过程并减少人工成本。
|
2月前
|
SQL 人工智能 自然语言处理
DataWorks年度发布:智能化湖仓一体数据开发与治理平台的演进
阿里云在过去15年中持续为268集团提供数据服务,积累了丰富的实践经验,并连续三年在IDC中国数据治理市场份额中排名第一。新一代智能数据开发平台DateWorks推出了全新的DateStudio IDE,支持湖仓一体化开发,新增Flink计算引擎和全面适配locs,优化工作流程系统和数据目录管理。同时,阿里云正式推出个人开发环境模式和个人Notebook,提升开发者体验和效率。此外,DateWorks Copilot通过自然语言生成SQL、代码补全等功能,显著提升了数据开发与分析的效率,已累计帮助开发者生成超过3200万行代码。

热门文章

最新文章