SAP HANA stands for SAP’s High-Performance Analytic Appliance(HANA); it enables the processing of massive quantities of data in the main memory of the server in real time.

SAP HANA_1.png-550x0

 SAP is one of the largest ERP software and used by largest business organizations throughout the world. SAP system enables to store all the information they need and to perform all the business functions like managing customer's data, purchase orders, vendors data, manufacturing and so on. And SAP HANA is one of its module that handles data in real time. Some of the characteristics of SAP HANA are:

  • It is memory computing, where HANA itself is a database
  • Traditional database like oracle, d2b, stores the data in the disk but the HANA stores data in the main memory, i.e., RAM
  • Performance in SAP HANA is more as it runs on multi-core CPUs and ten times faster than current database systems
  • SAP HANA is a multi-query engine it supports all the graphic data and text data in SAP system
  • Parallel processing
  • Columnar & Row based data storage
  • Data Compression

 

SAP HANA Components:

  • SAP HANA DB: It is in-memory database
  • SAP HANA Studio: It refers to modeling tools provided by SAP to model the data or HANA database
  • SAP HANA Appliance: It refers to the HANA database, studio and other tools delivered as appliance
  • SAP HANA Application Cloud: It is also available on cloud-based infrastructure

 

Advantages of SAP HANA

  • Fast and easy to operate and helpful in real-time decision making
  • Enhances the speed of transactional information flow in areas
  • Removes constraints for analyzing large data volumes
  • It increases business productivity
  • It manages growing data volume and complexity efficiently
  • Helps in managing risk in real-time

 

Why and Where to use SAP HANA?

SAP HANA provides a single platform for integration of transactional data and analytical data in a single database. SAP HANA database is designed to run in main memory system making it more powerful and fast in comparison to traditional database system. Also, easy integration of SAP HANA with SAP application provides accelerated data processingfor existing SAP application. It makes application hundred times faster by moving computation intensive processing logic from the application layer to the data layer. SAP HANA can be used in various places like

  • Retail
  • Tele-communication
  • Insurance sector
  • Health-care sector
  • Engineering construction and operation and so on.

     

SAP HANA Architecture

SAP HANA database architecture consists of multiple servers, in which the most important component or server is the Index server. SAP HANA contains Name server, Index server, Statistics server, Pre-processor server and XS engine.

SAP HANA_2.png-550x0

Functions performed by each server

  • Name Server:It maintains landscape information
  • Statistics Server:It gathers performance data about HANA and give information about resource allocation in HANA
  • Persistence Layer:It is responsible for durability and atomicity of transactions. It makes sure that the database can be restored to its most recent committed state, either completely executed or completely undone
  • Pre-Processor Server:It is used for text data analysis and searching
  • XS Engine:Through this, client can connect SAP HANA database to search data via HTTP. It allows an external application to communicate with SAP HANA.
  • Index Server: It is the main server that handles database and process the data. When MDX or SQL is fired against the SAP HANA system in case of the transaction, the index server handles it.

 

Components of INDEX SERVER

SAP HANA_3.png-550x0

  • Connection and Session Management:This component is used for managing and creating sessions and connections for the database clients. Using SQL statements client can communicate with the SAP HANA database
  • Authorization Manager:By other SAP HANA database components, this component is invoked, it allows granting of privileges or permissions to users which are accessed by username and password
  • SQL Processor: The incoming SQL requests are received by the SQL processor, while the rest will be diverted to other components. Data definition statements are directed to meta-data manager; transaction control are dispatched to the Transactional Manager; Planning commands are directed to the planning engine and procedure call are forwarded to the stored procedure processor
  • SQL Script: SQL script is a scripting language used in SAP HANA database to offload data-intensive application logic into database
  • Multidimensional Expression (MDX): It is a language for querying and manipulating the multi-dimensional data stored in OLAP cubes. Incoming MDX requests are processed by MDX engine forwarded to the calculation engine
  • Planning Engine: It enables basic planning operations in the database layer
  • Calc Engine: The SAP HANA database include features such as SQL script and planning operations are implemented using a common infrastructure called Calc engine. The MDX, SQL Script, Planning model and domain-specific models are converted into calculation models. The calculation engine breaks up a model, into operations that can be executed in parallel.
  • Transaction Manager: In HANA database, each SQL statement is executed in the context of the transaction. Transaction manager co-ordinates database transactions and keeps track of running and closed transactions.
  • Meta-data Manager: Metadata consists of a variety of objects, such as definitions of relational tables, views, indexes, columns and procedures
  • The Row Store: It is the SAP HANA database row-based in-memory relational data engine.
  • The Column Store: The column store stores table column-wise

 

Row-based Table VS Column based Table in SAP HANA

Usually, it remains a question in SAP HANA about, how to store data in the table? SQL queries that involve aggregation functions consume a lot of time on huge amounts of data because every single row is touched to collect the data for the query response. This information in columnar table is physically aligned next to each other, apparently increasing the speed of certain data queries.

In column arrangement, data is also compressed enabling shorter loading times. Column based table is usually recommended to store data as it allows fast aggregations, ad-hoc reporting and compression of data.

While, Row-based table is useful when application needs to only process a single record or row at one time.

 

HANA- in Memory Computing Engine

In memory means, all data is stored straight away in the memory (RAM), there is no time wasted in loading the data from hard disk to RAM. Data is stored in the column as well as in rowpattern; row is useful for Metadata while Column is useful for -10-20x Data Compression.

 

SAP HANA- Studio

SAP HANA studio is an Eclipse Open Integrated Development Environment (IDE), that integrates different tools in a unified environment for data modeling activities, data and life cycle management and security. SAP HANA STUDIO can be used to start services, stop services, monitor system, configure system settings, manager users and authorization, manage tables and manage stored procedures. Let see some of the important components of SAP HANA studio.

SAP HANA_4.png-550x0

  •  Information Modeler: SAP HANA information Models consists of three views for the HANA Engine and calculation operators they are Attribute view(join text tables to each other) is used to connect information about product, employees, business partner etc. Analytic View(joins fact tables like star schema pattern) is used define facts for any product like number or computer sold in any country and Calculation View(performs complex calculations not possible with others) is used to do calculation like currency and unit conversion.
  • Database development and Data provisioning: It stores all objects into the SAP HANA Repository
  • Administration Monitoring Security: It provides views that enable you to execute administrative tasks on SAP HANA Instances
  • Application Developer: It provides views and menu options that enable you to test your applications.

 

SAP HANA Data Replication or Data Provisioning

For reporting and analysis of business data, it requires replication of the data from a source system to the SAP HANA database. In SAP HANA, data is replicated while transferring to the memory database. It can be done in two ways Application layer and Log file.

SAP HANA_5.png-550x0

  • Application Layer:
  1. Trigger-based replication:This method uses the SAP Landscape Transformation (SLT)component to pass data from the source system to the SAP in-memory database target system.
  2. ETL based replication:

It uses SAP business objectdata services to identify and load the relevant business data in defined periods of time from an ERP system into the SAP HANA database.

  •  Log File
  1. Log-Based Replication or Sybase Replication: This replication is based on the capturing table that changes from low-level database log files. Database changes are propagated on a per database transaction basis, and they are then re-played on the SAP HANA database. This method is based on database dependent. The replication agent uses table meta-data from the database to connect or link the raw log information with the existing table names.

SAP HANA Reporting

SAP HANA offers different connectivity options such as BICS, MDX and SQL, etc. It runs JDBC and ODBC drivers which are standardized programming interfaces to access relational databases. Multidimensional expressions or MDX is an extensive query language for OLAP databases. Different front end can connect to HANA, and SAP suggest using frontends of the SAP business objects BI suite.

 

Cloud Connectivity to SAP HANA

In SAP HANA, cloud platform is the platform-as-a-service offering available for SAP HANA. SAP HANA can be connected to cloud platform in two possible ways

  • Reverse Proxy Approach
  • Usage of SAP HANA connector as on-premise agent

SAP HANA cloud connectivity service is used to establish the technical connectivity for point to point integration or in combination with process integration solutions. SAP HANA cloud can be connected through Remote Service, On-premise Network and E-mail Provider.

SAP HANA_6.png-550x0

  •  SAP HANA cloud platform consists of a Java API, developer use this application to consume remote services
  • It enables account specific configuration of application connections via mail destinations and HTTP
  • It provides a technical connectivity solution; that can be used to establish a secure tunnel from the customer network to an on-demand application in SAP HANA cloud platform
  • It enables to make the connection to both ABAP and JAVA on-premise systems

     

SAP HANA Security

SAP HANA_7.jpg-550x0

In SAP HANA, database is stored in the file system of the operating system. SAP HANA uses the secure store in the file system (SSFS) to store all internal SAP HANA encryption keys. These keys are encrypted with the SSFS master key. The encryption key always remains with customer and responsible for decrypting, uncompressing and loading data into their SAP HANA DB services.

  • SAP HANA Database: To secure the data in SAP HANA, it uses persistence layer to recover the data with minimum loss in case of event of failure and with minimal delay
  • SAP HANA XS:It is fully integrated into the SAP HANA and provide application server functions, accessible through HTTP. If end users connect to the SAP HANA database directly through an SQL client, user and role management in the database layer of SAP HANA is needed for both administrators and end users
  • Encryption of data communication in the network: Security Socket Layer (SSL) and Transport Layer Security (TLS) are recommended and supported for network communication
  • Communication Channel Security: SAP HANA supports encrypted communication for network communication channels, and it is recommended to use encrypted channels in all cases where your network is not protected
  • SSL configuration for Data Communication Channel: To secure communication of data between systems, all hosts in all systems must possess a public and private key pair and a public key certificate for mutual authentication
  • SAP HANA Authentication: Users using the SAP HANA database authenticate or verify themselves by entering their database user name and password
  • SAML Assertion: SAML assertion is used to authenticate users accessing SAP HANA directly from ODBC or JDBCdatabase clients. SAP HANA can behave as a service provider to verify or authenticate users accessing via HTTP by means of SAP HANA XS
  • Object Privileges: If a user wants to run a specific statement on a simple database object, he or she must have the corresponding object privilege for either the actual object or the schema in which the object is located
  • Secure Password: By the standard operating system mechanism file, system passwords are protected.All database user passwords are hashed with the secure hash algorithm SHA-256.

 

Auditing in SAP HANA

Actions performed in SAP HANA can be audited.

  • Identifies security holes if too many privileges were granted to some user
  • It shows the number of attempts made to breach security
  • Protects the system owner against accusation of data misuse and security violations
  • Allow the system owner to meet security standards

Actions that are audite

  • Changes to user authorization
  • Deletion or creation of database objects
  • Authentication of users
  • Alteration to system configuration
  • Alteration of sensitive information

Content originally published at:  http://www.guru99.com/sap-hana-tutorial.html

About the Author

Guru99.com

Guru99 is totally new kind of learning experience Here you learn by practice. We make tons of efforts to take boredom out of learning and make education a fun experience. Inside, you will find tons of video tutorials

Start the discussion at forums.toadworld.com