
- 收藏
- 加入书签
一种应用HANA SLT技术实现企业数据湖的方法
摘要 随着信息化的迅速发展,企业对信息化的需求正在不断增加。然而,国内企业在推进信息化的过程中面临着众多挑战,其中最突出的之一是数据一致性问题。数据的分散和不一致给企业带来了许多困扰,需要寻找有效的解决方案来应对这一挑战。
在这个背景下,结合HANA SLT技术和数据湖技术可以成为解决数据一致性问题的有效途径。HANA SLT技术能够实现不同数据系统之间的实时数据同步,确保数据的及时性和准确性。而数据湖技术则为企业提供了一个灵活的数据存储和分析平台,可以容纳各种类型和格式的数据。通过将这两项技术有机结合起来,企业可以更好地管理和利用数据资源,为信息化发展提供了强大的支持和解决方案。
关键词 HANA SLT、SAP HANA、信息化、数据湖、数据同步、Information technology, data lake, data synchronization.
正文
1.引言
1.1技术背景
随着信息技术的不断进步和国家政策的不断演进,企业对信息化的需求正呈现日益增长的趋势。然而,国内企业在推动信息化的过程中面临着众多挑战,其中之一是亟需解决的数据一致性问题。这一问题源于历史和实际情况,导致大多数企业运行着众多数量庞大、种类繁多的信息化系统。这些系统之间存在相互关联,但也有可能相互独立存在。由于不同系统之间的互操作性问题,通常情况下数据无法有效同步。有些系统可能因存在多年而维护人员已不在岗,甚至开发这些系统的公司已经不存在,这使得与这些系统进行数据交互异常困难,更不用说有针对性地对系统进行修改以满足特定需求了。
在这种背景下,需要一种合理整合数据的理念,通过重新组织和规范数据,使其能够应对复杂多变的现实情况,为企业的发展提供指导。正是在这个需求下,数据湖技术应运而生,而SAP HANA的SLT技术则能够为企业构建高效可靠的数据湖,为信息化提供了强有力的支持。
2.技术简介
2.1 HANA SLT技术简介
HANA SLT是SAP体系中的ETL(Extract-Transform-Load)工具,主要存在目的是同步不同数据系统中的数据库数据。它允许实时加载和复制数据,或者将数据定时的从SAP系统或者非SAP系统调度到SAP HANA数据库。
SAP HANA SLT服务器使用了一种基于触发器的复制方式以实现从不同数据源系统到目标系统的数据传递。该方法是指,无论何时数据被发表在记录表中,触发器都会触发,并将数据从对应系统复制到目标系统中。
SLT系统的优点:
1、允许实时或按计划时间进行数据复制。
2、在实时复制数据的过程中,可以以SAP HANA格式迁移数据。
3、SLT可以处理簇表和池表。
4、在加载/复制期间支持非Unicode和Unicode的自动转换。
5、与SAP HANA Studio有着完全的集成。
6、SLT有表设置和转换能力。
7、可以通过SAP HANA Solution Manager监控。
SLT 的工作原理:
以下是源系统 (SAP)、SLT 复制服务器和 HANA DB 之间发生的复制过程:
1、SAP 源系统和 SLT 复制服务器之间需要建立 RFC 连接。
2、SLT复制服务器和HANA数据库之间需要建立数据库连接。
3、当第一次对表执行复制选项时,系统会将应用程序表中的整个数据加载到HANA DB。
4、加载完成后,状态将从“加载”更改为“复制”。
5、一旦状态更改为已复制,将在源系统中创建数据库触发器和日志记录表。日志表将根据数据库触发器继续存储修改的数据。
6、读取引擎将从日志记录表中读取数据并使用 RFC 连接将其发送到 SLT 复制服务器。
7、SLT 复制服务器根据 HANA 格式转换和格式化数据,写入引擎使用数据库连接将数据发送到 HANA DB。[1]
数据来源不是SAP数据库时,流程与此也差异不大,只是在建立连接的时候根据不同的数据库情况会有所区别,在此不再赘述。
2.2.数据湖技术简介
数据湖(Data Lake)是一种数据存储架构,它可以容纳大量不同类型和格式的数据,并支持用于数据分析和机器学习的高级查询和处理。数据湖是一种大数据架构,可以用来存储和处理大规模、多样化的数据,包括结构化、半结构化和非结构化数据。数据湖的目标是消除数据隔离和数据分散的问题,使数据更易于访问和分析。与传统的数据仓库不同,数据湖不需要预定义数据结构或数据模型。数据湖采用扁平化的数据模型,将所有数据都存储在原始格式中,并允许用户在需要时按需转换和处理数据。
数据湖具有以下优点:
1、灵活性:数据湖可以容纳不同类型和格式的数据,不需要进行复杂的转换和处理。
2、成本效益:数据湖使用分布式文件系统进行存储,可以实现大规模的数据存储和处理,并且成本比传统数据仓库更低。
3、智能分析:数据湖支持高级分析和机器学习,可以帮助组织从数据中发现模式和趋势,并提供更加精确的判断。
3.如何使用SLT技术构建企业数据湖
3.1 在SAP源系统中配置SLT服务器
首先,我们需要配置SAP SLT Replication Server以连接SAP源服务器和SAP HANA数据库。 事务代码LTR用于在SAP源服务器和SAP SLT之间创建连接。
步骤1.登录到SAP SLT服务器,并从SAP SLT复制服务器调用事务“LTR”。
系统会弹出一个Web Dynpro窗口,用于登陆到SAP SLT服务器。
输入用户名密码并登录。
点击“New”按钮,创建一个新的配置。
步骤2.SLT配置初始化:
输入配置名和描述。
选择SAP系统作为源系统。
输入SAP系统的RFC连接(destination)。
输入用户名/密码/主机名和实例编号。
输入作业选项细节。
数据传输任务编号。
计算任务编号。
选择复制选项为实时。
一旦所有选项维护完毕,点击‘OK’来创建一个SLT的新SCHEMA。
成功配置SAP SLT服务器后,SAP SLT服务器会自动为SAP HANA数据库创建数据库连接(当通过事务LTR创建新的配置时)。不需要手动创建它。
3.2 通过SLT将数据从SAP源导入至SAP HANA
3.2.1 SLT基本信息
一旦我们成功配置了SAP SLT服务器,SAP HANA数据库就会创建一个和SAP SLT中的配置同名的SCHEMA。
该SCHEMA包含以下对象:
1 Schema - SLTECC.
1 User – SLTECC.
1 Privileges
8 Tables:
DD02L (SAP Tables Name )
DD02T (SAP Table Texts)
RS_LOG_FILES
RS_MESSAGE
RS_ORDER
RS_ORDER_TEXT
RS_SCHEMA_MAP
RS_STATUS.
4 Role -
SLTECC_DATA_PROV
SLTECC_DATA_POWER_USER
SLTECC_DATA_USER_ADMIN
SLTECC_DATA_SELECT
2 Procedures
RS_GRANT_ACCESS
RS_REVOKE_ACCESS
所有配置完成后,现在我们从SAP ECC(ERP中央组件)中加载一个表。
要将表从SAP ECC加载到SAP HANA数据库,请按照以下步骤:
1、从Quick View前往Data provisioning。
2、选择SAP HANA系统
3、点击完成按钮
3.2.2 SLT数据初始化
我们使用“加载选项”列表中的第一个选项来对表(LFBK)数据进行初始加载,将其从源系统加载到SAP HANA数据库。
操作步骤如下:
1、根据SAP SLT配置选择源和目标系统详细信息。
2、点击加载按钮,然后选择我们需要在SAP HANA中加载/复制的表(LFBK)。
3、表(LFBK)将被添加到数据加载管理部分,它的Action是"Load",状态为"Scheduled"。
4、数据加载后,状态将变为“已执行”。 该表和数据将在“SLTECC” schema中创建。
5、通过schema “SLTECC”中的Data Preview检查表(LFBK)中的数据:
3.2.3 在HANA中使用SLT导入的数据
使用SAP HANA Studio登录SAP HANA数据库,并且选择SAP HANA系统HDB(HANAUSER)。
在表节点下选择表(LFBK)。
右键点击表(LFBK)选择打开Open data preview。
在Data Preview屏幕中将显示通过SLT处理加载的数据。
现在我们已经成功的将数据加载到表“LFBK”中。 我们可以在未来的建模中使用这个表。[2]
3.2.4 非SAP系统和SAP HANA间的SLT连接
SAP SLT Replication Server将所有元数据表定义从非ABAP源系统转换为SAP HANA的元数据表定义。
对于非SAP的源,SLT连接具有以下功能:
1、在复制表时,SAP SLT复制服务器将在源系统中创建日志表。该步骤在使用数据库实时同步中是关键功能
2、读取引擎在SAP SLT复制服务器中创建。
3、SAP SLT和源系统/SAP HANA之间的连接基于数据库连接。
4、SAP SLT Connection between Non - SAP SLT Connection and SAP HANA System/DATABASE
SAP SLT只能进行最简单的转换(比如考勤机数据的同步等),对于复杂的转换,我们需要其它的ETL工具,如SAP Data Services(SAP DS)。
3.3 使用HANA 数据建模来构建企业数据湖
SAP HANA信息建模,也称为HANA数据建模,是HANA系统的核心。它可以在数据库表的顶部创建建模视图,并实现业务逻辑以创建有意义的分析报表。我们现在已经有了来自不同来源数据库的数据,接下来要使用HANA的数据建模功能将其整合为一个或多个分析模型,提炼数据,构建一个可靠的数据湖,使其能够帮助企业进行合理的数据分析,从不同维度了解公司运营情况并且提供方向支持。
3.3.1 根据SLT数据建立HANA分析模型
首先,切换到SAP HANA Development视图。 建议在SAP HANA开发的情况下使用这个视图。在所有其他视图,都无法创建 SAP HANA hdb 过程。
第一个计算视图是一个简单的图形视图。 右键单击开发包并选择 New,然后选择 Calculation View。
接着输入所需的计算视图技术名称,例如 MY_NEW_VIEW。 保留默认类型,即Graphical,然后单击完成按钮。 默认情况下,系统会生成两个对象:语义和聚合对象。
在左侧,可以找到所有可用的设计对象。 从投影(Projection)选项开始。 将其拖放到场景的空白区域。 投影允许访问 SAP HANA 中的所有可用对象,例如 DDIC 表、信息提供者、主数据和现有的 SAP HANA 视图。
将鼠标移到投影对象上时,会看到一个绿色的加号。
单击加号图标(数据访问)打开一个对话框,可以在其中搜索所需的对象。 可以读取数据,然后将该对象添加到实际视图中。
单击加号图标后打开的对话框可以搜索所需的对象。 在我的示例中,我输入了 SAP BW 技术内容对象 WIS_C03(SAP technical cude集TCT_C03 的副本,它是一个InfoCube)的搜索字符串。
单击详细信息视图中的子弹形图标可将该特定 InfoObject 添加到该投影的输出(下图)并将其颜色更改为橙色(已选择)。 此选择类似于将表的字段添加到事务SE11中的自定义视图。 LED 形状的图标就像一个拨动开关。 灰色表示该字段已关闭(不使用),而橙色表示该字段已打开。
因为 InfoCube 使用 SID 以及 InfoObject 键,所以选择可能有点耗时。 为了更好地查看 InfoCube,我建议通过管理工作台中的更改视图激活该特定InfoCube的外部 SAP HANA视图。 或者自动激活所有cube/DSO。
如果已经激活了外部 SAP HANA 视图,可以直接从 Projection 搜索对话框中选择该视图。
选择这个外部 SAP HANA 视图可以让你更轻松地使用计算视图。 如下图,仅显示 InfoObjects 及其文本元素(如果存在)。 可以将它们添加到投影的输出中。
要将投影映射到场景窗格中的现有聚合对象,请单击 Projection_2 上方的圆圈图标。 按住鼠标,拖动一个连接(线)到聚合对象的底部图标,然后松开鼠标。 现在您的投影已连接。
选择聚合对象将显示投影的所有字段的结构。 你可以按需决定显示所有字段还是只喜欢几个字段。 如果想要全部,最好的方法是右键单击标题区域(黑色标题)并选择 Add All To Output选项,它会自动将所有现有字段映射到输出,而无需逐个选择条目。
完成此步骤后,您可以通过单击 Eclipse 顶部菜单中的激活图标来激活计算视图。
激活后,可以通过右键单击对象(例如,投影)并选择数据预览来直接显示每个单独对象的数据。 (查询数据的细节不在本文的范围)[3]
通过以上步骤,我们即可建立一个HANA分析模型来使用SLT导入的数据,通过建立模型我们可以实现建立企业数据湖的效果,帮助企业实时分析不同数据来源的数据。
结论
HANA SLT技术代表着SAP在数据处理领域的一项成熟和可靠的技术,而企业数据湖则代表着一种崭新的数据分析理念,将这两者有机地结合起来可以产生卓越的效果。这一组合的关键在于深刻理解其核心优势,并根据不同企业的实际情况有针对性地运用,这对企业的信息化发展具有巨大的潜力和益处。
HANA SLT技术的可靠性和稳定性使其成为企业管理和数据处理的有力工具。它能够高效地复制和转移数据,确保各个系统之间的数据一致性和实时性。同时,企业数据湖代表了一种更加灵活和开放的数据存储和分析模式,允许企业将各种数据源集成在一个统一的数据湖中,以支持高级分析、数据挖掘和业务决策。
将HANA SLT技术与企业数据湖相结合,可以实现多方面的收益。首先,企业能够实现实时数据同步,确保数据的及时性和准确性,从而提高了业务运营的效率。其次,数据湖的灵活性使企业能够更好地探索和分析数据,发现潜在的商机和趋势,为决策制定提供更多的见解。此外,这种结合还能够降低数据集成和管理的复杂性,提高了IT资源的利用效率,减少了成本和风险。
参考文献
[1].Basic Understanding of SLT Replication Server.https://blogs.sap.com/2021/08/18/basic-understanding-of-slt-replication-server/
[2].SAP HANA中的SLT简介 https://cnblogs.com/hhelibeb/p/8258915.html
[3].SAP-HANA-Calculation-Views https://blogs.sap.com/2019/12/02/sap-hana-calculation-views/