What is HANA?

HANA

Index

HANA is a Relational Database Management System(RDBMS) created by SAP. HANA as a word is however used in many contexts e.g. as a platform, development or business environment, ERP core system etc. HANA also enables OLTP and OLAP systems in a single box.

Well, That’s not it! HANA is RDBMS at the core however it is also emerging as a core of Business, Development, 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 in contrast with conventional databases which rely on Hard disk for the same purpose. This makes system super fast as there is no need to do a round trip to slow Hard disk for data and 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 which are an abbreviation for Atomicity, Consistency, Isolation, and durability.

Column-Oriented database/Data compression

HANA 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 and 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 which sits on top of read optimized and sorted main storage. Delayed insert is used to boost performance.

2. Application Services

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

Application service is made available via either of Classical ABAP application server, the Gateway server for oData protocol, Frontend server for UI5 screens, XS server for direct database consumption etc.

3. Integration

HANA supports streaming and Data virtualization, which is required 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. Successfactor, Ariba, Fieldglass, Concur etc.

Index

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s