Posts

Showing posts from April, 2014

SAP V1 V2 V3 JOBS

Image
Before starting with V-series jobs, lets review some fundamentals. Data base LUW:  It consists of sequence of DB operations(INSERT,UPDATE,DELETE) that needs to be committed to either all or none to keep DB in consistent state. COMMIT will be executed when all DB operations were successfully executed, once COMMITTED these changes can't be ROLLED BACK. This is part of traditional ACID property of any RDBMS. If a failure happens while executing the LUW(will be mostly technical like memory crunch,integrity violation or data base crashed,power failure) and when DB is restarted, DB will be ROLLed BACK to previous state. Which is nothing but the state when last COMMIT was happened. In other words, when ROLL BACK happens DB will be safely brought to previous COMMIT state. DB maintains log of actions performed since last COMMIT and as part of recovery process, all these actions will be reversed. All RDBMS will have in-built locking/multi concurrency control such that dirty READ-WRITE ope...

RETURN EXCEPTION OBJECT FROM WCF SERVICE

while talking about creating WCF services, we always focused on ABC(Address, binding,contract) of endpoint.When service executes successfully, we will return the corresponding object which will be return data type of WCF method. However, when a services results in an exception, we want to throw this error to the caller for better error analysis. to felicitate this we have tag [FAULT CONTRACT] to be defined in service interface for the method. Along with [DATACONTRACT], [SERVICECONTRACT], [DATAMEMBER], we could define [FAULTCONTRACT] which will specify the type exception object to be thrown to caller. This will ensure the caller to have better error handling. Sample code: public interface IService { [OperationContract] [FaultContract(typeof(MathFault))] int Divide(int n1, int n2);  } Corresponding interface implementation: public int Divide(int n1, int n2) { try { return n1 / n2; } catch (DivideByZeroException) { MathFault...

ETL SYSTEM DESIGN

ETL systems are used to Extract data from heterogeneous sources, Transform data (merge data from various systems, DE-normalize data, create conformed dimensions, compute fact tables), finally Load data into target OLAP system. In other words, they should feed data into OLAP systems such that content is ready to be designed according to business needs, query execution is optimized. Also, data cleansing, validation and data quality also should be ensured by ETL systems. on a whole ETL systems should take care of below issues. 1. Transform data into conformed dimensions/metrics suitable to model according to business needs 2. Validate input data and cleansing data to ensure quality data input to OLAP system 3. Merge data from multiple systems alias data integration. In general ERP systems will have multiple master       data management systems. Also different user groups/departments might used multiple systems. Data from     all these sources should be conso...

SAP HANA RAMBLINGS

Image
SAP HANA is a leading IMDB(In-memory DB, not the movies one:)). It works by keeping all required in RAM. The idea of developing in-memory cache was started with mounting pressure from BW customers for faster query execution times. Also the same case with APO CIF queues. SAP answered this query by developing live cache for APO and BW accelerator, both works keeping data in-memory. This prompted to develop a fully operational DB in-memory, SAP HANA. The cheaply available RAM costs are also a main reason. SAP HANA is configured for parallel processing and distributed processing. When a query is passed to HANA DB engine, HANA observes the generated execution plan of the query. Then it identifies the parts of query that can be computed in parallel there by reducing response time.  Also, HANA is deployed in infrastructure that has disaster tolerance and high availability. SAP teams up with hardware vendors like HP,Hitachi, IBM to develop this hardware infrastructure. These vendo...