• SAP HANA Video Tutorials

SAP HANA - 信息建模器



SAP HANA 信息建模器;也称为 HANA 数据建模器,是 HANA 系统的核心。它能够在数据库表之上创建建模视图,并实现业务逻辑以创建有意义的分析报告。

信息建模器的功能

  • 为分析和业务逻辑目的提供存储在 HANA 数据库物理表中的事务数据的多种视图。

  • 信息建模器仅适用于基于列的存储表。

  • 信息建模视图被基于 Java 或 HTML 的应用程序或 SAP 工具(如 SAP Lumira 或 Analysis Office)用于报表目的。

  • 也可以使用 MS Excel 等第三方工具连接到 HANA 并创建报表。

  • SAP HANA 建模视图充分发挥了 SAP HANA 的强大功能。

信息视图有三种类型,定义如下:

  • 属性视图
  • 分析视图
  • 计算视图

行存储与列存储

SAP HANA 建模视图只能在基于列的表之上创建。将数据存储在列表中并不是什么新鲜事物。早些时候,人们认为将数据存储在基于列的结构中会占用更多内存,并且性能未得到优化。

Row vs Column Store

随着 SAP HANA 的发展,HANA 在信息视图中使用了基于列的数据存储,并展示了列表相对于行表的真正优势。

列存储

在列存储表中,数据垂直存储。因此,类似的数据类型会像上面的示例中所示那样组合在一起。它借助内存计算引擎提供更快的内存读写操作。

在传统的数据库中,数据以基于行的结构(即水平)存储。SAP HANA 以基于行和基于列的结构存储数据。这为 HANA 数据库提供了性能优化、灵活性和数据压缩。

将数据存储在基于列的表中具有以下优势:

  • 数据压缩

  • 与传统的基于行的存储相比,对表的读写访问速度更快

  • 灵活性和并行处理

  • 以更高的速度执行聚合和计算

有多种方法和算法可以将数据存储在基于列的结构中——字典压缩、游程压缩等等。

在字典压缩中,单元格以表格中的数字形式存储,数字单元格始终比字符单元格具有更高的性能。

在游程压缩中,它以数字格式保存单元格值的乘数,乘数显示表中重复的值。

Column Store

功能差异 - 行存储与列存储

如果 SQL 语句需要执行聚合函数和计算,则始终建议使用基于列的存储。在运行 Sum、Count、Max、Min 等聚合函数时,基于列的表始终表现更好。

如果输出需要返回完整的行,则首选基于行的存储。下面的示例使理解更容易。

Row vs Column Store Functional

在上面的示例中,在使用 Where 子句对 sales 列运行聚合函数 (Sum) 时,它只会在运行 SQL 查询时使用 Date 和 Sales 列,因此,如果它是基于列的存储表,那么它将是性能优化的,速度更快,因为只需要来自两列的数据。

在运行简单的 Select 查询时,必须在输出中打印完整的行,因此在这种情况下建议将表存储为基于行的表。

信息建模视图

属性视图

属性是数据库表中不可测量的元素。它们表示主数据,类似于 BW 的特征。属性视图是数据库中的维度,或用于在建模中连接维度或其他属性视图。

重要功能:

  • 属性视图用于分析视图和计算视图。
  • 属性视图表示主数据。
  • 用于过滤分析视图和计算视图中维度表的大小。
Attribute View

分析视图

分析视图利用 SAP HANA 的强大功能对数据库中的表执行计算和聚合函数。它至少有一个包含度量和维度表主键的事实表,并围绕包含主数据的维度表。

重要功能:

  • 分析视图旨在执行星型模式查询。

  • 分析视图包含至少一个事实表和多个包含主数据的维度表,并执行计算和聚合。

  • 它们类似于 SAP BW 中的 InfoCube 和 Info 对象。

  • 分析视图可以在属性视图和事实表之上创建,并执行诸如销售单位数量、总价格等计算。

计算视图

计算视图用于分析视图和属性视图之上执行复杂的计算,而这些计算是分析视图无法执行的。计算视图是基础列表、属性视图和分析视图的组合,用于提供业务逻辑。

重要功能:

  • 计算视图可以使用 HANA 建模功能以图形方式定义,也可以用 SQL 编写脚本。

  • 它旨在执行复杂的计算,而这些计算是 SAP HANA 建模器的其他视图(属性视图和分析视图)无法执行的。

  • 借助内置函数(如 Projects、Union、Join、Rank)在计算视图中使用一个或多个属性视图和分析视图。

广告