十年前就在使用SAP的客户询问我当时突然出现的新事物:大数据。五年前,变成了数据湖和机器学习。现在一切都是关于数据集成,当然还有人工智能。有时处理数据的基本方法已经改变或者发展。有时只是名字的改变。例如,在过去十年中,数据湖演变成数据网格(Data Meshes),当你想到它时,它只不过是一个相互连接的稍微复杂的数据湖。
那么有一个问题:如何集成SAP数据?
十年前很热门的一个话题现在仍然很热门:如何将SAP数据与Hadoop集群或企业多云集成?每个超大规模云厂商都有一个现成的答案,但是如果您是SAP客户,您不会对其中的每一个都100%满意。这就是为什么我们创建了解决方案SNP Glue。
近期的Glue系列文章,我们将深入探讨将SAP与您选择的云技术集成所面临的挑战,以及我们如何应对这些挑战。我们将自己的技术构建为中间件是有充分理由的,从各种SAP数据源的增量捕获到性能和灵活性。
第一篇文章中,我将介绍背景,而在后续的文章中,将详细介绍云厂商以及SNP Glue与它们进行技术集成的功能。
为什么要将SAP与云数据仓库或数据湖集成?
现在最显而易见的答案是“这样你就可以在这些数据上释放现代人工智能的力量”……
然而,公平地说,虽然这在某种程度上可能是正确的,但现实往往要简单得多!
在SNP,我们看到两种客户案例:
-
第一种是单一集成场景,就像一个专门的应用程序来帮助用户处理供应链的单一方面。或者仪表盘。或者以高度选择性的方式向外部审计人员提供数据。
-
第二个是大规模的SAP集成,每个生产系统中几乎所有SAP应用程序表都需要对云中的数据湖可用。
用例是多重的,包括报告、指示板、审计、供应链优化、预测性维护、减少客户流失等等。显然,在SAP数据副本上实现这样的用例(其中一些个人数据可能因GDPR原因而匿名!)有许多优点,最明显的是避免对SAP的任何性能影响。其他优点是更容易混合来自多个数据源的数据,并为AI/ML使用云特定功能。
显然,当一项技术能够很好地扩展到第二种情况时,您也可以覆盖第一种情况。然而,考虑到SAP ERP的巨大范围,集成的技术需要非常强大。
这样的软件需要涵盖这些不同的方面和特性。最明显的是实现真正的可扩展性。SNP Glue可以将数以万计的SAP表从多个SAP生产系统复制到云中,从而使数据可用于广泛的用例。初始满载和增量,理想情况下以大规模并行的方式。使用SNP Glue, SNP客户完全可以实现这一点,例如,近乎实时地从一长串SAP系统(包括ERP和BW)中复制50,000个SAP表到云中的数据湖。
如果没有良好的CDC(更改数据捕获),即增量复制,您将需要定期执行全负载。数据将不断过时。CDC可以针对不同的SAP数据源使用不同的技术来实现,例如,数据库触发器适用于ERP,但不适用于SAP BW。
为了获得良好的性能并最大程度地减少数据在必须经过的不同跃点链中的潜在“故障点”,您需要将目标定位在 SAP 数据源和数据存储(例如 Snowflake)之间建立直接的连接。通过减少中间人、潜在的故障点,从而使集成变得更加稳固。
根据数据源、SAP模块或应用程序以及场景,您需要区分“应用程序集成”和“数据集成”。应用程序集成将更多地在源端由事件驱动(例如通过SAP Business Events、SAP bapi),而在接收端由事件代理驱动(例如Kafka)。对于数据集成场景,您需要考虑使用原始SAP表来扩展集成解决方案并覆盖尽可能多的领域。
SAP数据-关键且复杂
SAP数据往往是“特殊的”。在技术层面和应用层面都是如此。例如,一旦您必须根据货币键将小数点插入SAP金额字段,而货币键在同一数据库表中找不到,您就会知道我所说的“技术困难”是什么意思。集成解决方案不仅需要扩展和执行,还需要能够覆盖这些技术(不用说,SNP Glue就可以)。此外,对于任何SAP集成解决方案,我建议不要忘记与数据目录集成的必要性。
在应用程序级别,SAP 数据的性质在结构化数据(例如 SAP ERP 表)、非结构化数据(例如 SAP 存档或 SAP 过账附件)、非 ERP 数据(例如 SAP BW 查询)或直接访问 SAP 事务代码输出之间差异很大。一个好的集成解决方案应该能够处理许多这些数据源,而不仅仅是表。
ETL to ELT
最后,对于大规模场景,您还需要从古老的 ETL 范式(提取-转换-加载)更改为 ELT 范式,其中数据首先迁移(提取和加载),然后才转换(即过滤、清理、丰富、与其他源相结合等)。但是,这并不意味着 SAP 集成解决方案中不需要任何 ETL 功能。例如,在提取数据时应该可以直接屏蔽一些个人数据(同样,不用说,SNP Glue 不仅如此,而且通过原生SAP 集成还可以做到这一点)。
SNP Glue涵盖了所有类型的数据目标。我们的解决方案最初是为了将SAP与基于Hadoop的数据湖集成而构建的,现已发展到涵盖anyDB和anyCloud:
-
anyDB, i.e. Oracle, SAP DB, SAP ASE, SAP IQ, Microsoft SQL Server, DB2, DB4, DB6, …
-
anyCloud, i.e. AWS (e.g. redshift), Azure (e.g. Azure SQL), GCP (e.g. BigQuery), and Snowflake
-
anyTargets, 更多数据源和数据目标平台将在下期介绍中阐述
最后,关于如何安装和部署SNP Glue。这相当简单:SNP Glue 部署为基于 ABAP 的插件,适用于所有类型的 SAP 部署:
经典的SAP本地部署安装
托管SAP以及基于私有云的SAP 安装
SAP Rise
与此同时,我们正在推出其他功能,以最小的SAP占用空间添加基于云原生的本机部署,以及原生非SAP功能,以便能够利用SAP Netweaver以外的数据源,具有极大的灵活性和可扩展性。