OLAP(即联机分析处理)软件用于对来自数据仓库、数据集市或者其他一些统一集中数据存储的大量数据进行高速多维分析。
大多数业务数据都具有多个维度 - 数据被归入多个类别,以进行展示、跟踪或分析。 例如,销售数据可能有多个维度,涉及位置(地区、国家、州/省、商店)、时间(年、月、周、日)和产品(服装、男/女/童、品牌、类型)等。
但是在数据仓库中,数据集存储在表中,每个表一次只能将数据组织到这些维度中的两个维度中。 OLAP 可从多个关系数据集中提取数据,并将其重组为多维格式,从而实现非常快速的处理,并进行透彻的分析。
OLAP 立方体是大多数 OLAP 系统的核心,它是一个基于数组的多维数据库,与传统的关系数据库相比,可以更快、更高效地处理和分析多个数据维度。
关系数据库表的结构类似于电子表格,以二维、逐列的格式存储各个记录。 数据库中的每个数据“指标”都位于两个维度(行和列)的交集处,例如“区域”和“总销售额”。
SQL 和关系数据库报表工具当然可以查询、报告和分析表中存储的多维数据,但随着数据量的增加,速度会变慢。 不仅如此,还需要大量的工作来重新组织结果,从而关注不同的维度。
这就是 OLAP 立方体的用武之地。 OLAP 立方体通过附加层扩展了单个表,每层都添加了附加维度 - 通常是维度“概念层次结构”中的下一个级别。 例如,立方体的顶层可能按地区组织销售; 附加层则可以是国家、州/省、城市,甚至是特定商店。
理论上,一个立方体可以包含无限数量的层。 (表示三个以上维度的 OLAP 立方体有时称为超立方体。) 这些层中也可以存在更小的立方体。例如,每个商店层都可以包含按销售人员和产品排列销售额的立方体。 在实践中,数据分析师将创建仅包含所需层的 OLAP 立方体,以实现最佳分析和性能。
向下钻取操作通过以下两种方法之一,将不太详细的数据转换为更详细的数据:在概念层次结构中向下移动,或者向立方体添加新维度。 例如,如果您查看组织日历或会计季度的销售数据,可以向下钻取以查看每个月的销售额,在“时间”维度的概念层次结构中向下移动。
累积与向下钻取功能相反,它通过在概念层次结构中向上移动或减少维数来聚合 OLAP 立方体上的数据。 例如,您可以通过查看每个国家的数据,而不是每个城市的数据,在“位置”维度的概念层次结构中向上移动。
切片操作通过从主 OLAP 立方体中选择一个维度来创建子立方体。 例如,您可以通过突出显示组织第一个会计或日历季度(时间维度)的所有数据来执行切片。
切块操作通过在主 OLAP 立方体中选择多个维度来隔离子立方体。 例如,您可以通过突出显示组织的日历或财政季度(时间维度)以及美国和加拿大(位置维度)内的所有数据来执行切块操作。
旋转功能可以旋转当前的立方体,显示全新的数据表示形式 - 启用数据的动态多维视图。 OLAP 数据透视功能可与电子表格软件(如 Microsoft Excel)中的数据透视表功能相媲美,但尽管 Excel 中的数据透视表使用起来有一定难度,OLAP 数据透视表则相对更易于使用(所需专业知识较少),并且具有更快的响应时间和查询性能。
直接与多维 OLAP 立方体一起工作的 OLAP 称为“多维 OLAP”或“MOLAP”。 同样,对于大多数用途,MOLAP 是最快且最实用的多维数据分析类型。
但是,在某些情况下,其他两种类型的 OLAP 可能更可取:
“ROLAP”或者“关系 OLAP”是一种多维数据分析,它直接对关系表上的数据进行操作,而无需先将数据重新组织成立方体。
如前所述,SQL 是用于多维查询、报告和分析的完美工具。 但是所需的 SQL 查询很复杂,性能会受到拖累,并且生成的数据视图是静态的 - 无法旋转以表示不同的数据视图。 当直接处理大量数据的能力比性能和灵活性更重要时,ROLAP 是最佳选择。
“HOLAP”或者“混合 OLAP”,试图在单个 OLAP 架构内的关系数据库和多维数据库之间实现最佳分工。 关系表包含大量数据,OLAP 立方体用于聚合和推测处理。 HOLAP 需要同时支持 MOLAP 和 ROLAP 的 OLAP 服务器。
HOLAP 工具可以“钻取”数据立方体,深入到关系表,这为快速处理数据和灵活访问铺平了道路。 这种混合系统可以提供更好的可扩展性,但在访问关系数据源时不可避免地会减慢速度。 此外,其复杂的架构通常需要更频繁的更新和维护,因为它必须存储和处理来自关系数据库和多维数据库的所有数据。 出于这个原因,HOLAP 最终会变得更加昂贵。
“联机事务处理”(即 OLTP),是指专注于面向事务的数据和应用的数据处理方法和软件。
OLAP 和 OLTP 的主要区别在于名称:OLAP 本质上是分析性的,而 OLTP 是事务性的。
OLAP 工具旨在对数据仓库中的数据(包括历史数据和事务数据)进行多维分析。 事实上,OLAP 服务器通常是数据仓库解决方案的中间分析层。 OLAP 的常见用途包括数据挖掘和其他商业智能应用、复杂的分析计算和预测场景,以及业务报告功能(如财务分析、预算编制和预测规划)。
OLTP 旨在通过尽可能快速准确地处理最近的事务来支持面向事务的应用。 OLTP 的常见用途包括 ATM、电子商务软件、信用卡支付处理、在线预订、预订系统和记录保存工具。
要深入了解这些方法之间的差异,请查看“OLAP 与 OLTP:有何区别?”
OLAP 通过将数据转换为最实用的多维分析格式,使公司能够最大限度地发挥其公司数据的潜力。 反过来,这也更便于甄别出有价值的业务洞察。 但是,如果这些系统保留在内部,就会限制扩展的潜力。
基于云的 OLAP 服务更便宜且更容易设置,这使得它们对预算有限的小型企业或初创公司更具吸引力。 大型企业可以利用基于云的数据仓库的巨大潜力,以无与伦比的速度执行复杂的分析,因为它们使用大规模并行处理 (MPP)。 因此,公司能够以云速度和规模使用 OLAP,分析大量数据,而无需将其从云数据仓库中移出。
Constance Hotels, Resorts & Golf 是一家豪华酒店集团,在印度洋的岛屿上拥有九家酒店。 然而,由于岛与岛之间通信不畅,因而产生了一个个组织孤岛,每个度假村的业务数据都是孤立的。 该公司构建了一个云数据仓库和分析架构,将所有本地系统和工具与一个基于云的中央数据存储库连接起来。 在此过程中,该公司在整个集团范围内获得了必要的洞察,从而能够利用高级预测性分析技术和实施 OLAP 系统。
云架构中的 OLAP 是为未来构建的快速且经济高效的解决方案。 制作立方体后,团队可以使用现有的商业智能工具立即与 OLAP 模型连接,并从他们的云数据中获取交互式实时洞察。
IBM DB2 Warehouse on Cloud 是一种托管的公有云服务。 您可以使用自己的硬件或在私有云中在本地设置 IBM Db2 Warehouse。
IBM DB2 Warehouse 集成并简化了数据仓库环境,提供动态仓库,并针对数据仓库直接支持 OLAP。