Smart Data Access
One of main challenges that companies are facing today are
1. Get information in real time to make quick decision on time
2. At the same time, we need to keep control over cost for IT and Technology.
Keeping Business need in view, SAP has introduced Smart Data Access in SAP HANA which is
a Virtualization Technique. This feature is introduced from SPS6 in SAP HANA.
What is Smart Data Access?
SAP HANA smart data access enables remote data to be accessed via SQL queries as if they are
local tables in HANA, without copying the data into SAP HANA.
Not only does this capability provide operational and cost benefits, but most importantly it
supports the development and deployment of the next generation of analytical applications which
require the ability to access and integrate data from multiple systems in real-time regardless of
where the data is located or what systems are generating it.
Key Concept of SAP HANA Smart Data Access
Smart Data Access is a technology which enables remote data access as if they are local tables in
HANA without copying data into SAP HANA.
It is based on local virtual tables that maps to an existing object at the remote data source site.
Data required from other sources will remain in virtual tables. Virtual tables will point to remote
tables in different data sources. It will enable real time access to data regardless of its location
and at same time, it will not affect SAP HANA database.
Customers can then write SQL queries in SAP HANA, which could operate on virtual tables.
The HANA query processor optimizes these queries, and executes the relevant part of the query
in the target database, returns the results of the query to HANA, and completes the operation.
Restrictions on usage of Smart Data Access:
Data in virtual tables cannot be modified i.e. insert, update and delete operations are not possible
on virtual tables. However, we can do select on virtual table and put data in HANA table.
Virtual table does not support BLOB/CLOB data type. Workaround of this problem is to create
view on remote table by excluding column of BLOB/CLOB type and then create virtual table
with the help of view.
Virtual Tables cannot be used in multi node HANA cluster. However, it is possible to access
virtual table from one HANA server to other.
Some analytical view does not support virtual tables.
Expand BEST system<-catalog<-expand BEST schema<-right click on tables<-see new virtual
table
Close catalog and expand provisioning<-we see smart data access
Expand remote sources
Expand remote sources<-select new remote source
Click on adapter name<-we can connect to any of the following adapter names
Right click on remote source<-select new remote source
Provide source name, adapter name, server name, port number, user name and password
Click on save
Now, we see the source system
Click on save this editor
Right click on remote source<-click refresh, now we can see new source
“HANA_LOCAL_INDIA5” is created
Go to catalog<-BEST schema<-tables<right click on tables<-click on new virtual table
Give the table name and schema type and then click on browse
Upon clicking browse, expand source system<-null<-schema<-select sales and click on ok
Click on save this editor
Upon clicking on save this editor, we can see HANA_LOCAL_INDIA5_SALES
HANA_LOCAL_INDIA5
Now, we need to use the source table in the calculation view, in order to create calculation view,
we need to create a package first, so right click on content<-new<-click on package
Provide details and click on ok
Right click on package “SDA111”<new<-select calculation view
Provide details and click on finish
Drag and drop the source table onto the workspace
Drag and drop projection onto workspace
Drag and drop the source system into the projection
Select region_id, prod_id and sales_amt in the source system table
Link a join between projection and aggregation
Click on aggregation and select the columns from the table
Click on semantics
Save and validate<-save and activate
Assign objects to change and click on finish
Click on data preview
Click on raw data
The data in cache memory is empty, so calculation view request data virtual table. The virtual
table gets data from source table to connection, then to calculation view through connection itself