Part II: Architecture and Tooling
Part II: Architecture and Tooling
2.0 Module 2: The SAP HANA Core Architecture
Understanding a system’s architecture is fundamental to harnessing its full potential. In this module, we will dissect the core components of SAP HANA, from the central Index Server to the various supporting services that enable its operation. This comprehensive view will provide a clear picture of how the system functions internally to deliver its high-performance capabilities.
——————————————————————————–
2.1 Architectural Components Overview
The SAP HANA platform is primarily written in C++ and is designed to run exclusively on the SUSE Linux Enterprise Server 11 SP1/2 operating system. The system is not a monolithic application but rather a collection of specialized components and services that work together. The primary components include:
- Index Server
- Name Server
- Preprocessor Server
- Statistics Server
- XS Engine
2.2 The Heart of the System: Index Server
The Index Server is the most critical component of the SAP HANA database. It is the core engine responsible for housing the actual data and containing all the engines for processing that data. When any SQL or MDX query is executed against the system, it is the Index Server that manages and processes the request.
SQL/MDX Processor
This component is the entry point for all queries. It is responsible for processing incoming SQL and MDX (Multi-Dimension Expression) requests, segmenting them for optimized execution, and directing them to the appropriate data engine. It also handles authorization to ensure users only access data they are permitted to see. Its sub-components include:
- MDX Engine: Specifically handles queries and manipulation of multidimensional data stored in OLAP cubes.
- Planning Engine: Executes planning operations directly within the HANA database.
- Calculation Engine: Converts data into calculation models and creates logical execution plans to support parallel processing.
- Stored Procedure Processor: Executes procedural calls for optimized processing.
Transaction and Session Management
This layer is responsible for coordinating all database transactions and managing user connections. It tracks all running and closed transactions, and when a transaction is completed or fails, it notifies the relevant data engines to take necessary actions. The session management component handles the initialization and management of all user sessions and connections.
Persistence Layer
The Persistence Layer is critical for ensuring the durability and atomicity of transactions, providing a built-in disaster recovery system for the database. It manages data and transaction logs, which are stored in dedicated storage locations called data volumes and log volumes. It periodically writes save points—consistent snapshots of the in-memory database—to the data volumes, typically every 5-10 minutes. This ensures that in the event of a system failure or restart, the database can be restored to its most recent consistent state.
2.3 Key Supporting Servers
While the Index Server is the core, several other servers provide essential supporting functions.
- Preprocessor Server: This server is used for text data analysis. When text search capabilities are needed, the Index Server utilizes the Preprocessor Server to analyze text data and extract relevant information.
- Name Server: The Name Server holds the system landscape and topology information. In a distributed HANA environment with multiple nodes, it maintains a complete map of where data and components reside, which helps optimize processes like re-indexing.
- Statistical Server: This server is responsible for monitoring the overall health of the HANA system. It continuously collects data related to system resource allocation, consumption, and performance. It also provides historical performance data for analysis and troubleshooting.
- XS Engine: The XS Engine is a small, integrated web server that allows external applications to access the HANA system via HTTP or HTTPS. It transforms the persistence model stored in the database into a consumption model for clients, enabling the development of lightweight, native HANA applications.
2.4 Essential System Services and Agents
Several other agents and services are crucial for the management and maintenance of the HANA system. Architecturally, these components can be grouped by their primary function.
Update and Lifecycle Management
- SAP Host Agent: This agent must be installed on every machine in the SAP HANA landscape. It is used by the Software Update Manager (SUM) to automate updates across all components in a distributed environment.
- LM Structure: This contains information about the current installation details, which is used by the Software Update Manager to apply updates correctly.
- Software Update Manager for SAP HANA: This tool facilitates the update of the HANA system itself, managing software downloads, SAP Notes, and license key requests from the SAP Market Place.
- SAP HANA Studio Repository: This repository holds the code that allows developers to update their local installation of SAP HANA Studio to the latest version, ensuring client tools remain in sync with the server.
System Monitoring and Integration
- SAP Solution Manager (SAP SOLMAN) diagnostic Agent: When integrated with SAP Solution Manager, this agent provides comprehensive monitoring data about the HANA database, including its current state, general information, and configuration details.
Understanding this architecture is the first step. The next is to learn about the primary tool used to interact with these components: the SAP HANA Studio.
——————————————————————————–
3.0 Module 3: Interacting with SAP HANA: The HANA Studio
SAP HANA Studio is the primary interface for developers, modelers, and administrators working with the HANA platform. It is a powerful, Eclipse-based client tool that serves as the central environment for all development and administration tasks. This module will provide a practical guide to its features, perspectives, and core administrative functions.
——————————————————————————–
3.1 Introduction to HANA Studio
SAP HANA Studio is an integrated development environment (IDE) that provides a comprehensive toolset for:
- HANA Administration: Monitoring system health, managing users, and performing backups.
- HANA Information Modeling: Creating the data models and views that drive analytics.
- Data Provisioning: Managing the flow of data into the HANA database.
As a client tool, it can be installed locally to access either a local or a remote HANA system.
Supported Platforms:
- Microsoft Windows 32 and 64 bit versions of: Windows XP, Windows Vista, Windows 7
- SUSE Linux Enterprise Server SLES11: x86 64 bit
It is important to note that a native Mac OS client for HANA Studio is not available.
3.2 Perspectives and Core Features
HANA Studio organizes its functionality into “Perspectives,” which are tailored layouts of views and editors designed for specific roles or tasks. A user can switch between perspectives to access the relevant tools for their current work. The three main perspectives are:
- SAP HANA Studio Administration: Provides a toolset for various administration tasks, such as system monitoring, configuration, and troubleshooting. It includes tools like the catalog browser and the SQL Console.
- SAP HANA Studio Database Development: Contains a toolset for content development, focusing on Data Mart and “ABAP on SAP HANA” scenarios. This perspective is used for creating database objects like tables and procedures.
- SAP HANA Studio Application Development: Includes tools for developing native SAP HANA applications, particularly those hosted on the built-in XS Engine, using technologies like Java and HTML.
3.3 The Administrator Console Perspective
The Administration Console is the central hub for monitoring and managing a HANA system. It can be accessed by double-clicking a system in the Systems view or by using the “Open Administration” button in the toolbar.
Within the Administration View, the Overview tab provides a quick snapshot of the system’s status. It displays key general information, such as:
- Operational Status
- Start time of services
- Software version and build date
- Platform details
- Hardware manufacturer
3.4 System Management in the Studio
To begin working with a HANA system, you must first add it to your Studio installation. This is a straightforward process:
- Right-click in the navigator space and select Add System.
- Enter the required connection details:
- Host name: The server address of the HANA system.
- Instance number: The specific instance on the host.
- Database user credentials: A valid username and password.
- Ensure the necessary network ports are open for communication. Common ports include 3615 for the database connection and 31015 or 30015 depending on the instance number.
- Click Finish. The system will now appear in the Systems view, ready for administration and modeling.
3.5 Navigating the System: Catalog vs. Content
Once a system is added, you will see two primary sub-nodes: Catalog and Content. It is crucial to understand the distinction between them.
| Catalog | Content |
| Contains all runtime database objects. | Contains the design-time repository. |
| This includes schemas, tables, views, procedures, and other objects. | This holds all information models (e.g., Attribute, Analytic Views) created with the Modeler. |
| It represents the physical data structures in the database. | Objects here are organized into logical containers called Packages. |
3.6 Using the System Monitor
The System Monitor provides a high-level dashboard offering a glanceable overview of all connected HANA systems. From here, an administrator can quickly assess the health of the entire landscape and drill down into a specific system’s Administration Editor for more detail.
Key information available in the System Monitor includes:
- Status of Data Disk, Log disk, Trace Disk.
- Alerts on resource usage, categorized by priority.
Now that we are familiar with the architecture and the primary tool for interacting with it, we can move on to the core activity performed within HANA Studio: data modeling.
——————————————————————————–