SAP HANA Archi建筑、景观、尺寸:完整教程

SAP HANA 数据库是以主内存为中心的数据管理平台。 SAP HANA 数据库在 SUSE 上运行 Linux 企业服务器并建立于 C++ 语言

SAP HANA数据库可以分布到多台机器上。

SAP HANA 优势如下 -

  • SAP HANA 很有用,因为它的速度非常快,因为所有数据都加载在内存中,不需要从磁盘加载数据。
  • SAP HANA 可用于单个数据库上的 OLAP(联机分析)和 OLTP(联机事务)。

SAP HANA 数据库由一组内存处理引擎组成。计算引擎是 SAP HANA.它可以与其他处理引擎(如关系数据库引擎(行和列引擎)、OLAP引擎等)协同工作。

关系数据库表位于列或行存储中。

有两种存储类型 SAP HANA 表。

  1. 行式存储(对于行表)。
  2. 列类型存储(对于列表)。

文本数据和图形数据分别位于文本引擎和图形引擎中。 SAP HANA 数据库。只要有足够的空间,数据就可以存储在这些引擎中。

SAP HANA Archi质地

数据通过不同的压缩技术(例如字典编码、游程编码、稀疏编码、聚类编码、间接编码)进行压缩。 SAP HANA 列存储。

当达到主内存限制时 SAP HANA,未使用的整个数据库对象(表,视图等)将从主内存中卸载并保存到磁盘中。

这些对象名称由应用程序语义定义,并在再次需要时从磁盘重新加载到主内存中。在正常情况下 SAP HANA 数据库自动管理数据的卸载和加载。

但是,用户可以手动从单个表中加载和卸载数据,方法是选择 SAP 哈娜工作室 在相应的模式中,右键单击并选择选项“卸载/加载”。

SAP HANA 服务器包括

  1. 索引服务器
  2. 预处理服务器
  3. 域名服务器
  4. 统计服务器
  5. XS 引擎

    SAP HANA Archi质地

  1. SAP HANA 索引服务器 SAP HANA 数据库主服务器是索引服务器。每个服务器的详细信息如下-
  • 这是主要的 SAP HANA 数据库组件
  • 它包含实际的数据存储和处理数据的引擎。
  • 索引服务器处理传入 SQL 或 MDX 语句。

下面是索引服务器的架构。

SAP HANA Archi质地

SAP HANA 索引服务器概述

  • 会话和事务管理器: 会话组件管理会话和连接 SAP HANA 数据库。事务管理器协调和控制事务。
  • SQL 和 MDX 处理器: SQL 处理器组件查询数据并将其发送到查询处理引擎,即 SQL/SQL 脚本 / R / Calc 引擎。MDX 处理器查询和操作多维数据(例如, SAP 哈娜)。
  • SQL / SQL 脚本 / R / 计算引擎: 该组件执行计算模型中的SQL/SQL脚本以及计算数据的转换。
  • 库: 存储库维护版本控制 SAP HANA 元数据对象,例如(属性视图、分析视图、存储过程)。
  • 持久层: 此层使用内置功能“灾难恢复” SAP HANA 数据库。备份作为数据卷中的保存点保存在其中。
    1. 预处理服务器

    该服务器用于文本分析,并在使用搜索功能时从文本中提取数据。

    1. 域名服务器

    该服务器包含有关系统环境的所有信息。在分布式服务器中,名称服务器包含有关服务器上每个运行组件和数据位置的信息。该服务器包含有关数据所在的服务器的信息。

    1. 统计服务器

    统计服务器负责收集与状态、资源分配/消耗和性能相关的数据 SAP HANA 系统。

    1. XS 服务器

    XS 服务器包含 XS 引擎。它允许外部应用程序和开发人员使用 SAP HANA 数据库通过 XS Engine 客户端。外部客户端应用程序可以使用 HTTP 通过 XS 引擎向 HTTP 服务器传输数据。

    SAP HANA 景观

    “HANA” 意思是 高性能分析设备 是硬件和软件平台的结合。

    • 由于计算机架构的变化,计算机在 CPU、RAM 和硬盘方面拥有更强大的功能。
    • SAP HANA 是解决性能瓶颈的解决方案,其中所有数据都存储在主内存中,无需频繁地将数据从磁盘 I/O 传输到主内存。

    以下是 SAP HANA 在硬件/软件领域的创新。

    SAP HANA 景观

    关系数据存储有两种类型 SAP HANA:行存储和列存储。

    行存储

    • 它与传统数据库相同,例如(Oracle,SQL Server)。唯一的区别是所有数据都存储在内存中的行存储区域中 SAP HANA 与传统数据库不同,其数据存储在硬盘中。

    列存储

    • 列存储是 SAP HANA 数据库以列式方式管理数据 SAP HANA内存,列式表存储在列存储区域,列存储为写操作提供了良好的性能,同时优化了读操作。

    通过以下两种数据结构优化读写操作性能。

    SAP HANA 景观

    主存

    主存储器包含数据的主要部分。在主存储器中,采用合适的数据压缩方法(字典编码、 Cluster 使用随机编码、稀疏编码、行程长度编码等来压缩数据,以节省内存并加快搜索速度。

    • 在主存储中,对压缩数据的写入操作成本很高,因此写入操作不会直接修改主存储中的压缩数据。相反,所有更改都写入列存储中称为“Delta 贮存。”
    • Delta 存储针对写入操作进行了优化并使用了正常压缩。主存储上不允许写入操作,但增量存储上允许写入操作。两个存储上都允许读取操作。

    我们可以通过选项“加载到内存”手动将数据加载到主内存中,并通过“从内存中卸载”选项从主内存中卸载数据,如下所示。

    SAP HANA 景观

    Delta

    Delta 存储用于写入操作并使用基本压缩。列表中所有未提交的修改数据都存储在增量存储中。

    当我们想将这些更改移到主存储中时,请使用“增量合并操作” SAP HANA 工作室如下 –

    SAP HANA 景观

    • 增量合并操作的目的是将增量存储中收集的更改移动到主存储。
    • 表演后 Delta 对sap列表进行合并操作,将主存的内容保存到磁盘并重新计算压缩。

    数据从 Delta 在增量合并期间到主存储

    SAP HANA 景观

    有一个缓冲存储器(L1-Delta)是行存储。因此 SAP HANA,由于 L1-delta,列表的作用类似于行存储。

    1. 用户在表上运行更新/插入查询(物理 Operator 是 SQL 语句。)。
    2. 数据首先进入 L1。当 L1 进一步移动数据时(L1-未提交的数据)
    3. 然后数据进入面向列的 L2-delta 缓冲区。(L2-已提交的数据)
    4. 当 L2-delta 过程完成后,数据进入主存储器。

    因此,由于 L1,列存储既是写入优化的,也是读取优化的Delta 和主存储器。L1-Delta 包含所有未提交的数据。已提交的数据通过 L2 移动到主存储Delta数据从主存储进入持久层(这里箭头所指的是一个在列存储中发送SQL语句的物理操作符)。在列存储中处理完SQL语句后,数据进入持久层。

    例如下面是基于行的表格-

    SAP HANA 景观

    表数据以线性格式存储在磁盘上,因此下面是行和列表的数据在磁盘上的存储格式 -

    In SAP HANA 内存中,该表以以下格式存储在磁盘上的行存储中 -

    SAP HANA 景观
    内存地址

    在列中,数据存储在磁盘上的方式为:

    SAP HANA 景观

    内存地址

    数据以线性格式按列存储在磁盘上。数据可以通过压缩技术进行压缩。

    所以,列存储具有节省内存的优点。

    SAP HANA 景观

    SAP HANA 大小

    尺寸是一个术语,用于确定硬件要求 SAP HANA 系统,例如 RAM、硬盘和 CPU 等。

    决定大小的主要因素是内存,第二个重要的因素是 CPU。第三个主要因素是磁盘,但大小完全取决于内存和 CPU。

    In SAP HANA实施中,关键任务之一是根据业务需求确定合适的服务器规模。

    SAP HANA DB 的大小与普通数据库不同 DBMS 按照 -

    • 主内存要求 SAP HANA(内存大小由元数据和事务数据决定 SAP 花(HANA)
    • CPU 要求 SAP HANA(预测 CPU 估计不准确)。
    • 磁盘空间要求 SAP HANA(为数据持久性和记录数据而计算)

    应用服务器CPU和应用服务器内存保持不变。

    用于尺寸计算 SAP 提供了计算正确尺寸的各种指南和方法。

    我们可以使用以下方法-

    1. 使用 ABAP 报告进行大小调整。
    2. 使用 DB 脚本进行大小调整。
    3. 使用 Quicksizer 工具调整大小。

    通过使用 Quicksizer 工具,需求将以以下格式显示 -

    SAP HANA 大小