Performance considerations when using ABAP Core Data Services on AnyDB
With ABAP Core Data Services (CDS), SAP has considerably enhanced the data abstraction layer of its ABAP platform.
ABAP CDS makes it easier to define semantically-rich data models which can be used for easy data access for different type of applications, i.e. search, analytical and transactional applications.
The structures of such data models are mapped to hierarchies of database views that allow pushing application logic down to the database layer. With this approach, data processing is done where the data resides, and thus response times are basically shortened.
Programs using ABAP CDS may produce significantly more complex SQL statements than traditional OLTP-type applications. With increasing complexity, SQL performance becomes less predictable. Response times of such data-centric applications can vary to a large degree, depending on the amount of data to be processed, data selectivity and finally the ability of the underlying database to optimally execute complex statements. It is hardly possible to transfer performance measurements from one vendor database to another.
To make sure that performance meets expectations, it is therefore highly recommended to run specific (i.e. non-generic) applications tests with realistic data in terms of volume and selectivity on each targeted database platform. Where platform individual tuning does not lead to desired response times, application code or object structures may have to be adjusted.
- ABAP CDS – Performance Note, ABAP Keyword Documentation, SAP Help Portal
- ABAP CDS in ABAP Dictionary, ABAP Keyword Documentation, SAP Help Portal
- ABAP – Release-specific Changes, ABAP Keyword Documentation, SAP Help Portal
- Getting Started With ABAP CDS, SAP Community
- Getting Started with ABAP programming Model for SAP Fiori Apps, SAP Community
thanks for this blog. From my point of view and the experiences we made (and I also heard of) this information was kind of overdue, as CDS Views on Non-HANA DBs are full of surprises (and they are often not positive). However, due to the fact that CDS Views were introduced as database-agnostic, the (perhaps naive or optimistic) expectation of the developer was that they perform nearly as decent on anyDB as they do on SAP HANA.
Nevertheless, this essential information is available now, I do not think that providing it via a community blog is the right way or at least not the only way it should be promoted: it must definitely be part of the official keyword documentation at the very first section as a BIG disclaimer/warning for the developers making use of it. In addition some further information about known issued/limitations might also be helpful
we are planning to release a similar note with the next update of the ABAP Keyword Documentation.