Saturday, 29 September 2018

What the heck is SAP HANA? (Beginners Tutorial 1)

Hello guys, as you know, I'm Kindson The Genius and I'm always here to keep you up to date with new technologies.

Today, we are going to be looking at SAP HANA. My problem with some technologies is that the terms used tend to make the concept look tough whereas it is simply something you already know.
Watch SAP HANA Video
So let's get started!

We are going to cover the following:
1. What is SAP HANA?
2. Features of SAP HANA?
3. SAP HANA Architecture
4. Regular Database vs SAP HANA
5. SAP Native HANA vs Non-Native HANA
6. How to Load Data to SAP HANA
7. Advantages of SAP HANA Extended Services (XS)

1. What is SAP HANA?

SAP HANA is defined as 'a column-oriented in-memory relational database management system developed and managed by SAP'.
It is database technology in 2010 but have become very popular over the years.

Note the following points:
In-Memory Database: this means that most of the data computation are done in-memory as opposed to reading from a database store in a disk.
Platform offered as an appliance and as a cloud offering: This means that it has an embedded application server which is used for control-flow logic so it can be called a platform
Is an Application: As an application, it also have an embedded web server and can be accessed via http just like any other web application

2. Features of SAP HANA

SAP HANA has the following features:
In-Memory database: This simply means that tall the operations (read, write, update, delete) happens in the memory
Column Stores: This means that data tables are stored by columns rather than by rows. This method allows for massive compression and data partitioning. Column storage improves performance since as secondary indexed need not be created. We would discuss in later tutorials.
Parallelism: SAP HANA makes used of parallel processing across CPU's
Projections: This means that you only choose only the columns we want to analyse and run the queries on them in-memory
Dynamic Aggregation: No need of aggregates. Aggregation is done on the fly (eg; totals, averages etc) are computed on the at runtime and need not be saved in the database. This saves space and improves performance
Active and Passive storage: Only used the data with is active. You don't have all the data in memory. For example, only data for the current fiscal year is placed in memory at a time.
Real time analysis: This is made possible with SLT (SAP Landscape Transformation). This allows for table-to-table mapping.
SQL Script: Support SQL script for analysing data

3. SAP HANA Architecture

The SAP HANA architecture is shown in Figure 1
At the lowest level of the architecture is  the various data sources: SAP Business Suite, SAP. Data comes from these sources into SAP HANA.
At the uppermost level is the various tools used for reporting such as the SAP BusinessObjects and other applications.

At the core of HANA,  we have the following:
  • In-Memory Computing Engine and the Calculation and Planning Engine. These are the components that performs the logic.
  • Modelling Studio is used to create data models.
  • Data services is used for data transformation and handling of data between HANA and data sources.
  • Real-time Replication Services provide features to ensure data availability and replication

4. Regular Database vs SAP HANA

The Figure 2 illustrates the difference between the regular database systems and SAP HANA.
In regular database systems data is transferred from the database layer to the application layer where the data-intensive logic is performed. And then data is transferred back to the database layer from the application layer.

In SAP HANA, we have the XS engine which combines the database and the control flow logic into one single layer. The data-intensive logic is performed in the database and a very light-weight engine, XS(Extra Small or Extended Services) which manages the control flow logic.

5. SAP Native HANA vs Non Native HANA

SAP Native HANA refers to the HANA architecture where both the database and the application server logic are executed inside of HANA

Non-Native HANA refers to when data intensive logic and the application server logic from SAP HANA  are combined with other application servers such as ABAP, .Net and Java. These are located outside of HANA and connect with HANA using open standard interfaces such as ODBC and JDBC.

6. How to Load Data to SAP HANA

Data can be loaded into SAP HANA via the following ways:
  • SLT: This stands for SAP Landscape Transformation which is table to table real-time transformation
  • BODS: This stands for Business Objects Data Services
  • DXC: Direct Extractor connection which uses standard datasources of SAP.
  • Flat File: Data from flat files (csv or xls)

7. Advantages of SAP HANA Extended Application Services (XS)

SAP HANA Extended Application Services offers the following benefits:
  • It enables and improves application development process
  • Possible to use http-based UI
  • Give a wider implementation base
  • Better performance of application due to deep integration with database
  • Runs on SAP HANA
  • Requires no external application server (uses inbuilt app server)

In the next we would then dive into SAP HANA using the SAP HANA Studio. Continue to Part 2. Thanks for reading.
Watch the SAP HANA Video