What is HANA?

What is HANA

Index

HANA is a Relational Database Management System(RDBMS) created by SAP. HANA as a word is used in many contexts. For instance, this works “As a platform”. This is also used as development and business environment. This also refers to an ERP core system. It also enables OLTP and OLAP systems in a single box.

HANA on a high level has 2 variants: On Premise version and Cloud version. Both have same in-memory database. Therefore, a good performance database is promising factor for business.

Well, That’s not it! This is RDBMS at the core. In addition, it is also emerging as a core for enterprises, Development community, and innovation platforms.

SAP HANA Platform - Services
SAP HANA Platform – Services

There are many factors which distinguish HANA from its predecessor:

1. Database Services:

HANA is In-Memory Database(IMDB)

In-memory databases rely on main memory for data storage. This is in contrast to conventional databases which rely on Hard disk for the same purpose. In other words, this makes system super fast as there is no need to do a round trip to slow Hard disk data read. This substantially reduces execution time.

Speed and Size of different types of memories: With HANA appliance, use of Hard disk is used for other purposes e.g. Archiving.
Speed and Size of different types of memories: With HANA appliance, use of Hard disk is used for other purposes e.g. Archiving.

HANA, just like other commercial RDBMS, support ACID properties. ACID stands for Atomicity, Consistency, Isolation, and durability.

Column-Oriented database/Data compression

Underlying database by default stores data in column manner storage. Column storage facilitates to a better data compression. At the same time, aggregation and reporting become faster than classical row storage.

Transaction Code SE11 - Allows defining Storage type Column Store and Row store of a Transparent Table
Transaction Code SE11 – Allows defining Storage type of a Transparent Table

At the same time, HANA SQL allows below syntax for creating COLUMN tables:

CREATE COLUMN TABLE EMPLOYEE ( 
                                               EMP_ID INTEGER, 
                                               EMP_NAME VARCHAR(64), 
                                               ADDRESS VARCHAR(128), 
                                               PRIMARY KEY (EMP_ID) );

If we try it on a very fundamental level, Row and Column storage in HANA, are something like below:

HANA Row Storage architecture
HANA Row Storage architecture

With Row storage, if “ALL” salaries to be read for aggregation (e.g. Average, Sum etc.). Memory navigation for each salary goes through Index > Emp# > Emp Name > Salary which is time taking in contrast to Column storage.

HANA Column Storage architecture
HANA Column Storage architecture

With Column storage, if “ALL” salaries to be read for aggregation (e.g. Average, Sum etc.(Memory navigation for each salary goes through Index  > Salary. All salaries can be read in one go without referencing other columns.

Challenge with column storage: Update and Insert operations become very costly. Just seeing above diagrams should clear the reason for it. To overcome this crucial performance bottleneck, SAP uses write optimized, non sorted Delta stores. This is on top of read optimized and sorted main storage. Delayed insert boosts performance.

2. Application Services

HANA is steward for diversified application development environments e.g. ABAP, Java, HTML5/Fiori, Python etc.

Application service is available via:

  1. Classical ABAP application server
  2. the Gateway server for oData protocol
  3. Frontend server for UI5 screens
  4. XS server for direct database consumption etc.

3. Integration

HANA supports streaming and Data virtualization. This is essential for SAP Generation NE><T – IoT(Internet of Things) devices with the technology called “Smart Data Streaming”. With many types of latest and greatest integration technologies, HANA is an ideal candidate for:

  • Big Data analytics.
  • Business Warehouse reporting.
  • Real-time IoT analytics.
  • Deployment options e.g. On-premise or Cloud.
  • Integration with Cloud solutions e.g. Successfactors, Ariba, Fieldglass, Concur etc.

Index

Leave a Reply