![SAP HANA Tutorial](/sap_hana/images/sap-hana-mini-logo.jpg)
- SAP HANA 教程
- SAP HANA - 首页
- SAP HANA 简介
- SAP HANA - 概述
- 内存计算引擎
- SAP HANA - Studio
- Studio 管理视图
- SAP HANA - 系统监控
- SAP HANA - 信息建模器
- SAP HANA - 核心架构
- SAP HANA 建模
- SAP HANA - 建模
- SAP HANA - 数据仓库
- SAP HANA - 表
- SAP HANA - 包
- SAP HANA - 属性视图
- SAP HANA - 分析视图
- SAP HANA - 计算视图
- SAP HANA - 分析权限
- SAP HANA - 信息组合器
- SAP HANA - 导出和导入
- SAP HANA 数据复制
- SAP HANA - 数据复制概述
- SAP HANA - 基于 ETL 的复制
- SAP HANA - 基于日志的复制
- SAP HANA - DXC 方法
- SAP HANA - CTL 方法
- SAP HANA - MDX 提供程序
- SAP HANA SQL
- SAP HANA - SQL 概述
- SAP HANA - 数据类型
- SAP HANA - SQL 运算符
- SAP HANA - SQL 函数
- SAP HANA - SQL 表达式
- SAP HANA - SQL 存储过程
- SAP HANA - SQL 序列
- SAP HANA - SQL 触发器
- SAP HANA - SQL 同义词
- SAP HANA - SQL 解释计划
- SAP HANA - SQL 数据分析
- SAP HANA - SQL 脚本
- SAP HANA 有用资源
- SAP HANA - 问答
- SAP HANA - 快速指南
- SAP HANA - 有用资源
- SAP HANA - 讨论
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/images/row_vs_column_store.jpg)
随着 SAP HANA 的发展,HANA 在信息视图中使用了基于列的数据存储,并展示了列表相对于行表的真正优势。
列存储
在列存储表中,数据垂直存储。因此,类似的数据类型会像上面的示例中所示那样组合在一起。它借助内存计算引擎提供更快的内存读写操作。
在传统的数据库中,数据以基于行的结构(即水平)存储。SAP HANA 以基于行和基于列的结构存储数据。这为 HANA 数据库提供了性能优化、灵活性和数据压缩。
将数据存储在基于列的表中具有以下优势:
数据压缩
与传统的基于行的存储相比,对表的读写访问速度更快
灵活性和并行处理
以更高的速度执行聚合和计算
有多种方法和算法可以将数据存储在基于列的结构中——字典压缩、游程压缩等等。
在字典压缩中,单元格以表格中的数字形式存储,数字单元格始终比字符单元格具有更高的性能。
在游程压缩中,它以数字格式保存单元格值的乘数,乘数显示表中重复的值。
![Column Store](/sap_hana/images/column_store.jpg)
功能差异 - 行存储与列存储
如果 SQL 语句需要执行聚合函数和计算,则始终建议使用基于列的存储。在运行 Sum、Count、Max、Min 等聚合函数时,基于列的表始终表现更好。
如果输出需要返回完整的行,则首选基于行的存储。下面的示例使理解更容易。
![Row vs Column Store Functional](/sap_hana/images/row_vs_column_store_functional.jpg)
在上面的示例中,在使用 Where 子句对 sales 列运行聚合函数 (Sum) 时,它只会在运行 SQL 查询时使用 Date 和 Sales 列,因此,如果它是基于列的存储表,那么它将是性能优化的,速度更快,因为只需要来自两列的数据。
在运行简单的 Select 查询时,必须在输出中打印完整的行,因此在这种情况下建议将表存储为基于行的表。
信息建模视图
属性视图
属性是数据库表中不可测量的元素。它们表示主数据,类似于 BW 的特征。属性视图是数据库中的维度,或用于在建模中连接维度或其他属性视图。
重要功能:
- 属性视图用于分析视图和计算视图。
- 属性视图表示主数据。
- 用于过滤分析视图和计算视图中维度表的大小。
![Attribute View](/sap_hana/images/attribute_view.jpg)
分析视图
分析视图利用 SAP HANA 的强大功能对数据库中的表执行计算和聚合函数。它至少有一个包含度量和维度表主键的事实表,并围绕包含主数据的维度表。
重要功能:
分析视图旨在执行星型模式查询。
分析视图包含至少一个事实表和多个包含主数据的维度表,并执行计算和聚合。
它们类似于 SAP BW 中的 InfoCube 和 Info 对象。
分析视图可以在属性视图和事实表之上创建,并执行诸如销售单位数量、总价格等计算。
计算视图
计算视图用于分析视图和属性视图之上执行复杂的计算,而这些计算是分析视图无法执行的。计算视图是基础列表、属性视图和分析视图的组合,用于提供业务逻辑。
重要功能:
计算视图可以使用 HANA 建模功能以图形方式定义,也可以用 SQL 编写脚本。
它旨在执行复杂的计算,而这些计算是 SAP HANA 建模器的其他视图(属性视图和分析视图)无法执行的。
借助内置函数(如 Projects、Union、Join、Rank)在计算视图中使用一个或多个属性视图和分析视图。