Login
Register

Home

Trainings

Fusion Blog

EBS Blog

Authors

CONTACT US

Oracle Data Integrator
  • Register

Oracle Gold Partners, our very popular training packages, training schedule is listed here
Designed by Five Star Rated Oracle Press Authors & Oracle ACE's.

webinar new

Search Courses

Data warehouse loading involves processing of huge number of records and hence even the fine tuned ETLs will take considerable amount of time to load the warehouse. The parallel processing concept of ODI aids in reducing the overall time taken to load your data warehouse. In this article, we will talk about different ways to achieve parallel processing in ODI and discuss in detail about the Inter Entity Parallel Processing which is provided by ODI out of box..

Parallel processing can be achieved in ODI in two levels.

  1. Entity level parallelism: An entity is an database table like dimension, fact etc. Entities can be loaded in parallel in an ODI package using Asynchronous mode.
  2. Slice Level Parallelism: A slice is a chunk of data. Data to be loaded to an single entity can be sliced based on various criteria and loaded into the warehouse in parallel. This has to be developed in ODI by customizing few components.  

This article discusses about Entity Level Parallelism in detail.

 

 

Entity Level Parallelism:

In ODI Packages, execution of steps is of two types i.e., Synchronous and Asynchronous.

synchronous execution will serialize the scenario execution with other steps in the package: ODI executes the scenario, and only after its execution is completed, runs the next step.

An asynchronous execution will only invoke the scenario but will immediately execute the next step in the calling package: the scenario will then run in parallel with the next step. You can use this option to start multiple scenarios concurrently: they will all run in parallel, independently of one another.

Before we implement parallel processing between entities of a data warehouse, it is very important to identify dependant entities within a functional area of a warehouse.

To understand this better, let us assume we have the Orders star schema in our warehouse.

The Orders star schema looks like

Order Star Schema

In the above star, Fact is “Order Fact” and dimensions are “Time Period, Geo Location, Sales Org, Product, Customer”

By law of data warehouse, Facts are dependent on dimensions. So, the order of loading should be

  1. 1. Dimensions
  2. 2. Facts

Now, within each group, the entities can be run in parallel. This can be achieved in ODI Packages using asynchronous mode.

To  achieve this, two packages are created in ODI one for Loading Dimensions and other to load dimensions.

The ODI package for loading dimensions looks like

Load Dimensions2

The order looks like the dimensions are being run one after another. But, based on the options set in the properties window of each scenario, parallel execution is achieved.

Dimensions Properties

“Asynchronous” mode is enabled for Load Geo Dim scenario. Hence, ODI package starts the execution of the next step in parallel. Similarly, for each dimension scenario Asynchronous mode is anabled. The last step odiWaitforChildSession waits till all the dimensions are loaded in this package before marking session “Load Dimensions” as complete.


The Load Fact package looks like

Load Facts

In this package, there is only one fact. So, by default ODI package will execute it in Synchronous mode.

Now, RUN ALL package contains these two steps executed in synchronous mode. RUN ALL is scheduled and hence when RUN ALL is fired, the LOAD DIMENSIONS scenario is invoked first with the dimensions loading in parallel and LOAD FACTS Scenario is invoked after the dimensions are loaded hence maintaining the dependency between Dimensions and Facts.

Run all2

The Data warehouse loading times can be minimised to a great extent by using this ODI out of box feature. For larger warehouses, slice parallelism and database paralellism techniques are used to further reduce the loading times.


Swapna Alluri

Comments   

0 #1 haribabu 2015-05-05 07:19
Does BI publisher quries executed paralley for particular report??? or sequentially..a ny technichal DOC available ont this
Quote

Add comment


Security code
Refresh

About the Author

Swapna Alluri

Swapna has 9 years of extensive Datawarehousing experience and worked on many of the products on Oracle Products Stack such as ODI, OWB, OBIEE, BI Publisher, Oracle Tax Analytics, Oracle Utilities Analytics etc. She has rich functional and technical design experience and good at DWH concepts and priniciples. She is currently working on an Oracle Analytics product development.

My Linkedin

Search Trainings

Fully verifiable testimonials

Apps2Fusion - Event List

<<  Mar 2024  >>
 Mon  Tue  Wed  Thu  Fri  Sat  Sun 
      1  2  3
  4  5  6  7  8  910
11121314151617
18192021222324
25262728293031

Enquire For Training

Fusion Training Packages

Get Email Updates


Powered by Google FeedBurner