1、Information Modeler信息建模的特性
- 提供存储在HANA数据库物理表中的交易数据的多个视图,以用于分析和业务逻辑目的。
- 信息建模仅适用于基于列的存储表。
- 信息建模视图由基于Java或HTML的应用程序或SAP Lumira或Analysis Office之类的SAP工具用于报告。
- 也可以使用第三方工具(例如,MS Excel)连接到HANA并创建报告。
- SAP HANA建模视图充分利用了SAP HANA的强大功能。
信息视图有三种类型,定义为:
- 属性视图
- 分析视图
- 计算视图
2、行与列存储
SAP HANA Modeler视图只能在基于列的表的顶部创建。在列表中存储数据并不是什么新鲜事。早先假定以基于Columnar的结构存储数据需要更多的内存大小,而不是性能优化。
随着SAP HANA的发展,HANA在信息视图中使用了基于列的数据存储,并展示了基于列的表比基于行的表的真正优势。
1)列存储
在列存储表中,数据垂直存储。因此,类似的数据类型如上例所示。它借助内存中计算引擎提供更快的内存读写操作。
在常规数据库中,数据被存储在基于行的结构中,即水平存储。 SAP HANA以基于行和列的结构存储数据。这可以在HANA数据库中提供性能优化,灵活性和数据压缩。
将数据存储在基于列的表中具有以下好处:
- 数据压缩
- 与传统的基于行的存储相比,对表的读写访问速度更快
- 灵活性和并行处理
- 更快地进行汇总和计算
有多种方法和算法可以将数据存储在基于列的结构中,字典压缩,运行长度压缩等。
在“字典压缩”中,单元格以数字的形式存储在表中,并且与字符相比,数字单元格始终对性能进行优化。
在压缩的运行长度中,它将乘数与单元格值保存为数字格式,并且乘数在表中显示重复值。
3、行与列存储函数的区别
如果SQL语句必须执行聚合函数和计算,则始终建议使用基于列的存储。当运行汇总函数(例如Sum,Count,Max,Min)时,基于列的表始终会表现更好。
当输出必须返回完整的行时,首选基于行的存储。下面给出的示例很容易理解。
在上面的示例中,在带有Where子句的sales列中运行聚合函数(总和)时,它将仅在运行SQL查询时使用Date和Sales列,因此如果它是基于列的存储表,则将对其性能进行优化,数据的速度更快仅需要两列。
在运行简单的Select查询时,必须在输出中打印完整的行,因此在这种情况下建议将表存储为Row。
4、信息建模视视图(Information Modeling View)
1)属性视图(Attribute View)
属性是数据库表中不可测量的元素。 它们代表主数据,与BW的特征相似。 属性视图是数据库中的维,或用于在建模中连接维或其他属性视图。
重要功能是:
- 在Analytic和Calculation视图中使用属性视图。
- 属性视图代表主数据。
- 用于在 "Analytic和Calculation" 视图中过滤维表的大小。
2)分析视图(Analytic View)
Analytic Views利用SAP HANA的强大功能对数据库中的表执行计算和聚合功能。 它至少具有一个事实表,该事实表具有度量值和维表的主键,并且被维表包围,其中包含主数据。
重要功能是:
- 分析视图主要在执行Star模式查询。
- 分析视图至少包含一个事实表和具有主数据的多维表,并执行计算和汇总
- 它们类似于SAP BW中的信息多维数据集和信息对象。
- 可以在Analytic View和Fact表的顶部创建分析视图,并执行计算,例如,售出的单位数量,总价等。
3)计算视图(Calculation View)
Calculation Views用于“分析”和“属性”视图之上,以执行复杂的计算,而“分析”视图则无法实现。 计算视图是基础列表,属性视图和分析视图的组合,以提供业务逻辑。
重要功能是:
- 计算视图可以使用HANA建模功能以图形方式定义,也可以在SQL中编写脚本。
- 创建它是为了执行复杂的计算,这是其他视图(SAP HANA modeler的属性视图和分析视图)无法做到的。
- 在计算视图中,一个或多个属性视图和分析视图是在诸如Projects, Union, Join, Rank等内置功能的帮助下使用的。