SAP HANA is an acronym which stands for High-Performance Analytic Appliance.
In-memory database are also called Main Memory Database System and it relies on Main Memory (RAM) for Computer Data Storage.
A Relational Database is a DBMS which utilizes the Primary Key & Foreign Key relationship.
A Column-Oriented DBMS is a Database system that stores data by column rather than row.
Let us understand the concept of Column Oriented DBMS using an example.
If we have employee details of 3 Employee in our system, as follow:
|Row ID||EMP ID||NAME||SALARY|
Row Oriented System:
In row oriented system, it will be saved as follows (It will not be saved as shown, because real database systems save it in serialized manner):
|001: 1231, BARRY ALLEN, 50000;|
|002: 1232, OLIVER QUEEN, 60000;|
|003: 1233, JAMES BOND, 70000;|
Now if I have to make a search on the basis of SALARY, it will search whole system for that, which is okay in case of low data but slow in case of abundant data. In that case Row Oriented System make Indexes on basis of column as shown below:
The Indexes are faster, the only demerit is that for every column An Index will be required, which will acquire more data in database.
Column Oriented System:
In column oriented system, it will be saved as follows:
|BARRY ALLEN:001, OLIVER QUEEN: 002, JAMES BOND:003;|
|50000:001, 60000:002, 70000:003;|
In above example, every row has same type of data i.e. on the basis of column.
One point to observe is: “In a row-oriented indexed system, the primary key is the Row ID that is mapped from indexed data. In the column-oriented system, the primary key is the data, which is mapped from Row ID”.
So, if we want to do a search on basis of any column, the searches will be faster as it will be searched only in a single row.
How to Access SAP HANA:
SAP HANA utilizes Raw/Open SQL to communicate with database as well as utilizes “ABAP for HANA” which is newer version of ABAP that runs on HANA.