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

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 百度、阿里、腾讯平台架构都熟悉,小米大数据平台架构OLAP架构演进是否了解(二)

4、联机分析处理


联机分析处理又被称为 OLAP ,其允许使用多维数据集的结构,访问业务数据源进行清洗、转换、加载经过聚合后得到的聚合数据。


OLAP 是一种快速的多维分析查询的方法,DM 数据挖掘是一种发现数据内部规律的知识发现的技术,BI 商务智能侧重于将数据报表可视化。        


通过使用OLAP工具,用户可以从多个视角交互式地查询多维数据 OLAP 由三个基本的分析操作构成:合并(上 卷)、下钻和切片。        


合并是指数据的聚合,即数据可以在一个或多个维度上进行累积和计算。例如,所有的营业部数据被上卷到销售部门以分析销售趋势。        


下钻是一种由汇总数据向下测览细节数据的技术。比如用户可以从产品分类的销售数据下钻查看单个产品的销 售情况。


切片则是这样种特性,通过它用户可以获取OLAP立方体中的特定数据集合,并从不同的视角观察这些数据。这 些观察数据的视角就是我们所说的维度。例如通过经销商、日期、客产品或区域等,查看同一销售事实。


OLAP系统的核心是OLAP立方体,或称为多维立方体或超立方体。它由被称为度量的数值事实组成,这些度量被维度划分归类。


分类    


通常将联机分析处理系统分为 ROLAP、 MOLAP 、HOLAP三种类型,其中MOLAP是一种典型的OLAP形式,默认的 OLAP  就是 MOLAP这种类型,其将数据存储在一个经过优化的多维数组中,而不是存储在关系数据库中。比如说预先计算并存 储计算后的数据这种操作叫做数据的预处理,将预计算后的数据集合作为一个数据立方体 CUBE 使用。对于给定范围的 数据都会计算出来,这样在进行查询的时候就能够快速响应。


image.png


ROLAP 直接使用关系数据库存储数据,区别于 MOLAP不需要执行预计算,查询标准的关系数据库表根据过滤条件进行数据的查询聚合操作。基础的事实数据及其维度表作为关系表被存储,而聚合信息存储在新创建的附加表中,能够下钻到更为细节的明细数据。    


ROLAP 以数据库模式设计为基础,操作存储在关系数据库中的数据,实现传统的OLAP数据切片和分块功能。本质上 讲,每种数据切片或分块行为都等同于在SQL语句中增加个 WHERE 子句的过滤条件。 ROLAP不使用预计算的数据立方体 ,取而代之的是查询标准的关系数据库表,返回回答问题所需的数据。    


HOLAP 结合 MOLAP 和 ROLAP 两种联机分析处理方式,吸取了两种模式的优点,既可以用于细粒度的分析,也可以进行较粗粒度的数据分析处理,也支持多维立方体( CUBE )的分析。


20210531235953708.png


大数据联机处理系统处理性能    


OLAP分析一般涉及到的表的数据量级都非常的大,如何高效的进行数据的分析操作是首要考虑的问题,如果不能快速的对海量数据进行计算,那么 OLAP 将没什么意义,在大数据 Hadoop 生态圈中能够进行高效处理的解决方案和组件为 Impala 和 Kylin(麒麟)。


5、实时数据仓库

离线传统企业数据仓库都是 T+1 的数据。    


随着企业业务数据的快速产生以及数据时效性在企业运营中的重要性日益显现,例如一些实时大屏展示,实时报表 ,实时推荐系统,实时物流信息,实时广告推荐效果等。数据的实时获取、实时处理、实时计算和实时展现的能力成为 企业竞争力的重要体现。



image.png


6、实时数仓与离线数仓的对比


从架构上来说,离线数据仓库与实时数据仓库有着较为明显的差别,离线数据仓库主要以传统大数据架构体系进行设计为主,而实时数据仓库主要以 Kappa 架构设计思想为主,介于这两种架构之间有一种中间态就是 Lambda 架构。    


从建设方法角度来说,离线数据仓库和实时数据仓库两者都沿用传统的数据仓库主题建模的理论,将明细数据生成 事实宽表,需要注意维度表也要存放于高速存储或读取的数据库中,比如redis等内存数据库。    


从数据保障看,实时数仓要保证实时性,所以对数据量的变化较为敏感,在上线迎接大数据量流入时,要提前做好 压测和主备保障工作,这是与离线数据的一个较为明显的区别。


二、Kappa 流批一体架构



Kappa 架构的目标就是抛弃掉离线数据处理模块,形成流批统一的架构模型。这种流批统一的架构模型同时会丢掉离线计算更为可靠的特点,完全依赖于消息中间件(比如 kafka)的稳定性和缓存能力。        


为了实现流批处理的一体,flink 1.12 版本真正意义的实现了流批一体的设计架构模式,flink是流式计算框 架,其中的批处理是流处理的一种特殊形式的存在。


image.png


1、Kappa 流批一体架构流程


image.png


2、Kappa 流批一体架构过程的阶段


以消息队列 kafka 作为流处理平台保留永久数据日志的的特性,重新处理实时层中的历史数据,全新的 Kappa 架 构的过程分为以下阶段:    


1.输入数据存储到消息队列中比如 kafka 中,数据保留时间一般需要修改,不能使用默认的7天时间,要设置为指 定的时间区域,比如(365天)或者保留时间区域为无限制,永久。    


实时层计算业务逻辑口径如果发生的变化,需要对消息队列中的所有数据进行重演(重新处理),如何重演 kafka  中的数据呢?


在实际的计算中,只需要将日志偏移量(log offset)设置为 0 即可,作业就会从最早 (earlist) 开 始处理历史数据;在流批一体中,使用 flink 作为实时计算引擎组件,Flink 的流表可以存储上百张粒度为日的数 据,从而保证微批处理足够大可以替换掉离线处理数据。


2. 后端服务层主要从将实时计算引擎得到的结果(结果存储数据库中)获取之后为用户提供查询接口并实现前端 可视化大屏展示,为用户提供查询服务。  


Kappa架构能够将实时和批处理有机的结合到一起,方便运维维护,而且对外提供了一套数据口径和访问接口问题。


相关实践学习
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
目录
相关文章
|
1月前
|
大数据
【赵渝强老师】大数据主从架构的单点故障
大数据体系架构中,核心组件采用主从架构,存在单点故障问题。为提高系统可用性,需实现高可用(HA)架构,通常借助ZooKeeper来实现。ZooKeeper提供配置维护、分布式同步等功能,确保集群稳定运行。下图展示了基于ZooKeeper的HDFS HA架构。
|
2月前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
169 1
|
8天前
|
存储 SQL 分布式计算
大数据时代的引擎:大数据架构随记
大数据架构通常分为四层:数据采集层、数据存储层、数据计算层和数据应用层。数据采集层负责从各种源采集、清洗和转换数据,常用技术包括Flume、Sqoop和Logstash+Filebeat。数据存储层管理数据的持久性和组织,常用技术有Hadoop HDFS、HBase和Elasticsearch。数据计算层处理大规模数据集,支持离线和在线计算,如Spark SQL、Flink等。数据应用层将结果可视化或提供给第三方应用,常用工具为Tableau、Zeppelin和Superset。
123 8
|
1月前
|
SQL 数据采集 分布式计算
【赵渝强老师】基于大数据组件的平台架构
本文介绍了大数据平台的总体架构及各层的功能。大数据平台架构分为五层:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。其中,大数据平台层为核心,负责数据的存储和计算,支持离线和实时数据处理。数据仓库层则基于大数据平台构建数据模型,应用层则利用这些模型实现具体的应用场景。文中还提供了Lambda和Kappa架构的视频讲解。
194 3
【赵渝强老师】基于大数据组件的平台架构
|
8天前
|
存储 负载均衡 监控
揭秘 Elasticsearch 集群架构,解锁大数据处理神器
Elasticsearch 是一个强大的分布式搜索和分析引擎,广泛应用于大数据处理、实时搜索和分析。本文深入探讨了 Elasticsearch 集群的架构和特性,包括高可用性和负载均衡,以及主节点、数据节点、协调节点和 Ingest 节点的角色和功能。
23 0
|
1月前
|
分布式计算 大数据 OLAP
AnalyticDB与大数据生态集成:Spark & Flink
【10月更文挑战第25天】在大数据时代,实时数据处理和分析变得越来越重要。AnalyticDB(ADB)是阿里云推出的一款完全托管的实时数据仓库服务,支持PB级数据的实时分析。为了充分发挥AnalyticDB的潜力,将其与大数据处理工具如Apache Spark和Apache Flink集成是非常必要的。本文将从我个人的角度出发,分享如何将AnalyticDB与Spark和Flink集成,构建端到端的大数据处理流水线,实现数据的实时分析和处理。
72 1
|
2月前
|
存储 SQL 分布式计算
湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
【10月更文挑战第7天】湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
153 1
|
1月前
|
数据采集 分布式计算 OLAP
最佳实践:AnalyticDB在企业级大数据分析中的应用案例
【10月更文挑战第22天】在数字化转型的大潮中,企业对数据的依赖程度越来越高。如何高效地处理和分析海量数据,从中提取有价值的洞察,成为企业竞争力的关键。作为阿里云推出的一款实时OLAP数据库服务,AnalyticDB(ADB)凭借其强大的数据处理能力和亚秒级的查询响应时间,已经在多个行业和业务场景中得到了广泛应用。本文将从个人的角度出发,分享多个成功案例,展示AnalyticDB如何助力企业在广告投放效果分析、用户行为追踪、财务报表生成等领域实现高效的数据处理与洞察发现。
75 0
|
23天前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
1月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
44 3