SAP HANA 信息建模
SAP HANA信息建模,也称为HANA数据建模,是HANA系统的核心。它可以在数据库表的顶部创建建模视图,并实现业务逻辑以创建有意义的分析报表。
信息建模的特点
提供存储在HANA数据库的物理表中的事务数据的多个视图,用于分析和业务逻辑目的。
信息建模仅适用于基于列的存储表。
信息建模视图由基于Java或HTML的应用程序或SAP工具(如SAP Lumira或Analysis Office)用于报表目的。
也可以使用第三方工具(如MS Excel)连接到HANA并创建报表。
SAP HANA建模视图利用SAP HANA的实力。
有三种类型的信息视图,定义为:
- 属性视图
- 分析视图
- 计算视图
行与列存储
SAP HANA建模视图只能在基于列的表格的顶部创建。将数据存储在基于列的表格中并不是什么新事物。早些时候,人们假设在基于列的结构中存储数据需要更多的内存大小,而不是性能优化。
随着SAP HANA的发展,HANA在信息视图中使用了基于列的数据存储,并展示了基于列的表的真正优势。列存储
在列存储表中,数据是垂直存储的。因此,类似的数据类型汇集在一起,如上例所示。它借助内存计算引擎提供更快的内存读取和写入操作。
在常规数据库中,数据存储在基于行的结构中,即水平存储。SAP HANA可在基于行和列的结构中存储数据。这在HANA数据库中提供了性能优化,灵活性和数据压缩。
在基于列的表中存储数据具有以下优点:
数据压缩
与传统的基于行的存储相比,对表的读取和写入更快
灵活性和并行处理
以更高的速度执行聚合和计算
有多种方法和算法可以将数据存储在基于列的结构中 - 字典压缩,运行长度压缩等等。
在字典压缩中,单元格以数字的形式存储在表中,而与字符相比,数字单元格总是性能优化的。
在运行长度压缩中,它以数字格式保存乘数与单元格值,乘数在表中显示重复值。
功能差异 - 行与列存储
如果SQL语句必须执行聚合函数和计算,则始终建议使用基于列的存储。基于列的表在运行聚合函数(如Sum,Count,Max,Min)时总是执行得更好。
当输出必须返回完整的行时,首选基于行的存储。下面给出的示例使其易于理解。
在上面的例子中,当使用Where子句在sales列中运行Aggregate函数(Sum)时,它在运行SQL查询时只使用Date和Sales列,因此如果它是基于列的存储表,那么它将进行性能优化,更快速,因为数据只需要来自两列。
在运行一个简单的Select查询时,必须在输出中打印完整行,因此建议在此情况下将表存储为Row。
信息建模视图
属性视图
属性在数据库表中是不可测量的元素。它们代表主数据,类似于BW的特性。属性视图是数据库中的维度,或用于在建模中连接维度或其他属性视图。
其重要特点是:
- 属性视图可用于分析视图和计算视图。
- 属性视图代表主数据。
- 用于在分析视图和计算视图中过滤维度表的大小。
分析视图
分析视图使用SAP HANA的功能对数据库中的表执行计算和聚合函数。 它具有至少一个事实表,其具有维度表的度量和主键,并且由维度表包围的包含主数据。
其重要特点是:
分析视图旨在执行星型模式查询。
分析视图至少包含一个事实表和带有主数据的多维表,并执行计算和聚合
它们与SAP BW中的信息块和信息对象类似。
可以在属性视图和事实表之上创建分析视图,并执行计算,例如销售的单位数量,总价格等。
计算视图
计算视图在分析视图和属性视图之上使用,以执行复杂计算,这对分析视图是不可能的。计算视图是基于列的表,属性视图和提供业务逻辑的分析视图的组合。
其重要特点是:
计算视图使用HANA建模功能或SQL中的脚本定义图形。
它被创建以执行复杂的计算,这是其他视图无法实现的,如SAP HANA建模的属性视图和分析视图。
一个或多个属性视图和分析视图在内置函数(如项目,联合,联接,计算视图中的排名)的帮助下消耗。
更多建议: