HANA is High-Performance Analytic Appliance is an in memory appliance for SAP systems. Below are the notes/highlights of HANA for the webinar I attended recently.
Overview and Architecture of HANA
- What is HANA ? - In memory computing engine
- In memory computing studio as a fronend for modleing and administration.
- HANA is connected ERP systems, Frontend modeling studio can be used for load control and replication server management
- Two types of Relational Data stores in HANA : Row Store, Column Store
- SAP BOBJ tools can directly report HANA
- Data from HANA can also be used in MS Excel
- Row Store – Traditional Relational Database , the difference is that all the rows are in memory in HANA where as they are stored in a hard drive in traditional databases.
- Column Store – The data is stored in columns like in SAP BWA
- Persistency Layer: In memory is great by it is volatile and data can be lost with power outage or hardware failures. To avoid this HANA has a Persistencey Layer component which makes sure that all the data in memory is also store in a hard drive which is not volatile
- Session Management: This component takes care of logon services
- Two processing engines – Well, data is in memory which is good but How do I extract/report on the data? HANA has two processing engines one is based on SQL which accepst SQL queres and the other one is based on MDX .
- HANA Supports Sybase Replication Server – Sybase Replication Server can be used for realtime synchronization of data between ERP and HANA
Modeling Studio
Using Modeling Studio you can,
- Specify which tables are stored in HANA, first part is to get the meta data and then schedule data replication jobs
- Manage Data Services to load the data from SAP BW and other 3rd party systems.
- Manage connections to ERP instances, current release does not support connecting to several ERP instances
- Use Dataservices to for the modeling
- Do modeling in HANA itself (This is independent of Dataservices).
- You can also do modeling can also be done in Business Objects Universes which is nothing but joining fact and dimensional tables.
Reporting
- Client tools can access HANA directly, Like MS EXCEL, SAP BI 4.0 Reporting tools, Dashboard Design Tool (Xcelsius)etc can also access HANA directly.
- Third party reporting tools can leverage ODBC, JDBC and ODBO (for MDX requests) drivers in HANA for reporint.
- HANA supports BICS interface
Request Processing and Execution Control
- SQL Script, MDX statemenst are passed to calculation modles. Optiomizer which is included in caluculation engine optimizes for better performance.
- Calc Engine :
- Modeler can define data sources as inputs and different operations (join, aggreagation, projection) on top of them for data manipulation
- The calc engine will break up a model into sub processes for optimized performance on cost based.
- System will use maximum resources to achive max through put
- Planning Enigne : Will be included in next release. Will include planning functions like distribute and copy functions.
ROW Store
- One of the relational engines to store data in row format.
- Pure in-memory store (Future versions will also have an option of disk based store)
- In memory object store (in future) for live cache functionality
- Transactions Version Memory is the heart of row store
- Row store architecture
- Write operation mainly go into "Transactional Version Memory"
- INSERT also writes to persisted segment
- Moves visible version from memory to persisted segment
- Clears outdated record versions from Transactional Version memory
- Row Store tables have a primary index
- Row ID maps to primary key
- Secondary indexes can be created
- Row ID contains the segment and the page for the record
- Indexes in row store only exist in memory
- Index definition stored with table meta
Column Store
- Improves read functionality significantly, also improves write functionality
- Highly compressed data
- No real files, virtual files
- Optimizer and Executer – Handles queries and execution plan
- Delta data for fast write
- Asynchronous delta merge
- Consistent view Manager
- Main store compressed and read optimized – Data is read from Main Store
- Delta Store – Write optimized – for write operations.
- Asynchronous merge move the data from delta store to main store
- Compression by create dictionary and applying further compression methods
- Even during the merge operation, the columnar table will still be available for read and write operations. To fulfil this, a second delta and main storage are used internally
- Merge operation can also be triggered manually with an SQL command
Persistence Layer
- Peristence Layer is needed as Main memory is volatile
- Provides Backup and Restore functionality
- One Persistency Layer takes care of both row and column stores
- Regular Save Points
- Logs capturing DB transactions since last save point
- Actions during system restart
- Last savepoint must be restored plus undo logs must be read and uncommitted atransactions saved with last save point and apply redo logs
- Complete content of row store is loaded into memory during start procees
- Flags can be set for column store to specify which tables are loaded during system restart
Modeling
- Modeling only possible for Column tables
- Information Modeler only works for column tables
- Replication servers create tables in column store per default
- Data Services creates tables in column store per default
- SQL to create column table: Create COLUMN TABLE
- Store can changed with ALTER TABLE
- System tables are create where they fit best
- Schema SYS -> chaces, administrative table of engine
- Tables from stastics server
In-Memory Computing Studio
- Build with java based eclipse
- Navigator to access different HANA systems on left, Quick Launch View at the middle and Properties view at the bottom.
- Information Modler Features:
- Database views
- Choice to publish anc consume at 4 levels of modeling
- Attribute view, analytic view ...
- Physical tables and Information Models
- Import/export models, data source shcemas, mass and selective load
- Landscapes
- The models are just virtual definitions they don't store actual data
- Analytic Views are like cube model where Transaction Data is connected to attribute view
- Calc View – With custom functions and calculations
- Modeling Process Flow
- Import Source System Metadata
- Create Information Models
- Consume using BICS, SQL or MDX
- Infromation Modeler Terminology
- Attributes – Characteristics
- Measure – Key Figures
- Attribute Views – Dimentions
- Analytic Views – Cubes
- Calculation Views – Similar to Virtual provider concept in BW
- Hierarcheis
- Leveled – based on multiple attributes
- Parent-child hierarchy
- Analytic Privilege – Security Object
- Navigation View
- HANA instance -> Hana srver name and instance numbe -> user database schema -> views functions and tables
- Information Modles – Attribute, Analytic, Calculation Views and Analytic Previlege
- Attribute View :
- Attributes add context to data
- Attributes are modeled using attributes views
- Can be regarded as Master Data Tables
- Can be linked to fact tables in Analytical Views
- A measure e.g. weight can be defined as an attributes
- Table Joins and properties
- Leftouter,rightouter, full outer or text table
- Cardinality 1:1, N:1, 1:N
- Language Column
- Content Views and Functions will be shipped with HANA
- Analytics View:
- Similar to Cube
- Analytic Views does not sotre any data. The data is stored in column store table or view based on Analytical View structure
- Attributes and Measures – Like key figures
- Data Preive – Similar to listcube functionality
- Calculation View:
- Define table outpu Structure
- Write SQL statement
- Ensure the selected fields correspons to previously defined output structes
- SQL Scripts unlike SQL procedure can't change any data they are read only
Other Notes:
- External tools can connect to HANA using JDBC and ODBC drivers
- HANA currently doesn't support complete MDX set, it supports EXCEL 2010 standard MDX
- BWA Hardware can be upgraded to HANA given that hardware is relatively new
- BWA Licences can be transferred to HANA
- ERP and BW can be connected to HANA using Dataservices or Sybase Replication
- No name space concept in HANA at this moment, so two ERP instances can't be connected to HANA. However this issue can be avoided using datasources
- CRM also can use HANA
- Data from BW into HANA can be loaded into using Data Services and InfospokesMore to Read: