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.
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.
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.
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.
At the same time, HANA SQL allows below syntax for creating COLUMN tables:
CREATE COLUMN TABLE EMPLOYEE (
PRIMARY KEY (EMP_ID) );
If we try it on a very fundamental level, Row and Column storage in HANA, are something like below:
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.
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:
- Classical ABAP application server
- the Gateway server for oData protocol
- Frontend server for UI5 screens
- XS server for direct database consumption etc.
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.