【数据库架构】什么是 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
相关文章
|
3月前
|
存储 SQL 缓存
快手:从 Clickhouse 到 Apache Doris,实现湖仓分离向湖仓一体架构升级
快手 OLAP 系统为内外多个场景提供数据服务,每天承载近 10 亿的查询请求。原有湖仓分离架构,由离线数据湖和实时数仓组成,面临存储冗余、资源抢占、治理复杂、查询调优难等问题。通过引入 Apache Doris 湖仓一体能力,替换了 Clickhouse ,升级为湖仓一体架构,并结合 Doris 的物化视图改写能力和自动物化服务,实现高性能的数据查询以及灵活的数据治理。
快手:从 Clickhouse 到 Apache Doris,实现湖仓分离向湖仓一体架构升级
|
3月前
|
设计模式 缓存 关系型数据库
探索微服务架构中的数据库设计挑战
微服务架构因其模块化和高扩展性被广泛应用于现代软件开发。然而,这种架构模式也带来了数据库设计上的独特挑战。本文探讨了在微服务架构中实现数据库设计时面临的问题,如数据一致性、服务间的数据共享和分布式事务处理。通过分析实际案例和提出解决方案,旨在为开发人员提供有效的数据库设计策略,以应对微服务架构下的复杂性。
|
1月前
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
1月前
|
缓存 关系型数据库 MySQL
高并发架构系列:数据库主从同步的 3 种方案
本文详解高并发场景下数据库主从同步的三种解决方案:数据主从同步、数据库半同步复制、数据库中间件同步和缓存记录写key同步,旨在帮助解决数据一致性问题。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
高并发架构系列:数据库主从同步的 3 种方案
|
1月前
|
消息中间件 Java Kafka
实时数仓Kappa架构:从入门到实战
【11月更文挑战第24天】随着大数据技术的不断发展,企业对实时数据处理和分析的需求日益增长。实时数仓(Real-Time Data Warehouse, RTDW)应运而生,其中Kappa架构作为一种简化的数据处理架构,通过统一的流处理框架,解决了传统Lambda架构中批处理和实时处理的复杂性。本文将深入探讨Kappa架构的历史背景、业务场景、功能点、优缺点、解决的问题以及底层原理,并详细介绍如何使用Java语言快速搭建一套实时数仓。
180 4
|
1月前
|
存储 NoSQL 分布式数据库
微服务架构下的数据库设计与优化策略####
本文深入探讨了在微服务架构下,如何进行高效的数据库设计与优化,以确保系统的可扩展性、低延迟与高并发处理能力。不同于传统单一数据库模式,微服务架构要求更细粒度的服务划分,这对数据库设计提出了新的挑战。本文将从数据库分片、复制、事务管理及性能调优等方面阐述最佳实践,旨在为开发者提供一套系统性的解决方案框架。 ####
|
1月前
|
消息中间件 数据库 云计算
微服务架构下的数据库事务管理策略####
在微服务架构中,传统的单体应用被拆分为多个独立的服务单元,每个服务维护自己的数据库实例。这种设计提高了系统的可扩展性和灵活性,但同时也带来了分布式环境下事务管理的复杂性。本文探讨了微服务架构下数据库事务的挑战,并深入分析了几种主流的事务管理策略,包括Saga模式、两阶段提交(2PC)以及基于消息的最终一致性方案,旨在为开发者提供一套适应不同业务场景的事务处理框架。 ####
|
2月前
|
分布式计算 大数据 Serverless
云栖实录 | 开源大数据全面升级:Native 核心引擎、Serverless 化、湖仓架构引领云上大数据发展
在2024云栖大会开源大数据专场上,阿里云宣布推出实时计算Flink产品的新一代向量化流计算引擎Flash,该引擎100%兼容Apache Flink标准,性能提升5-10倍,助力企业降本增效。此外,EMR Serverless Spark产品启动商业化,提供全托管Serverless服务,性能提升300%,并支持弹性伸缩与按量付费。七猫免费小说也分享了其在云上数据仓库治理的成功实践。其次 Flink Forward Asia 2024 将于11月在上海举行,欢迎报名参加。
246 6
云栖实录 | 开源大数据全面升级:Native 核心引擎、Serverless 化、湖仓架构引领云上大数据发展
|
1月前
|
存储 SQL 缓存
AnalyticDB 实时数仓架构解析
AnalyticDB 是阿里云自研的 OLAP 数据库,广泛应用于行为分析、数据报表、金融风控等应用场景,可支持 100 trillion 行记录、10PB 量级的数据规模,亚秒级完成交互式分析查询。本文是对 《 AnalyticDB: Real-time OLAP Database System at Alibaba Cloud 》的学习总结。
70 1
|
1月前
|
存储 Cloud Native NoSQL
云原生时代的数据库选型与架构设计
云原生时代的数据库选型与架构设计
25 0