文章翻譯自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語言中。