BlueXP Blog

SAP HANA Architecture: Components and Storage Types

Written by Jeff Whitaker, Cloud Data Services | Aug 31, 2020 4:00:00 AM

SAP HANA enables you to store relational column-oriented data in the cloud and on-premises. You can use SAP HANA to store application data and perform advanced analytics, spatial data processing, and extract, transform, load (ETL) processes.

In this post, we’ll explain how SAP HANA works, including architecture components, storage types, and cloud options for SAP HANA. We’ll also show how Azure NetApp Files can help accelerate SAP HANA deployments and reduce development and testing overhead costs.

In this article, you will learn:

What Is SAP HANA?

SAP HANA, also known as HANA, is a relational database management system (RDBMS). It is column-oriented and uses in-memory storage to provide faster access and processing of data than is possible with traditional, persistent storage databases. You can use HANA on-premises or in the cloud.

With SAP HANA, you can:

  • Store and retrieve application data
  • Perform advanced analytics, including predictive and stream analysis
  • Perform spatial data processing
  • Perform extract, transform, load (ETL) processes

Components of SAP HANA Architecture

The SAP HANA architecture includes the following primary components.

HANA client libraries
HANA client libraries are imported into applications and used to connect the application to data engines. Examples of libraries available include the Predictive Analytics Library (PAL) and the Business Function Library (BFL).

SAP HANA Index server
The index server is the primary server, used to store and process data. It contains multiple sub-components, including:

  • Session and transaction manager—validates and creates sessions for users. Once sessions are created, the manager monitors the connection status, including isolation levels and transaction states. It also validates and grants user permissions based on user profiles.
  • SQL/MDX processor—used to process incoming SQL or MDX statements.
  • Data engines—includes multiple engines depending on your configuration. For example, a relational data engine that directs in-memory storage and manages the relationships between tables. A planning engine that generates SQL processing plans according to user requests and is responsible for aggregating data and optimizing performance through parallel processing. A calculation engine that generates object-specific calculation models and applies those models to user-requested data.
  • Repository—used to store outputs from the data engines.
  • Persistence layer—ensures the durability and atomicity of database transactions. It is responsible for saving and serving the committed state of transactions and for maintaining transaction logs.

Name server
The name server contains the topology of your HANA system. It is used to determine which components are active and where data is stored throughout the system.

Preprocessor server
The preprocessor server is a SAP HANA architecture component used by the index server to analyze and extract text data according to user searches.

Statistical server
The statistical server is responsible for checking and analyzing the health of HANA components. It monitors the allocation and consumption of system resources and logs overall system performance.

SAP HANA XS engine
The XS engine is an optional component that you can use to connect HTML or Java-based client applications to HANA via HTTP or HTTPS. It works by transforming HANA’s persistence model into a consumption model for exposed clients.

Update components
HANA systems also include a variety of components used for updating. These include:

  • SAP host agents
  • SAP Solution Manager diagnostic agent
  • SAP HANA Studio Repository
  • Software Update Manager

SAP HANA Storage Types

HANA systems use multiple storage types to process your workloads. The type used is determined by the data and configurations you are using with your database. Typically, HANA determines the appropriate type automatically but you are also able to manually configure storage if necessary.

Column storage
Column storage is the default data storage type in HANA. Using column storage, you can read or write to individual columns in a data row without having to call the entire row. This is one of the factors that makes data retrieval and processing with HANA fast.

Column-based storage enables you to:

  • Analyze application data in real-time
  • Efficiently compress data in tables with large numbers of rows
  • Use full-text indexes for data
  • Use high-performance data markers

Row storage
Row-base storage is the traditional storage method for databases. It is not typically used in HANA because it is a slower system and column-based storage can generally provide the same functionality. Two exceptions are if you need to frequently access single rows of your database or want to use global temporary tables.

Main and delta storage
In your HANA system, you have both a main and a delta storage section; both in your random access memory (RAM). The main storage houses data from completed transactions. Delta storage houses transactions that are pending or in progress.

SAP HANA Shared Storage for Clustered Deployments

When using HANA for clustered deployments, you have the option of either using separate storage with failover reassignment or shared storage resources. Using separate storage works the same as local storage for a single host or machine. The only difference is that if your active host fails, standby hosts are granted access to the failed host’s local storage.

With shared storage, your hosts access a single storage resource through Network File System (NFS) or IBM General Parallel File System (GPFS) protocols. Data, logs, and file storage are visible and accessible to all hosts but logs and data are separated into host groupings. As long as hosts are operating as expected, each writes to its own log and data files. If an active host fails, a standby host takes up the failed hosts files and continues on.

SAP HANA in the Cloud

If you wish to host SAP HANA in the cloud, you have several options to choose from. If you want to use HANA hosted by SAP, you can access it through SAP HANA Enterprise Cloud. This is a private, managed service based on Cloud Foundry.

Alternatively, you can host it on any of the three major cloud platforms. If you wish to take this route, your system is supported as follows:

  • SAP HANA on Azure—you can host on SAP-certified virtual machines (VMs) or bare-metal servers. In Azure, you can either transfer your existing SAP license or license your system through Microsoft.
  • SAP HANA on AWS—you host your system on a combination of Virtual Private Cloud (VPC), EC2, and EBS resources. You have the option of using memory-optimized or standard SAP-certified instances. In AWS, you must bring your own license.
  • SAP HANA on GCP—you host your system on SAP-certified VMs. You can configure your deployment with either a single or multi-host architecture and dynamic storage tiering. In GCP, you must bring your own license.

Efficient SAP HANA Architecture with Azure NetApp Files

Azure NetApp Files is a Microsoft Azure file storage service built on NetApp technology, enhancing Azure with file capabilities for core business applications.

Azure NetApp Files provides enterprise-grade data management and storage for Azure, enabling you to manage your workloads and applications with ease, and move all of your file-based applications to the cloud.

Azure NetApp Files solves availability and performance challenges for enterprises that want to move mission-critical applications to the cloud, including workloads like HPC, SAP, Linux, Oracle and SQL Server workloads, Windows Virtual Desktop, and more.

In particular, Azure NetApp Files can accelerate SAP HANA deployments, reduce costs for development and testing projects, and provide increased agility for your business processes.

Want to learn more about SAP on Azure?

Have a look at these articles:

Want to get started? Get a live demo of Azure NetApp Files.