文章翻译自Tushar Sharma的文章,转载请注明原做者和译者!html
Let's Start !!数据库
数据模型是应用程序开发的基石。它们为跨系统定义和格式化数据库内容提供了一种标准化方法,使不一样的应用程序可以共享相同的数据——下降开发成本,加快上线时间,并提升质量和性能。
那些熟悉ABAP领域应用程序开发的人对SAP NetWeaver Application Server AS ABAP中包含的传统数据建模工具应该并不陌生——特别是存储了对象定义的ABAP数据字典(DDIC),例如abap程序中用到的数据库表和视图。而随后出现了SAP HANA和将数据密集型逻辑下推到数据库层的新范式。
虚拟数据模型(VDM)的概念是几年前在HANA Live中引入的,SAP HANA Live是一个在套件表之上的虚拟数据模型,它使用被称为计算视图的本地SAP HANA SQL视图进行实时操做报告。
这带来了一些挑战:安全
也许吧,若是咱们没有核心数据服务(CDS)的话。服务器
''Core Data Services to build design-time data-persistence models''
“构建设计阶段数据持久性模型的核心数据服务(CDS)”
它是一个基础结构,数据库开发人员可使用它来建立应用程序服务向UI客户端公开的底层(持久)数据模型。[连接]架构
为了利用SAP HANA进行应用程序开发,SAP引入了一个新的基础数据建模,称为核心数据服务(CDS)。使用CDS,数据模型是在数据库服务器上定义和使用的,而不是在应用程序服务器上。CDS还提供了超越传统数据建模工具的功能,包括对概念建模和关系定义、内置功能和扩展的支持。最初,CDS仅在SAP HANA的设计时和运行时环境中可用。如今,CDS概念在SAP NetWeaver中做为ABAP也获得了充分的实现,使开发人员可以在将代码执行下推到数据库的同时,使用ABAP开发工具在ABAP层工做。
CDS简化和统一了定义和使用数据模型的方式,无论你用的是那种消费技术。从技术上讲,它是对SQL的加强,为您提供了一种数据定义语言(DDL),用于定义语义丰富的数据库表/视图(CDS实体)和数据库中的用户定义类型。包括:dom
ABAP和HANA平台都支持CDS !
事实上,在我看来CDS是SAP近年来在数据建模领域最野心勃勃,最使人兴奋的发展。你终于能够以相同的方式(语法、行为等)定义和使用数据模型,不论是在ABAP平台仍是在HANA平台。当我想到CDS时,脑海中总会出现这样一句话:“一个数据模型能够统治全部的数据”。
除此以外,Horst Keller的博客描述了两种不一样风格的CDS。
Core Data Services – One Concept, Two Flavors
在浏览了上述博客以后,咱们了解到CDS能够以两种不一样的方式编写,并使用SAP 在NetWeaver AS ABAP 7.4 SP5版本中为了使ABAP开发人员可以利用HANA功能而引入的“代码下推”(Code Pushdown)技术。在代码下推技术中,全部的计算都在数据库层而不是应用层执行,这使得数据可以快速地检索,减小应用程序的执行量。
ide
CDS的架构以下所示:函数
下面是关于ABAP特定版本的CDS功能变动的概述。
详细可参考-Feature Matrix工具
序号 | 版本 | 变化 |
---|---|---|
1 | In ABAP 7.40, SP05 | 引入CDS视图 |
2 | In ABAP 7.40, SP08 | CDS注释 |
带有参数的CDS视图 | ||
CDS视图加强 | ||
表达式和函数 | ||
关联的链接类型 | ||
带有筛选条件的路径表达式 | ||
根据固定的域值进行检查 | ||
3 | In ABAP 7.40, SP10 | CDS的访问控制 |
4 | In ABAP 7.50, SP00 | CDS表函数 |
会话变量 | ||
带有输入参数的CDS视图 | ||
输入参数注释 | ||
关键字段 | ||
评估注释 | ||
关联发布 | ||
扩展 | ||
5 | In ABAP 7.51, SP00 | 集团处理 |
交叉链接 | ||
更全面的注释 |
更多的变化能够自行查阅官方文档性能
@AnalyticsDetails.aggregrationBehaviour SUM() Substring() [SQL functions]
CDS实体和它们的元数据是可扩展的,而且最佳地集成到ABAP数据字典和ABAP语言中。