Saturday 2 March 2013

SAP HANA ----DATA MODELING OVERVIEW




 http://www.erphowtos.com/templates/rt_solarsentinel_j15/images/arrow.pngSAP HANA - Overview and Architecture


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

No comments:

Post a Comment