管理数据生命周期

学习目标

  • 使用 Data Tiering Optimizer 重新安置数据

SAP BW/4HANA 数据生命周期管理概览

数据增长带来的需求与挑战

SAP BW/4HANA 的一项关键需求就是存储数据——而且要存储大量数据!

数据从组织中的所有源系统采集而来。其中许多系统每天都会生成海量数据。SAP BW/4HANA 甚至可以使用流式机制实时采集数据,因此数据流永不停止。

从技术角度看,SAP HANA——为 SAP BW/4HANA 提供动力的数据库——能够应对巨大的数据增长。我们只需通过增加更多内存来纵向扩展(scale-up)硬件。一旦服务器达到其内存容量,我们就会增加更多服务器。这称为横向扩展(scale-out)。但这是应对数据增长问题的一种非常昂贵的解决方案。

除了将越来越多数据存储在 SAP BW/4HANA 内存中带来的成本不断上升之外,我们还面临系统被极少使用的数据堵塞的风险。因此,让我们退一步,思考最佳解决方案。

需要精细的数据管理概念来优化财务投入以及对 SAP BW/4HANA 硬件资源的使用。SAP 提供了将 SAP BW/4HANA 数据分配到不同存储区域和存储介质的概念与解决方案。

如果 SAP BW/4HANA 中没有精细的数据管理:

  • 所有数据都必须保存在 RAM 中才能被处理

  • 大型系统需要基于纵向扩展/横向扩展架构的大规模 HANA 容量规划(sizing)

对于保存在 RAM 中的数据,必须考虑硬件和许可证成本;尤其是那些不需要始终在内存中可用的数据,因为它们很少被使用,且性能并非关键任务要求。

多温度数据管理概念

数据是有生命周期的。当数据是新的时,它通常对企业非常重要,并用于决策。但随着数据老化,由于使用越来越少,其价值通常会下降。我们应当把价值较低的数据从性能最高/成本最高的存储——即内存——迁移到性能较低/成本更低的存储选项——例如磁盘。

所需要的是能够管理数据生命周期的工具,以便我们在合适的时机将数据从内存迁移到磁盘。SAP BW/4HANA 中已包含此类工具。

借助多温度数据管理概念,可以将硬件增长与数据增长解耦。SAP 定义了这种数据存储概念,它根据访问频率和某些其他标准将数据分类为 HOTWARMCOLD(有时甚至是 FROZEN)。这些标准包括所涉及的数据类型、它对业务用途的有用程度、这些流程的重要性、访问频率以及性能和安全要求。影响 SAP 多温度数据存储策略设置的其他因素包括:

  • 预算限制

  • SAP HANA 数据库容量方面的技术限制

  • 历史数据的存储(由于数据增长)

  • 批量数据的存储(结算数据、自动日志、点击流数据)

  • 公司数据保存准则,例如出于法律原因需要将所有数据至少保存若干年

在 SAP BW/4HANA 这样的大型企业数据仓库中管理的大部分数据会被频繁处理,并且需要快速访问。这类数据可视为 HOT。

此外,通常还有大量不常被访问、可能也不需要快速访问的数据。因此,这类数据可以定义为 WARM。不再需要但必须保留的数据(可能出于法律原因)可以归类为 COLD。

SAP BW/4HANA 数据按访问频率和用例分为 HOT、WARM 和 COLD。

在 SAP BW/4HANA 数据仓库参考架构(Layered Scalable Architecture for BW/4HANA)的背景下,数据仓库中的各个区域以及 EDW 架构的不同架构层可以分配到这些多温度数据类别。

让我们进一步了解这些多温度数据类别:

热(Hot)

  • 所有与关键任务、日常业务分析和计划相关的层

  • 热数据会被频繁访问,用于报表和计划,或由常规 SAP BW/4HANA 流程访问。

  • 示例包括:

  • 数据集市 DataStore 对象(advanced)。

  • 标准 DataStore 对象(advanced)。

  • 没有功能限制:允许对此数据进行读和写操作。

温(Warm)

  • 所有与数据采集相关的层

  • 温数据访问频率较低或很少访问。它在性能方面不关键,并且不必永久存储在主内存中,通常是 LSA++ Corporate Memory 和 Open Operational DataStore 层中的数据准备 ADSO。没有功能限制。

  • 示例包括:

  • Corporate Memory 中的对象,通常是数据准备 DataStore 对象(advanced)。

  • Open Operational DataStore 层中的对象,通常是数据准备 DataStore 对象(advanced)。

  • 没有功能限制:允许对此数据进行读和写操作。

冷(Cold)

  • 所有与历史数据保留相关的层

  • 冷数据很少或偶尔被访问。

  • 数据不必保存在 SAP HANA 数据库中。

  • 相反,它存储在 SAP HANA 之外的外部源中并在那里管理。

  • 存在功能限制:此数据主要用于只读。只有通过在查询中启用相应设置,才能使其可用于报表。默认情况下,查询不会访问此数据。仅在特殊情况下(例如更正)才可能写入该数据。如果需要读取此类数据,必须相应调整对性能的预期。

SAP BW/4HANA 数据分层优化(DTO)

简介

为了在 SAP BW/4HANA 中实现多温度数据管理,SAP 提供了**数据分层优化(DTO)**概念。

数据分层优化的特点如下:

  • 面向 HOT、WARM 和 COLD 数据的统一概念

  • 基于完整 DataStore 对象(advanced)或单个分区的数据分层

  • 每个分区的温度定义为本地设置(不传输)

  • 使用 HANA 技术,例如 Smart Data Access(SDA)和横向扩展架构

  • 简单且集中的定义与实现

  • 分区及其数据温度需要最初在 DataStore 对象(advanced)中定义

  • 数据温度变更通过 SAP BW/4HANA Cockpit 中的应用管理

  • 无需像过去那样为各个近线存储(NLS)数据归档流程进行额外配置

  • 数据搬迁作为简单的定期日常维护活动

  • 单个 DTO 作业定期将数据移动到已定义的存储

  • 无需像过去 NLS 那样进行复杂的流程链建模

  • 非中断式方法,并保护过往投资

  • 与现有 SAP BW NLS 方法共存

SAP BW/4HANA 的数据分层优化(DTO)可帮助你将 DataStore 对象(advanced)中的数据分类为 HOT、WARM 或 COLD。根据此分类以及数据的使用方式,数据会存储在不同的存储区域中。在 SAP BW/4HANA 中,你有以下选项:

  1. 标准层(HOT) :数据存储在 SAP HANA 的主内存中。

  2. 扩展层(WARM) : SAP HANA Native Storage Extension (NSE) ,SAP HANA 中增强的通用存储管理解决方案,或 SAP HANA Extended Node ,在横向扩展架构中具有宽松内存/CPU 容量规划的过度配置工作节点。

  3. 外部层(COLD) : SAP IQ External Storage ,这意味着数据在 SAP HANA 之外的 SAP IQ 数据库中管理。

在 SAP BW 建模工具中设置数据分层优化

在 SAP BW/4HANA 中,DataStore 对象(advanced)是唯一物理管理事务性数据的数据模型。因此,所有相关 DTO 参数都在 DataStore 对象(advanced)中设置。定制过程有两个主要任务:

  1. 在 SAP BW 建模工具中为每个 DataStore 对象(advanced)定义 DTO 层和分区(与传输连接相关的设置)。

  2. 在 SAP BW/4HANA Cockpit 中定义 DataStore 对象(advanced)中每个分区的温度(需在每个系统中手动定义,无传输连接)。

在 Eclipse 的 BW 建模工具中编辑 ADSO 时,在常规选项卡中按如下方式指定数据分层属性:

  • 此对象范围内适用的层(温度)

  • 对象级别还是分区级别维护温度

如果你选择了分区级别的数据维护,则 ADSO 需要定义分区。在 ADSO 编辑屏幕中,转到设置选项卡以设置适当数量的分区,从而在不同层中管理数据。你可以将分区明确定义为静态值,或利用动态分区——后者会为分区字段的每个值创建一个新分区。请注意,分区字段需要在 ADSO 定义中定义为关键字段。建议的分区字段是 SAP 标准时间特征(例如 0CALMONTH、0CALYEAR、0FISCPER、0FISCYEAR)或代表组织单位的对象。如果之后更改了分区定义(尤其是当 ADSO 已在管理数据时),系统会在你激活对象时检查是否需要重组(remodeling)。如果需要重组,会自动创建一个重组作业,之后需要手动触发。

SAP BW/4HANA Cockpit 中的 DTO 管理

注意

若要规划温度,你也可以使用 SAP GUI 中的事务代码 RSOADSODTO 作为 SAP BW/4HANA Cockpit 的替代方案。

除了手动定义分区或对象的温度之外,你还可以为选定对象定义温度变更规则。可以为在分区级别分层、并以 SAP 时间特征或数据类型为 DATS 的字段作为分区字段的 ADSO 定义规则。在规则中,你可以从当前日期出发,为各种可能的温度指定基于相对时间的条件。例如,你可以为超过一年的数据指定温温度,为超过五年的数据指定冷温度。

在本课末尾的演示中,你可以找到与下图所示类似的 DTO 示例:

注意

执行数据搬迁的替代选项:

  • 使用事务 RSOADSODTOEXE

  • 基于 Adjust Data Tiering 新变式类型设置流程链

有一个很有用的应用可以监控为三个 DTO 层分配的空间。在SAP BW/4HANA Cockpit中,转到名为监控的组,打开磁贴数据量统计。它提供 SAP BW/4HANA 系统中 HOT、WARM 和 COLD 数据的容量趋势。此外还可以下钻,以表格形式获取按日历日统计的容量快照的图形显示。如果该应用最初不提供数据,则需要基于标题区域中的配置选项设置其数据采集。

DTO WARM 层

1. SAP HANA Native Storage Extension (NSE)

SAP HANA NSE 是内存 COLUMN STORE 的基于磁盘的扩展。它是一种与 SAP HANA 集成的通用存储管理解决方案,适用于 SAP BW/4HANA、SAP S/4HANA 和 SAP Business Suite powered by SAP HANA 的温数据。如果没有配置 SAP HANA 扩展节点,SAP HANA NSE 会自动用作温数据的数据层。

2. SAP HANA 扩展节点

由 SAP HANA 扩展节点管理的温层需要一种 基于横向扩展 的 SAP BW/4HANA 架构,即由所谓协调节点和不同工作节点组成。将一个(或多个)工作节点设置为扩展节点意味着运行非对称的 SAP HANA 横向扩展架构。这包括一组具有标准数据量/内存容量规划的工作节点(用于热数据),以及另一组具有宽松容量规划、用于在这些扩展节点上存储更多数据的工作节点。

基于 SAP IQ External Storage 的 DTO COLD 层

DTO 冷数据首先被移动到外部存储,然后从 SAP BW/4HANA 系统(即从 SAP HANA 数据库)中删除。此活动使用标准的 BW 选择性删除流程。仍然可以直接访问这些数据(例如通过 BW 查询),或在需要时将其重新加载回 WARM 或 HOT 层。

在 SAP BW/4HANA 中,COLD 层适用于 DataStore 对象(advanced)中管理的所有数据。但必须在 ADSO 内定义分区。以下限制适用:

  • 一般而言,DataStore 对象(advanced)必须至少有一个关键字段,并且需要基于其中一个关键字段定义分区。

  • 类型为 Direct Update 的 DataStore 对象(advanced)需要 SAP BW/4HANA 2.0 SP07 或更高版本才能在 COLD 层中管理其数据。

  • COLD 层不适用于具有以下建模属性的 DataStore 对象(advanced):

  • 数据准备 DataStore 对象 — 仅入站队列

  • 数据准备 DataStore 对象 — 已启用报表

SAP BW/4HANA 随附适用于 SAP IQ 数据库的适配器作为外部存储介质。SAP IQ 上的数据以类似于 SAP HANA 的压缩形式存储在列存储中,最大的区别在于数据不在内存中管理,而是基于磁盘处理。

SAP IQ 作为 DTO 外部存储的一些关键特性:

  • 基于 SAP IQ loader 功能和 SAP HANA Smart Data Access 优化的加载性能。

  • SAP HANA 和 SAP IQ 共享相同的列式范式

  • 数据压缩非常高效,约为 90%。

  • 落后者处理(Straggler Handling):SAP IQ 上的 SAP BW/4HANA 冷存储提供对冷数据执行例外更新和删除的能力

对 COLD 数据的例外更新("落后者处理")

SAP 提供了一个增强的激活流程,用于检测和处理 DTO COLD 存储位置上数据的例外变更。你需要一个类型为带更改日志的标准的 DataStore 对象(advanced),以及相应的建模属性冷存储的例外更新来启用此更新处理。该 DataStore 对象(advanced)会管理一个额外的次级入站表,用于存储对 COLD 分区的更改。

注意

SAP 建议在 DTO 场景中使用 SAP IQ 存储冷数据。Hadoop 仍可使用(但受 SAP 注释 2363218:Hadoop NLS - Information, Recommendations and Limitations 中提到的限制约束),但它不是未来的推荐解决方案

管理对 COLD 数据的报表访问

有可用的设置用于控制对 COLD 数据的报表访问:

  • CompositeProvider 级别的常规设置:Common Runtime PropertiesCold Store Access:开启/关闭

  • BW 查询级别的单独设置:Extended PropertiesCold Store (Near-Line) Access:开启/关闭,或读取 Composite Provider 的设置

参考资料

更多详细信息,请参阅以下来源:

常规概览

基于 SAP HANA Native Storage Extension (NSE) 的 WARM 存储

基于 SAP HANA 扩展节点的 WARM 存储

COLD 存储

注意

尽管 SAP 明确建议使用数据分层优化(DTO),SAP BW 早期的数据分层概念在 SAP BW/4HANA 中仍然存在:

  • SAP BW 近线存储

  • 活动/非活动数据

为数据分层优化准备 DataStore 对象(advanced)

观看以下演示,了解如何为数据分层优化准备 DataStore 对象(advanced)。

演示Watch Demo(SAP 官方交互式练习)

执行数据分层优化

观看以下演示,了解如何更改 DataStore 对象(advanced)分区的温度,以及如何使 COLD 数据可用于报表。

演示Watch Demo(SAP 官方交互式练习)

本课其余配图

DataManagement_BW4HANA_LJ

MultiTemp Concepts_LJ

Data ManagementandLSA_LJ

DTO BW4 concepts_LJ

DTO RSOADSODTO_1_LJ

DTO RSOADSODTO_1b_LJ

DTO RSOADSODTO_2_LJ

DTO execution example_LJ

Monitoring DTO App_LJ

DTO_Straggler_image_LJ

ManagingBEx(TrRSDIPROP)_LJ

本课其余配图

MultiTemp Concepts_LJ

Data ManagementandLSA_LJ

DTO BW4 concepts_LJ

DTO RSOADSODTO_1_LJ

DTO RSOADSODTO_1b_LJ

DTO RSOADSODTO_2_LJ

DTO execution example_LJ

Monitoring DTO App_LJ

ManagingBEx(TrRSDIPROP)_LJ

本课其余配图

MultiTemp Concepts_LJ

Data ManagementandLSA_LJ

DTO BW4 concepts_LJ

DTO RSOADSODTO_1_LJ

DTO RSOADSODTO_1b_LJ

DTO RSOADSODTO_2_LJ

DTO execution example_LJ

Monitoring DTO App_LJ

ManagingBEx(TrRSDIPROP)_LJ

本课其余配图

MultiTemp Concepts_LJ

Data ManagementandLSA_LJ

DTO BW4 concepts_LJ

DTO RSOADSODTO_1_LJ

DTO RSOADSODTO_1b_LJ

DTO RSOADSODTO_2_LJ

DTO execution example_LJ

Monitoring DTO App_LJ

ManagingBEx(TrRSDIPROP)_LJ