首页 / 资讯中心 / 文章详情

SAP CDS 数据建模性能指南,模型复用越强,越要警惕复杂度失控

SAP CDS 数据建模性能指南,模型复用越强,越要警惕复杂度失控 ★ FEATURED ARTICLE
在SAP S/4HANA项目里,经常会遇到一种很有诱惑力的设计方式。系统里已经存在一个CDS View Entity,它包含销售订单抬头、项目、客户、物料、公司代码、销售组织、工厂等信息。新的业务需求又需要其中一部分字段,于是直接基于这个CDS再建一层。过几天又来了新的Fiori页面,再基于第二层继续建第三层。后来为了给OData服务使用,又加一个 projection。为了报表需求,再叠一层聚合。为了扩展字段,再关联另外几个标准CDS。从代码层面看,这样做甚至很漂亮。每个CDS都不算长,职责似乎也比较清晰,而且贯彻了SAP Virtual Data Model强调的复用思想。可到了生产系统,事情开始变得奇怪,一个看起来只有几十行的查询,真正交给SAP HANA的 SQL 却可能已经包含十几层甚至几十层依赖、多个JOIN、表达式、聚合以及访问控制条件。问题并不一定发生在某一个CDS上。真正需要观察的,是整个数据模型展开以后究竟有多复杂。SAP当前关于ABAP Data Models的性能文档也明确强调,CDS的强项之一就是可以像关系一样再次被其他CDS使用,通过多层堆叠逐渐建立复杂应用模型。但随着表达式、函数、访问控制以及多层依赖
阅读完成 · 觉得有帮助?
咨询建站