SAP-HANA
SAP HANA Tutorial: SQL Script
What is SQL Script? SQL Script is a collection of extensions to SQL. It can be used in stored...
SAP HANA Database is Main-Memory centric data management platform. SAP HANA Database runs on SUSE Linux Enterprises Server and builds on C++ Language.
SAP HANA Database can be distributed to multiple machines.
SAP HANA Advantages are as mentioned below -
SAP HANA Database consists of a set of in-memory processing engines. Calculation engine is main in-memory Processing engines in SAP HANA. It works with other processing engine like Relational database Engine(Row and Column engine), OLAP Engine, etc.
Relational database table resides in column or row store.
There are two storage types for SAP HANA table.
Text data and Graph data resides in Text Engine and Graph Engine respectively. There are some more engines in SAP HANA Database. The data is allowed to store in these engines as long as enough space is available.
In this tutorial, you will learn-
Data is compressed by different compression techniques (e.g. dictionary encoding, run length encoding, sparse encoding, cluster encoding, indirect encoding) in SAP HANA Column store.
When main memory limit is reached in SAP HANA, the whole database objects (table, view,etc.) that are not used will be unloaded from the main memory and saved into the disk.
These objects names are defined by application semantic and reloaded into main memory from the disk when required again. Under normal circumstances SAP HANA database manages unloading and loading of data automatically.
However, the user can load and unload data from individual table manually by selecting a table in SAP HANA studio in respective Schema- by right-clicking and selecting the option "Unload/Load".
SAP HANA Server consists of
SAP HANA Database Main server are index server. Detail of each server is as below-
Below is the architecture of Index Server.
SAP HANA Index Server overview
This server is used in Text Analysis and extracts data from a text when the search function is used.
This Server contains all information about the system landscape. In distributed server, the name server contains information about each running component and location of data on the server. This server contains information about the server on which data exists.
Statistic server is responsible for collecting the data related to status, resource allocation / consumption and performance of SAP HANA system.
XS Server contains XS Engine. It allows external application and developers to use SAP HANA database via the XS Engine client. The external client application can use HTTP to transmit data via XS engine for HTTP server.
"HANA" mean High Performance Analytic Appliance is a combination of hardware and software platform.
Below are SAP HANA Innovation in the field of Hardware/Software.
There are two types of Relational data stores in SAP HANA: Row Store and Column Store.
Row Store
Column Store
Read and write operation performance optimized with below two data structure.
Main Storage
Main Storage contains the main part of data. In Main Storage, suitable data compression Method (Dictionary Encoding, Cluster Encoding, Sparse Encoding, Run Length encoding, etc.) is applied to compress data with the purpose to save memory and speed up searches.
We can manually load data in Main memory by option "Load into Memory" and Unload data from Main memory by "Unload from Memory" option as shown below.
Delta Storage
Delta storage is used for a write operation and uses basic compression. All uncommitted modification in Column table data stored in delta storage.
When we want to move these changes into Main Storage, then use "delta merge operation" from SAP HANA studio as below –
Process of moving Data from Delta to Main Storage during delta merge
There is a buffer store (L1-Delta) which is row storage. So in SAP HANA, column table acts like row store due to L1-delta.
So, Column storage is both Write-optimized and Read-optimized due to L1-Delta and main storage respectively. L1-Delta contains all uncommitted data. Committed data moves to Main Store through L2-Delta. From main store data goes to the persistence layer (The arrow indicating here is a physical operator that send SQL Statement in Column Store). After Processing SQL Statement in Column store, data goes to the persistence layer.
E.g. below is row-based table-
Table data is stored on disk in linear format, so below is format how data is stored on disk for row and column table -
In SAP HANA memory, this table is stored in Row Store on disk as format –
And in Column, data is stored on disk as –
Data is stored column-wise in the linear format on the disk. Data can be compressed by compress technique.
So, Column store has an advantage of memory saving.
Sizing is a term which is used to determine hardware requirement for SAP HANA system, such as RAM, Hard Disk and CPU, etc.
The main important sizing component is the Memory, and the second important sizing component is CPU. The third main component is a disk, but sizing is completely dependent on Memory and CPU.
In SAP HANA implementation, one of the critical tasks is to determine the right size of a server according to business requirement.
SAP HANA DB differ in sizing with normal DBMS in terms of –
The Application server CPU and application server memory remain unchanged.
For sizing calculation SAP has provided various guidelines and method to calculate correct size.
We can use below method-
By using Quicksizer tool, Requirement will be displayed in below format-
What is SQL Script? SQL Script is a collection of extensions to SQL. It can be used in stored...
Download PDF 1) Mention what is SAP HANA? SAP HANA stands for High Performance Analytical...
What is SAP HANA Information composer? SAP HANA Information composer is a web application that...
What is SAP HANA Studio? SAP HANA Studio is an Eclipse based, integrated development environment (IDE) for...
What is SAP HANA DXC? SAP HANA DXC is batch driven data replication technique i.e. it can execute...
What is DATA Provisioning? DATA Provisioning is a process of creating, preparing, and enabling a network...