【数据库架构】什么是 OLAP?

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 【数据库架构】什么是 OLAP?

什么是 OLAP?

OLAP(用于在线分析处理)是一种软件,用于对来自数据仓库、数据集市或其他一些统一的集中式数据存储的大量数据进行高速多维分析。

大多数业务数据都有多个维度——数据被分解为多个类别以进行展示、跟踪或分析。例如,销售数据可能具有与位置(地区、国家、州/省、商店)、时间(年、月、周、日)、产品(服装、男/女/童、品牌、类型)相关的多个维度,和更多。


但在数据仓库中,数据集存储在表中,每个表一次只能将数据组织到其中两个维度中。OLAP 从多个关系数据集中提取数据并将其重新组织成多维格式,从而实现非常快速的处理和非常有洞察力的分析。

什么是 OLAP 多维数据集?

大多数 OLAP 系统的核心,OLAP 多维数据集是一个基于数组的多维数据库,与传统的关系数据库相比,它可以更快、更高效地处理和分析多个数据维度。

关系数据库表的结构类似于电子表格,以二维、逐列的格式存储各个记录。数据库中的每个数据“事实”都位于两个维度(行和列)的交集处,例如区域和总销售额。


SQL 和关系数据库报告工具当然可以查询、报告和分析存储在表中的多维数据,但随着数据量的增加,性能会降低。并且需要大量的工作来重新组织结果以专注于不同的维度。

这就是 OLAP 多维数据集的用武之地。OLAP 多维数据集通过附加层扩展了单个表,每个层都添加了额外的维度——通常是维度的“概念层次结构”中的下一个级别。例如,立方体的顶层可能按地区组织销售;附加层可以是国家、州/省、城市甚至特定商店。

理论上,一个立方体可以包含无数层。(代表三个以上维度的 OLAP 多维数据集有时称为超多维数据集。)更小的多维数据集可以存在于层内——例如,每个商店层可以包含按销售人员和产品安排销售的多维数据集。在实践中,数据分析师将创建仅包含他们需要的层的 OLAP 多维数据集,以实现最佳分析和性能。



OLAP 多维数据集支持四种基本类型的多维数据分析:

向下钻取

向下钻取操作通过以下两种方法之一将不太详细的数据转换为更详细的数据——在概念层次结构中向下移动或向多维数据集添加新维度。例如,如果您查看组织日历或财政季度的销售数据,您可以向下钻取以查看每个月的销售额,在“时间”维度的概念层次结构中向下移动。

卷起

上卷与下钻功能相反——它通过在概念层次结构中向上移动或通过减少维数来聚合 OLAP 多维数据集上的数据。例如,您可以通过查看每个国家的数据而不是每个城市的数据,在“位置”维度的概念层次结构中向上移动。

切片和骰子(Slice and dice)

切片操作通过从主 OLAP 多维数据集中选择单个维度来创建子多维数据集。例如,您可以通过突出显示组织的第一个财政或日历季度(时间维度)的所有数据来执行切片。

骰子操作通过在主 OLAP 多维数据集中选择多个维度来隔离子多维数据集。例如,您可以通过按组织的日历或财政季度(时间维度)以及美国和加拿大内部(位置维度)突出显示所有数据来执行掷骰子操作。

枢 (Pivot)

pivot 函数旋转当前的多维数据集视图以显示数据的新表示 - 启用数据的动态多维视图。OLAP 数据透视表功能与电子表格软件(如 Microsoft Excel)中的数据透视表功能相当,但虽然 Excel 中的数据透视表可能具有挑战性,但 OLAP 数据透视表相对更易于使用(需要较少的专业知识)并且具有更快的响应时间和查询性能。

MOLAP 与 ROLAP 与 HOLAP

MOLAP

直接与多维 OLAP 多维数据集一起工作的 OLAP 称为多维 OLAP 或 MOLAP。同样,对于大多数用途,MOLAP 是最快和最实用的多维数据分析类型。

但是,在某些情况下,还有两种其他类型的 OLAP 可能更可取:

ROLAP

ROLAP 或关系 OLAP 是一种多维数据分析,它直接对关系表上的数据进行操作,而无需先将数据重新组织到一个多维数据集中。

如前所述,SQL 是用于多维查询、报告和分析的完美工具。但是所需的 SQL 查询很复杂,性能可能会拖累,并且生成的数据视图是静态的——它不能被旋转以表示不同的数据视图。当直接处理大量数据的能力比性能和灵活性更重要时,ROLAP 是最佳选择。

HOLAP

HOLAP 或混合 OLAP 尝试在单个 OLAP 体系结构内创建关系数据库和多维数据库之间的最佳分工。关系表包含大量数据,OLAP 多维数据集用于聚合和推测处理。HOLAP 需要同时支持 MOLAP 和 ROLAP 的 OLAP 服务器。

HOLAP 工具可以“钻取”数据立方体到关系表,这为快速数据处理和灵活访问铺平了道路。这种混合系统可以提供更好的可扩展性,但在访问关系数据源时无法避免不可避免的减速。此外,其复杂的架构通常需要更频繁的更新和维护,因为它必须存储和处理来自关系数据库和多维数据库的所有数据。出于这个原因,HOLAP 最终可能会变得更加昂贵。

OLAP 与 OLTP

在线事务处理(OLTP)是指专注于面向事务的数据和应用程序的数据处理方法和软件。

OLAP 和 OLTP 的主要区别在于名称:OLAP 本质上是分析性的,而 OLTP 是事务性的。

OLAP 工具设计用于对数据仓库中的数据进行多维分析,其中包含交易数据和历史数据。事实上,OLAP 服务器通常是数据仓库解决方案的中间分析层。OLAP 的常见用途包括数据挖掘和其他商业智能应用程序、复杂的分析计算和预测场景,以及财务分析、预算和预测计划等业务报告功能。

OLTP 旨在通过尽可能快速准确地处理最近的事务来支持面向事务的应用程序。OLTP 的常见用途包括 ATM、电子商务软件、信用卡支付处理、在线预订、预订系统和记录保存工具。

要深入了解这些方法之间的差异,请查看“OLAP 与 OLTP:有什么区别?”

OLAP 和云架构

OLAP 使公司能够通过将其转换为最实用的多维分析格式来最大限度地发挥其公司数据的潜力。这反过来又使识别有价值的业务洞察变得更加容易。但是,如果将这些系统保留在内部,则会限制扩展的潜力。

基于云的 OLAP 服务更便宜且更易于设置,这使得它们对预算有限的小型企业或初创公司更具吸引力。企业可以利用基于云的数据仓库的巨大潜力,以无与伦比的速度执行复杂的分析,因为它们使用大规模并行处理 (MPP)。因此,公司可以在云速度和规模上使用 OLAP,分析大量数据,而无需将其从云数据仓库中移出。


Constance Hotels、Resorts & Golf 是一家豪华酒店集团,在印度洋的岛屿上拥有九家酒店。然而,缺乏岛与岛之间的通信让位于组织孤岛,每个度假村的业务数据都是孤立的。该组织构建了一个云数据仓库和分析架构,以将所有本地系统和工具与基于云的中央数据存储库链接起来。在此过程中,公司获得了利用高级预测分析和实施 OLAP 系统所需的全集团洞察力。

云架构中的 OLAP 是面向未来构建的快速且经济高效的解决方案。制作多维数据集后,团队可以使用现有的商业智能工具即时连接 OLAP 模型,并从他们的云数据中获取交互式实时洞察。

相关实践学习
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
相关文章
|
15天前
|
SQL 消息中间件 Kafka
Flink+Paimon+Hologres,面向未来的一体化实时湖仓平台架构设计
本文介绍了阿里云实时数仓Hologres负责人姜伟华在Flink Forward Asia 2024上的分享,涵盖实时数仓的发展历程、从实时数仓到实时湖仓的演进,以及总结。文章通过三代实时数仓架构的演变,详细解析了Lambda架构、Kafka实时数仓分层+OLAP、Hologres实时数仓分层复用等方案,并探讨了未来从实时数仓到实时湖仓的演进方向。最后,结合实际案例和Demo展示了Hologres + Flink + Paimon在实时湖仓中的应用,帮助用户根据业务需求选择合适的方案。
429 20
Flink+Paimon+Hologres,面向未来的一体化实时湖仓平台架构设计
|
14天前
|
SQL 运维 BI
湖仓分析|浙江霖梓基于 Doris + Paimon 打造实时/离线一体化湖仓架构
浙江霖梓早期基于 Apache Doris 进行整体架构与表结构的重构,并基于湖仓一体和查询加速展开深度探索与实践,打造了 Doris + Paimon 的实时/离线一体化湖仓架构,实现查询提速 30 倍、资源成本节省 67% 等显著成效。
湖仓分析|浙江霖梓基于 Doris + Paimon 打造实时/离线一体化湖仓架构
|
22天前
|
人工智能 JavaScript 安全
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
76 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
|
16天前
|
SQL 弹性计算 安全
【上云基础系列04】基于标准架构的数据库升级
本文回顾了业务上云从基础到进阶的理念,涵盖基础版和全栈版架构。在“入门级:上云标准弹性架构基础版”的基础上,本文针对数据库升级,重点介绍了高可用数据库架构的升级方案,确保数据安全和业务连续性。最后,附有详细的“上云标准弹性架构”演进说明,帮助用户选择合适的架构方案。
|
3月前
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
3月前
|
缓存 关系型数据库 MySQL
高并发架构系列:数据库主从同步的 3 种方案
本文详解高并发场景下数据库主从同步的三种解决方案:数据主从同步、数据库半同步复制、数据库中间件同步和缓存记录写key同步,旨在帮助解决数据一致性问题。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
高并发架构系列:数据库主从同步的 3 种方案
|
3月前
|
消息中间件 Java Kafka
实时数仓Kappa架构:从入门到实战
【11月更文挑战第24天】随着大数据技术的不断发展,企业对实时数据处理和分析的需求日益增长。实时数仓(Real-Time Data Warehouse, RTDW)应运而生,其中Kappa架构作为一种简化的数据处理架构,通过统一的流处理框架,解决了传统Lambda架构中批处理和实时处理的复杂性。本文将深入探讨Kappa架构的历史背景、业务场景、功能点、优缺点、解决的问题以及底层原理,并详细介绍如何使用Java语言快速搭建一套实时数仓。
478 4
|
3月前
|
存储 NoSQL 分布式数据库
微服务架构下的数据库设计与优化策略####
本文深入探讨了在微服务架构下,如何进行高效的数据库设计与优化,以确保系统的可扩展性、低延迟与高并发处理能力。不同于传统单一数据库模式,微服务架构要求更细粒度的服务划分,这对数据库设计提出了新的挑战。本文将从数据库分片、复制、事务管理及性能调优等方面阐述最佳实践,旨在为开发者提供一套系统性的解决方案框架。 ####
|
3月前
|
消息中间件 数据库 云计算
微服务架构下的数据库事务管理策略####
在微服务架构中,传统的单体应用被拆分为多个独立的服务单元,每个服务维护自己的数据库实例。这种设计提高了系统的可扩展性和灵活性,但同时也带来了分布式环境下事务管理的复杂性。本文探讨了微服务架构下数据库事务的挑战,并深入分析了几种主流的事务管理策略,包括Saga模式、两阶段提交(2PC)以及基于消息的最终一致性方案,旨在为开发者提供一套适应不同业务场景的事务处理框架。 ####
|
3月前
|
存储 Cloud Native NoSQL
云原生时代的数据库选型与架构设计
云原生时代的数据库选型与架构设计
56 0

热门文章

最新文章