SAP 现代数据仓库佳实践之 HANA SQL 数据仓库
说起数据仓库,大家一定对SAP BW/4HANA耳熟能详了。如果用户想基于SAP HANA自主、灵活地构建数据仓库系统,甚至有的BW客户想要脱离ABAP采用基于SQL的开发方式。那么,如何避免传统数据仓库建设终因数据可信度、数据时效性得不到业务认可而逐渐失去其生存意义?另一方面,如何能够将SAP BW/4HANA系统的数据集成、数据处理流程、元数据与数据质量、LSA++层级架构及数据时效性方面的优势,汲取到基于SQL构建的数据仓库中,以确保数据仓库能够快速交付、长效稳定地运营,为商务智能和决策提供支持?
本篇将从SAP数据仓库战略和方法说起,为您详细介绍基于SAP HANA SQL构建数据仓库的方法和一系列工具,带您快速了解现代数据仓库的 SAP 佳实践。
SAP HANA SQL Data Warehouse是SAP的SQL驱动数据仓库方法产品。它基于SAP HANA 2.0和XS Advanced统一平台,提供了跨越整个数据仓库生命周期(设计、开发、部署)的运行方法和工具。
1、设计和建模
SQL驱动数据仓库,数据模型的开发是核心。面向业务和数据库对象的设计都基于相应的数据模型。SAP HANA SQL数据仓库使用SAP PowerDesigner(简称为PD) 建模。对于数据源和层级模型,可利用PD的逆向工程功能及对广泛的数据源的支持,将相应源系统的数据结构生成物理模型,并用于派生后续阶段的数据结构。对于分析模型通常作为计算视图供用户访问,在PD中可使用HANA计算视图虚拟建模,同时也支持多维立方体的建模。所有的模型通过映射(mapping)相互连接,由SAP PD的链接和同步机制保持清晰的模型之间的关系,提供了模型比较、数据沿袭分析等能力。
PD模型对象生成HANA HDI资源
在PD中开发的模型对象,如表/虚拟表、视图、原生的数据存储对象(NDSO) 、数据流模型(Flowgraph)、及HANA CDS均可直接生成HANA Deployment Infrastructure(简称HDI)兼容的部署资源文件,并导入开发工具进行后续开发。PD既可生成ZIP文件包再由Web IDE导入,也可先签入到Git库,然后由Web IDE签出。
在传统的开发模式中,数据架构、ETL工程、模型间的数据处理等不同任务角色,使用不同工具直接在数据库上进行开发。很难做到相互协同和版本的管理。SAP HANA SQL数据仓库基于XS Advanced和HDI容器环境,集成Git版本管控,让不同开发人员在各自的容器中基于一致的版本平行进行开发测试。
SAP Web IDE for HANA(Web IDE)是与XS Advanced一起发布的基于浏览器的统一低代码开发工具。借助拖放组件、模板和向导等功能强大的工具,业务分析师和设计师可以构建自己的模型和应用程序。基于SAP HANA开发的应用由多个模块组成,通常包括一个数据库模型、一些业务逻辑(用Java或Node.js等服务器端编程语言编写)和一个UI应用。数据库模型由基表上的数据聚合、过滤和投影逻辑组成,使用CDS规范语言和丰富的计算视图进行设计。
Native DataStore Object (NDSO)
数据仓库的一项重要任务是整合和清理不同来源和特性的源数据,需要灵活稳定的增量/全量/回滚处理机制和全面的监控功能。SAP BW/4HANA提供ADSO作为中心存储对象,提供了开箱即用的功能。而在SAP HANA DWF中,通过HANA原生SQL对象NDSO提供这些功能。在Web IDE中可通过DWF模板快捷地创建NDSO,模板将自动为项目生成HDI数据库模块、DWF模块和包含后端逻辑的node.js模块内容。
基于模板的可视化NDSO设计
Data Lifecycle Management(DLM)
Data Warehouse Scheduler (DWS)
Flowgraph用来设计数据的转换处理和移动过程,包括源和目标间的结构映射关系和转换的规则。HANA SQL数据仓库中使用Flowgraph开发各阶段模型间的数据流动模型,通过DWF 的Scheduler 维护数据处理任务之间的依赖关系,配置数据仓库模型的Flowgraph、NDSO数据激活任务,和DLM数据分层任务(自动生成的HANA存储过程) 的执行。
SQL DW中的处理链
3、数据仓库部署
4、数据仓库运行
除了SAP HANA作为数据平台的运行管理功能以外, 通过HANA DWF组件提供了特定的数据管理工具,支持大规模的HANA数据仓库场景。Data Warehouse Scheduler(DWS)和Flowgraph开发的Task Chains,可通过DWS进行调度执行,并通过Data Warehouse Monitoring(DWM)监控。
DW监控 (DWM)
HANA DWF中的Data Distribution Optimizer (DDO) 用于管理横向扩展的SAP HANA中的表、分区和应用的分布。DDO可以分析系统中查询的表关联路径,提供创建和调整表分组的建议,可视化的方式创建、调整和模拟不同的数据重组计划:
1、在SAP HANA上集成了所有数据仓库(DW)的功能
构建SAP HANA SQL DW所需的所有工具都是SAP HANA平台的一部分:
数据集成:通过智能数据集成(SDI)、智能数据访问(SDA)和流数据分析(HSA)访问和导入源数据。支持SAP应用层数据集成。
数据存储和计算:利用强大的SAP HANA平台作为数据存储和计算机引擎,可充分利用HANA企业级功能选项。
数据仓库的设计:使用SAP PowerDesigner对DW进行建模,实现模型的统一管理和数据沿袭的分析。
数据仓库的开发:带有DW Foundation插件的Web IDE,集成的环境中实现数据定义、数据转换、调度和数据预览等开发活动。
2、汲取了SAP BW数据仓库系统的优势特性
SAP HANA 2.0 SPS01发布的SAP HANA DW Foundation,为SAP HANA SQL数据仓库方法提供了一组佳的数据仓库自动化服务。
NDSO:为数据集成提供增/全量数据加载机制,支持回滚/删除数据集,提供完整的跟踪监控报告。大大简化数据集成开发,并确保数据一致性。
DDO:针对SAP HANA横向扩展系统提供数据分布重组的规划、调整和分析。
DLM:确保数据可用性级别条件下按成本优化的方式自动化数据存储管理。
DWS:维护数据仓库模型和流程依赖并调度执行。
DWM:监控数据仓库当前和过去的活动,如任务链的执行。
3、支持DevOps流程的敏捷开发
首先,通过SAP HANA HDI容器环境隔离了不同人员和团队的空间,减少了冲突的可能性。
其次,Web IDE集成GIT,提供了团队协作开发和版本管理,如“分支”。
第三,支持发布和部署开源工具集成。如Jenkins可以用来设置自动化部署和测试。
这些技术使您能够在具有持续集成、持续测试和持续部署的DevOps模式下工作:
缩短系统上线时间
提高部署的频率
缩短修复之间的交付周期
自动化重复任务
基于工具的开发流程
4、开放标准
SQL数据仓库纯粹基于SQL 的工具进行开发和执行。这将HANA SQL方法与基于ABAP的BW/4方法区分开来。
SAP HANA SQL DW提供了数据仓库开发方法,可以使用支持敏捷开发流程的工具补充数据仓库特定的工具, SAP HANA和XSA平台的开放性支持了将这些工具集成到开发流程中。
5、云就绪
IT团队有SQL技能储备,想充分利用SAP HANA的能力。
主要的数据源来自非SAP系统环境。
寻求基于SQL自主构建数据仓库,或者替换第三方的数据仓库。
在构建数据仓库时强调自定义数据模型的自由度。
想用DevOps风格的敏捷开发特性,实现快速交付与持续迭代。
相关文章