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.
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.
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.
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 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.
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.