What’s new in SAP HANA SPS12 – Smart Data Access
The SPS12 release is upon us, and with it a few great new features for SDA: Kerberos constrained delegation, UPSERT support, ROW_NUMBER support, performance optimizations and more.
What is SAP HANA Smart Data Access?
For those of you not so familiar with SDA, it has been available as a part of SAP HANA since SPS6 and gives you the power to expose data from remote sources as virtual tables in SAP HANA. This is a huge advantage compared to traditional ETL processes in many situations as it is gives you a cost-efficient, easy-to-deploy option to get real-time data visibility across fragmented data sources. Not to mention the advantage it brings in terms of location agnostic development when building applications on HANA which need to leverage data from multiple sources.
Image 1: SAP HANA SDA overview
New SPS12 Features
Kerberos constrained delegation is one of the single sign-on (SSO) mechanisms that is supported by HANA. New in SPS12 is the ability to leverage Kerberos in HANA to HANA SDA scenarios. This means one less password to remember when accessing data from remote HANA systems, enhanced security, and a smoother workflow. There are a few changes that need to be made to configure Kerberos for SDA user cases, they include: Kerberos/Key Distribution Center (KDC) configuration, Smart Data Access configuration, and changes to SAP HANA users themselves. You can find an overview for how to configure Kerberos in this SCN documentation and detailed instructions for how to configure it in SAP Note 2303807.
Also new in SPS12 is support for the use of two SQL functions with virtual tables: UPSERT and ROW_NUMBER. UPSERT adds to the already supported write functions: INSERT/UPDATE/DELETE and is currently supported for HANA to HANA, SAP IQ, ASE, Teradata, and Microsoft SQL Server. You may find it comes in particularly handy in IoT use cases where you have a lot of events and tables that need to be updated. ROW_NUMBER is useful for high volume processing in BW, and allows for parallel fetching of data. It is currently supported for HANA to HANA, SAP IQ, Teradata, Oracle, and Microsoft SQL Server.
As of SPS11 SAP HANA SDA can leverage both native SDA adapters as well as SAP HANA Smart Data Integration (SDI) adapters to access even more 3rd party remote sources and their versions than ever before. Since SDA is a HANA Core feature, SDI adapters have been made available for SDA use cases at no additional cost. Please do keep in mind that unless SAP HANA SDI is included in your license agreement this does not entitle you to use SDI adapters for any other purpose than SDA.
Let’s say you have a running project where you have a SDA remote source defined and you have a lot of virtual tables and HANA views on top of it. It would be pretty painful to drop this remote source since all of the depending virtual tables and views will be dropped as well. So what you can do, and what has been supported since SPS11, is to convert this SDA remote source into an SDI remote source. New with this SPS12 release is a supported conversion for the Teradata adapter. Apart from the clear advantage of accessing more remote source versions, another advantage of converting the adapter includes that if the ODBC drivers of the remote sources are unreliable it does not affect the core database. Before converting SDA adapters to SDI adapters, you need to ensure that the Data Provisioning (DP) server has been started and that the DP Server Adapters (SDI adapters) have been configured. This Hana Adapter SDK - Setup may be useful as a starting point for how to configure SDI adapters.
Image 2: Supported conversions of SDA adapters to Data Provisioning server (SDI) adapters.
Finally, with the SPS12 release we also have some enhancements in HANA to HANA performance and functionality. We have added support for alphanumeric data types which will have improvements on query execution and optimization. Enterprise Semantic Search (ESS) is also supported for doing searches over data in virtual tables. This is part of the broader ESS project with the goal of being able to access and search data stored in remote systems. Last but certainly not least, we have also made significant “under the hood” enhancements in HANA to HANA performance. We are not no longer converting from HANA structures to ODBC structures and back to HANA structures. The data is now transferred in a compressed format using LZW lossless compression. The improvement is especially notable for queries containing a large number of tuples.
Thanks for reading this post on what's new in SDA SPS12. Comments and questions are welcome.