将 SAP HANA 用作源系统

学习目标

  • 说明如何将 SAP HANA 用作源系统

SAP HANA 源系统

入门

SAP BW/4HANA 的关键创新领域之一是对外部非 SAP 数据的集成进行了扩展和简化。为实现这一点,SAP BW/4HANA 包含了上一课中介绍的技术:SAP HANA Smart Data Access (SDA) 和 SAP HANA Smart Data Integration (SDI),它们在从非 SAP 数据源预配数据方面发挥着重要作用。

在这些 SAP HANA 技术中,SAP BW/4HANA 提供了一种新方式,可以虚拟地、以批处理模式或实时地直接访问来自各种源的数据,或将其持久化到 SAP BW/4HANA 中。为了充分利用 SAP HANA 的优势,并简化和统一现有的源系统,引入了一种新类型的 DataSource。在新的源系统 SAP HANA 之下有三个子类型:

  1. SAP HANA - 本地数据库模式 (HANA_LOCAL) :提供对 同一 SAP HANA 数据库(即部署 SAP BW/4HANA 应用程序所在的数据库)上非 BW 外部模式的访问。

  2. SAP HANA - Smart Data Access (HANA_SDA) :利用客户定义的远程连接(基于 SDA 或 SDI )来访问 远程 源(位于本地 SAP HANA 数据库之外)上的数据。

  3. SAP HANA - 租户数据库模式 (HANA_MDC) :在多租户部署的情况下,提供对 SAP HANA 数据库上其他租户中其他模式的访问。源系统子类型 HANA_SDA 的名称可能具有误导性,因为它看起来只指 SAP HANA Smart Data Access。这是历史原因造成的,因为 SAP HANA Smart Data Access 是第一个出现、因而赋予该名称的技术。事实上,两种连接技术在这里同样可用:SAP HANA Smart Data Access (SDA) 和 SAP HANA Smart Data Integration (SDI)。

比较 SAP NetWeaver BW 7.5 与 SAP BW/4HANA

SAP BW/4HANA 中的 SAP HANA 源系统类型取代了以前的 SAP BW 源系统 DB ConnectUD Connect。在就地转换过程中,设置为 SAP HANA (HANADB) 的 SAP BW 7.5 连接会自动映射到这三个后继的 SAP HANA 源系统类型。

BW 源系统类型 HANA_LOCAL(SAP HANA 本地数据库模式)

该 SAP BW/4HANA 源系统类型提供对同一 SAP HANA 数据库(即部署 SAP BW/4HANA 应用程序所在的数据库)上其他模式的访问。

要进行设置,请遵循以下步骤:

在 SAP BW/4HANA 中,首先定义一个类型为 HANA_LOCAL 的源系统:

然后定义一个 Open ODS View,它引用位于本地数据库模式中的数据库表(见下方示例)、数据库视图、虚拟表或 XSC 计算视图。

或者定义一个 Open ODS View,引用 HDI Container 中的 XSA 计算视图。

如果数据需要被加载并转换为带有特征信息对象的主数据,或转换为数据存储对象(高级),则应定义 BW Data Source 而不是 Open ODS View,它可以引用本地数据库模式中的数据库表、数据库视图、虚拟表或 XSC 计算视图,也可以引用 HDI Container 中的 XSA 计算视图。

注意

BW DataSource 也可以用于 Open ODS View,以便相比数据库表享受到 BW DataSource 可能更丰富的语义。

HANA_LOCAL 的场景:

BW 源系统类型 HANA_SDA(SAP HANA Smart Data Access)

这一新的源系统类型使用户能够借助大量随附的数据库驱动程序和适配器来访问 SAP HANA SDI 和 SAP HANA SDA。由 HANA Indexserver 管理的所谓 SAP HANA 联合框架会将 SDA 请求委托给相应的 ODBC 驱动程序,或者在你使用 SDI 适配器时,委托给 EIM DP-Server 中的 SDI Adapter Framework。这样,SAP BW/4HANA 就获得了一项新能力:利用原生 SAP HANA 平台上的这些接口,连接到 SAP HANA 源以及许多其他数据库和应用程序。

所有 SDA 或 SDI 接口都可以从 SAP BW/4HANA 应用程序按标准方式进行设置和维护。这基于 BW 源系统、BW DataSource、转换、DTP 以及诸如 Open ODS View 或高级 DSO 等数据目标。它们不仅扩大了可集成到 SAP BW 中的源数据范围,还增加了实时流式传输选项。

流程如下:

  1. 在 SAP HANA 中:基于 SDA 驱动程序或 SDI 适配器设置 Remote Source 连接

  2. 在 SAP BW/4HANA 中:创建一个 新源系统 ,连接类型为:SAP HANA Smart Data Access,引用步骤 (1) 中的 Remote Source 。

  3. 在 SAP BW/4HANA 中:在 Open ODS View 中消费该远程源以进行直接虚拟访问,或者在其之上定义 BW DataSource 和经典数据流(带有特征信息对象的主数据或数据存储对象(高级)、转换和 DTP)。

注意

BW DataSource 也可以用于 Open ODS View,以便相比数据库表享受到 BW DataSource 可能更丰富的语义。

HANA_SDA 的场景

观看以下演示,了解 HANA_SDA 的不同场景:

探索远程源

观看以下演示,探索 SAP BW/4HANA 系统的 SAP HANA 数据库上的远程源。

演示观看演示(SAP 官方交互式练习)

创建类型为 HANA_SDA 的源系统

观看以下演示,其中创建了一个类型为 HANA_SDA 的源系统。

演示观看演示(SAP 官方交互式练习)

在类型为 HANA_SDA 的源系统上创建 Open ODS View

观看以下演示,了解如何在类型为 HANA_SDA 的源系统上创建 Open ODS View。

演示观看演示(SAP 官方交互式练习)

创建源系统类型为 HANA_SDA 的 DataSource 并实施远程订阅

观看以下演示,其中创建了一个源系统类型为 HANA_SDA 的 DataSource 并实施了远程订阅。

演示观看演示(SAP 官方交互式练习)

对于某些 SAP HANA SDI 数据预配适配器,支持实时复制。你可以通过 HANA_SDA 源系统,使用远程订阅将数据实时复制到复制的目标表中。数据可用于在流式模式下基于流程链更新到 ADSO。

远程订阅有两种类型。它们如下:

  1. UPSERT:

类型 UPSERT 意味着所有类型的数据更改(插入、更新和删除)都通过 UPSERT SQL 命令写入目标表。对于已从远程源对象中删除的键,该语句会将值 "D" 写入目标表中的 SDI_CHANGE_TYPE 列。在其他情况下,该语句会将值 "A" 写入 SDI_CHANGE_TYPE 列,以表示新增和更新的数据记录。 事务的提交时间戳会写入 SDI_CHANGE_TIME 列。 这种实时复制类型允许基于 SDI_CHANGE_TIME 列中的时间戳,从 SAP HANA DataSource 进行增量提取和数据流式传输。 2. ###### INSERT: 类型 INSERT 意味着所有类型的数据更改(插入、更新和删除)都通过 INSERT SQL 命令写入目标表。该语句会将原始更改类型写入 SDI_CHANGE_TYPE 列。对于每次数据更改,提交时间戳会写入 SDI_CHANGE_TIME 列,唯一序列号会写入 SDI_CHANGE_SEQUENCE 列。 与 UPSERT 类型相比,每次数据更改不仅记录后像(SDI_CHANGE_TYPE 为 "U"),还记录前像("B")。这使得可以将数据更改传输到类 InfoCube 的仅插入目标(数据集市 ADSO)。

有三个技术字段,它们提供关于所复制更改类型的重要元数据。它们如下:

  • CHANGE_TYPE 显示源中行更改的类型 | I | INSERT | | --- | --- | | B | UPDATE(前像) | | U | UPDATE(后像) | | D | DELETE | | A | UPSERT | | R | REPLACE | | T | TRUNCATE | | X | EXTERMINATE_ROW |

  • CHANGE_TIME: 显示该行提交时的时间戳。同一事务中提交的所有更改将具有相同的 CHANGE_TIME

  • CHANGE_SEQUENCE: 显示一个值,指示同一事务中提交的更改的操作顺序。

如果 DataSource 使用支持实时复制的数据预配适配器,你可以定义实时复制应使用哪种或哪些类型的远程订阅。你可以在 DataSource 维护的 Extraction 选项卡中完成此操作。选择取决于所需的场景。

在 HANA_SDA DataSource 上创建数据流

在以下演示中,将构建一个基于 HANA_SDA DataSource 的数据流。

演示观看演示(SAP 官方交互式练习)

创建流式流程链

为了实现实时复制,以下演示中创建了一个处于流式模式的流程链。

演示观看演示(SAP 官方交互式练习)

流式传输数据更改

在以下演示中,源表中的数据更改被流式传输到 SAP BW/4HANA 中。

演示观看演示(SAP 官方交互式练习)

本课其余配图

Source_Systems_01_LJ

SDI_BW2_LJ

HANA_LOCAL_02_LJ

HANA_LOCAL_03_LJ

HANA_LOCAL_04_LJ

HANA_LOCAL_01_LJ

SDA_SDI_BW4_LJ

HANA_SDA_01_LJ