HANA

SAP HANA is a famous column-oriented, in-memory DBMS developed by SAP SE.

History

The early development of SAP HANA was based on TREX search engine, P*Time, and MaxDB. It was mainly designed for the real-time data analytics and aggregation at first. SAP HANA also offers Platform as a service on multiple cloud providers currently. In 2016, SAP HANA 2 was released, which can also support Earth Observation Analysis and Text Analysis, apart from pdatabase and application management.

Concurrency Control

Multi-version Concurrency Control (MVCC)

SAP HANA supports Multi-version Concurrency Control as the default mechanism to ensure data consistency. When one user connects to the database, a snapshot is provided for each user. The changes from one writer can only be seen by others after transactions are committed. No rollback segment is supported for the insert method. Both distributed locking with a global deadlock detection mechanism and distributed snapshot isolation are supported in SAP HANA to achieve synchronization. Moreover, one optional background garbage collection thread is also supported.

Indexes

B+Tree Hash Table

SAP HANA supports various indexes, which contain B+ tree, Compressed Prefix-B+ Tree, and Inverted index.

Checkpoints

Fuzzy

SAP HANA supports fuzzy checkpoints, where any updates are still stored in storage snapshots even if transactions are not committed. Extra work are needed to remove those updates. Moreover, SAP HANA also supports encrypted snapshots when database is encrypted first.

Data Model

Column Family / Wide-Column

SAP HANA is based on the columnar structure, where data are stored in columns to minimize the storage footprint, since repeating values are only stored once. It is easier to change other structures to columnar structure in SAP HANA, because memory is much faster.

HANA Logo
Website

https://www.sap.com/products/hana.html

Tech Docs

https://www.sap.com/developer/topics/sap-hana.resources.html#resources

Developer

SAP SE

Country of Origin

DE

Start Year

2010

Former Name

SAP High-Performance Analytic Appliance

Project Type

Commercial

Written in

C++

Supported languages

Scala

Derived From

MaxDB, P*TIME

Operating Systems

Linux

Licenses

Proprietary