管理数据生命周期
学习目标
使用 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 定义了这种数据存储概念,它根据访问频率和某些其他标准将数据分类为 HOT、WARM 或 COLD(有时甚至是 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 中,你有以下选项:
标准层(HOT) :数据存储在 SAP HANA 的主内存中。
扩展层(WARM) : SAP HANA Native Storage Extension (NSE) ,SAP HANA 中增强的通用存储管理解决方案,或 SAP HANA Extended Node ,在横向扩展架构中具有宽松内存/CPU 容量规划的过度配置工作节点。
外部层(COLD) : SAP IQ External Storage ,这意味着数据在 SAP HANA 之外的 SAP IQ 数据库中管理。
在 SAP BW 建模工具中设置数据分层优化
在 SAP BW/4HANA 中,DataStore 对象(advanced)是唯一物理管理事务性数据的数据模型。因此,所有相关 DTO 参数都在 DataStore 对象(advanced)中设置。定制过程有两个主要任务:
在 SAP BW 建模工具中为每个 DataStore 对象(advanced)定义 DTO 层和分区(与传输连接相关的设置)。
在 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 Properties→Cold Store Access:开启/关闭
BW 查询级别的单独设置:Extended Properties→Cold Store (Near-Line) Access:开启/关闭,或读取 Composite Provider 的设置
参考资料
更多详细信息,请参阅以下来源:
常规概览
介绍 SAP BW/4HANA 数据分层优化的 SAP 博客文章: https://community.sap.com/t5/technology-blogs-by-sap/sap-bw-4hana-data-tiering-optimization/ba-p/13357511
关于 SAP BW/4HANA 中数据分层优化的演示文稿: https://www.sap.com/documents/2017/12/b8ff485c-e47c-0010-82c7-eda71af511fa.html
基于 SAP HANA Native Storage Extension (NSE) 的 WARM 存储
SAP help:SAP HANA Native Storage Extension 作为温存储: https://help.sap.com/docs/SAP_BW4HANA/107a6e8a38b74ede94c833ca3b7b6f51/a9493e2172294f72847e2293aeeb14cd.html
SAP HANA 管理指南:SAP HANA Native Storage Extension: https://help.sap.com/docs/SAP_HANA_PLATFORM/6b94445c94ae495c83a19646e7c3fd56/4efaa94f8057425c8c7021da6fc2ddf5.html
基于 SAP HANA 扩展节点的 WARM 存储
扩展节点技术概览: https://www.sap.com/documents/2018/06/1e103233-0d7d-0010-87a3-c30de2ffd8ff.html
SAP 博客文章:Details – HANA Extension Nodes: https://community.sap.com/t5/technology-blogs-by-sap/more-details-hana-extension-nodes-for-bw-on-hana/ba-p/13174996
COLD 存储
博客文章:适用于 SAP BW(所有版本)的 SAP-NLS 解决方案(同样适用于 DTO 冷存储): https://community.sap.com/t5/technology-blogs-by-sap/sap-nls-solution-for-sap-bw-4-all-releases/ba-p/13303313
注意
尽管 SAP 明确建议使用数据分层优化(DTO),SAP BW 早期的数据分层概念在 SAP BW/4HANA 中仍然存在:
SAP BW 近线存储
活动/非活动数据
为数据分层优化准备 DataStore 对象(advanced)
观看以下演示,了解如何为数据分层优化准备 DataStore 对象(advanced)。
演示:Watch Demo(SAP 官方交互式练习)
执行数据分层优化
观看以下演示,了解如何更改 DataStore 对象(advanced)分区的温度,以及如何使 COLD 数据可用于报表。
演示:Watch Demo(SAP 官方交互式练习)
本课其余配图











本课其余配图









本课其余配图









本课其余配图








