SlideShare a Scribd company logo
Data Warehouse 2.0 Master
techniques for EPM guys
(powered by ODI)
Ricardo Giampaoli
Rodrigo Radtke
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
About the Speakers
Giampaoli, Ricardo
• Oracle Ace
• Master in Business
Administration and IT
management
• EPM Consultant @ Dell
• Essbase/Planning/OBIEE/ODI
Certified Specialist
• Blogger @ devepm.com
Radtke, Rodrigo
• Oracle Ace
• Graduated in Computer
Engineering
• Software Developer Sr. Advisor
at Dell
• ODI, Oracle and Java Certified
• Blogger @ devepm.com
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
What we'll learn
• EPM Application Processes
• Traditional Data Warehouse
• DW for EPM Applications
• Metadata Process
• Data Load Process
• Data Extract Process
• Oracle Partitioning
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
EPM Tools
• The architecture of EPM applications are very similar and for the
simplicity purpose this presentation is going to use
Planning/Essbase as example
• Three main possible processes that an EPM applications could have:
• Metadata process: sync the metadata between the source system and the
EPM applications
• Data Load process: load the data to the EPM Applications
• Data Extract process: extract data from the EPM Applications
• Normally it is done manually or using a script to load a text file or
SQL with all data/metadata to the EPM application.
Why this is not so good?
• Manual processes are always error
prone
• Tons of files to load/manage
• Not centralized
• Not scalable for big environments
• Not change friendly
• Data quality issues
• Harder to achieve audit standards
• Not feasible for huge volume of data
All can be fixed
by creating a
supporting Data
Warehouse (DW)
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Traditional Data Warehouse
• The DW should be implemented in a relational database (RDBMS)
since they are more suitable for the Central Data Warehouse role
than multidimensional databases (OLAP servers)
• The data model for the DW should be based on a dimensional
design (Star Schema, Snow Flake or Hybrid) to facilitate integration
and scalability, and provide greater performance for analytical
processing.
• No matter if is Star Schema, Snow Flake or Hybrid all models are based in
Dimensions that joins with a fact table thought PK’s and FK’s
• The DW can then provide data directly to other systems like EPM
Applications
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
DW for EPM Applications
Traditional DW
• The data is spread over
numerous tables
• The data is related between
the table by PKs and FKs
• We can have different data in
different tables that has no
direct relationship
• We can query any table to get
any data
• The metadata inside the tables
has no meaning for the
database (it’s just data)
EPM Applications
• The data will be confine inside a
cube
• The data is directly related with
the members of the dimensions
• It’s impossible to have a data that
is not related with all dimensions
• To query we must inform at least
one member of each dimension
• The metadata has a parent/child
relationship, has a specific order
and each member will behave
depending on its dimension type
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
DW for EPM Applications
• The problem is: A DW for EPM applications should be totally
different from a Traditional DW
• EPM is already a “DW” since it has all dimensions on it and stores all data
inside the cubes
• We don’t need a Star Schema, Snow Flake or Hybrid model to manage
dimensions inside EPM
• We can manage dimensions more efficiently using a “metadata repository”
• The relationship between the EPM apps and the outside systems are the
members POV, and this information is already inside our data table
• We don’t need any PK’s or FK’s to our “metadata repository”
• We need to model our DW thinking about EPM concepts/needs
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
DW for EPM Applications
Fact
Dim 1
Dim 6
Dim 5
Dim 2
Dim 3
Dim 4
Cell
Dim1 Dim 2
Dim4
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Metadata Process
• The first process needs to be the Metadata Process since without
the members in the EPM we cannot load data to the cubes
• Depending of the EPM application and the dimension we want to
load we will have different properties and its values
• But for all EPM suit we always have the member information like its parent,
type of storage, consolidation sign and more
• To create a good Metadata process we need to design our table in
the most efficient way and for that we need to know what each
EPM Applications requires
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Metadata Process: Dimensions
• Planning/Essbase has 4
different types of
Dimensions
• Account
• Entity
• User Defined Dimension
• Attribute Dimension
• Each Dimension has its
own properties but most
of them are the same
Account Dimension Entity Dimension User Defined Dimension Attibute Dimension
Member Member Member Member
Parent Parent Parent Parent
Alias: Default Alias: Default Alias: Default Alias: Default
Operation Operation Operation Operation
Valid For Consolidations Valid For Consolidations Valid For Consolidations
Data Storage Data Storage Data Storage
Two Pass Calculation Two Pass Calculation Two Pass Calculation
Description Description Description
Formula Formula Formula
UDA UDA UDA
Smart List Smart List Smart List
Data Type Data Type Data Type
Aggregation Aggregation Aggregation
Plan Type Plan Type Plan Type
Account Type
Time Balance
Skip Value
Exchange Rate Type
Variance Reporting
Source Plan Type
Base Currency
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Metadata Process: Generic Table
• One Table to “rule”
them all
• Instead of having one
table per dimension, a
generic table will have
one unique column for
each source (white)
• One extra column to
identify to where that
member belongs
(yellow)
• Any other useful
information (Orange)
Account Dimension Entity Dimension User Defined Dimension Attibute Dimension Metadata Table
Account Entity Products Prod_Attrib MEMBER
Parent Parent Parent Parent PARENT
Alias: Default Alias: Default Alias: Default Alias: Default ALIAS
Operation Operation Operation Operation OPERATION
Valid For Consolidations Valid For Consolidations Valid For Consolidations VALID_FOR_CONSOL
Data Storage Data Storage Data Storage DATASTORAGE
Two Pass Calculation Two Pass Calculation Two Pass Calculation TWOPASS_CALC
Description Description Description DESCRIPTION
Formula Formula Formula FORMULA
UDA UDA UDA UDA
Smart List Smart List Smart List SMARTLIST
Data Type Data Type Data Type DATA_TYPE
Aggregation Aggregation Aggregation CONS_PLAN_TYPE1
Plan Type Plan Type Plan Type PLAN_TYPE1
Account Type ACCOUNT_TYPE
Time Balance TIME_BALANCE
Skip Value SKIP_VALUE
Exchange Rate Type EXC_RATE
Variance Reporting VARIANCE_REP
Source Plan Type SRC_PLAN_TYPE
Base Currency CURRENCY
APP_NAME
DIM_TYPE
HIER_NAME
GENERATION
HAS_CHILDREN
POSITION
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Metadata Process: Connect By
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Metadata Process: Generic Table Benefits
• Centralized: metadata repository that contains all metadata for all
EPM applications
• Scalable: architecture that can have any number of Metadata
without need of changes
• Dynamic: can use generic objects to load any number of EPM
applications
• Accessible: All metadata from all EPM application are easily
available if needed (Data quality, queries, as metadata to other
systems…)
• Performance: Table can be partitioned by Application or/and
Hierarchy
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Metadata Process: Overview
Sources
Oracle
Stage
Area
Table 1
Table 2
Table 3
Table 4
Table N
EPM
App
1
App
2
App
N
SQL Server
Teradata
Excel
XML
Metadata Table
Metadata
Generic Components
Send
Email
Error
Handling
App
3
1
2
4
3
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
DW Powered by ODI: Metadata Process
• ODI can read the EPM application repositories to understand the
structure and configuration of that application
• Based on the repository ODI can create dynamic code
• ODI can tie out metadata from the source based on the application repository
• Metadata load becomes more efficient and powerful allowing better
management of Moved Members, Attribute Member movement, Reorder
sibling members, Deleted or move Shared Members
• No extra code to add new applications/dimensions
• Complete details at
https://devepm.com/2014/12/18/otnarchbeat-publication/
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Data Load Processes
• To load data into any EPM Application we must inform one member
for each dimension and the value we want to load
• Depending of the Application we can have more or less Dimensions
but by default we have some standard dimensions that exists in all
Apps
• Accounts
• Entity
• Years
• Periods
• Scenario
• Version
• Currency
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
• We can create only one generic inbound table (Fact table) that
contains one column from each planning dimension (Distinct of all
dimensions from all Applications) to build a centralized structure to
hold all data
Data Load Processes: Inbound Tables
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
• We can go further in the inbound design
and create one column for each period
• Smaller table (less rows) and faster to query
• Load performance greatly improved (one line
has the entire year information)
• In either case we have
• Centralized repository of data (easy to add
new applications)
• Scalable to all EPM Applications
• Data is reusable (No data replication)
• Generic objects (to load, error handling, email
sending…)
Data Load Processes: Multi-Periods
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Data Load Processes: Pivot/Unpivot
• To use the Multi-Periods architecture we will need to have the
ability to pivot and unpivot data
• Most of the source system will not have the capability to provide data in
multi-period format as well to receive in this format
• To these we can use PIVOT/UNPIVOT command for Oracle DB
• The PIVOT operator takes data in separate rows, aggregates it and converts it
into columns
• The UNPIVOT operator converts column-based data into separate rows
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Data Load Processes: Pivot
1. Define the columns to be Pivoted
2. Use an consolidation function on
the data column
1. SUM, AVG, MIN, MAX, COUNT…
2. Specify the data to me Pivoted
3. The data MUST be a constant in the
“IN” Clouse
3. Data is Pivoted
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Data Load Processes: Unpivot
1. Define the columns to be
UnPivoted
2. Select a name for the Data
column and the Member column
1. Specify the data to me UnPivoted
2. The data MUST be a constant in
the “IN” Clouse
3. Data is UnPivoted
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Data Load Processes: Data Quality
• EPM applications does not like bad data
• For example, if we try to load an invalid member in Essbase using ODI, it
switches to cell mode greatly impacting the load process performance
• Having just one metadata and inbound table makes the data quality
process way simpler
• All metadata is stored in a single place
• All data is stored in a single place
• Data quality check can be done for all applications in a single process
• Error handling/send email process are easy to create since everything is
gathered in the same place
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
• With only one inbound generic table,
we will have only one generic E$ table
• Stores all the POV and the data that fails
the validation
• ODI_Cons_name, Interface_Name,
App_Name, Cube and ODI_Sess_NO
identifies what was the error, from which
package that error came from and to
which application it should have loaded
DW Powered by ODI: Data Quality
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Data Load Processes: Overview
Sources
Oracle
Stage
Area
Table 1
Table 2
Table 3
Table 4
Table N
EPM
App
1
App
2
App
N
SQL Server
Teradata
Excel
XML
E$ Table
E$ Inbound
Generic
Inbound Table
Inbound
Generic
Generic Components
Send
Email
Error
Handling
App
3
1
2
3
4
3
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Data Extract Processes
• The structure for the outbound table is the same as the inbound
and the benefits are almost the same
• Faster to export (mainly if is one year export and a BSO cube)
• Smaller table (less rows) and faster to query
• Centralized repository of data (easy to add new applications)
• Scalable to all EPM Applications
• Data is reusable (No data replication)
• Create views for the target system access the data
• In the same way that we have multi-periods in the inbound table
we can have it in the outbound table
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Data Extract Processes: Overview
1 Outbound Table
Outbound
Generic
Generic Components
Send
Email
Error
Handling
3
View
Layer
View 1
View 2
View 3
View 4
View N
Targets
Oracle
SQL Server
Teradata
EPM
App
1
App
2
App
N
App
3
2
4
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Oracle Partition
• Partitioning enhances the performance, manageability, and
availability of a wide variety of applications and helps
reduce the total cost of ownership for storing large amounts
of data
• Partitioning allows tables, indexes, and index-organized tables to
be subdivided into smaller pieces, enabling these database
objects to be managed and accessed at a finer level of granularity
• Oracle provides a rich variety of partitioning strategies and
extensions to address every business requirement
• Since it is entirely transparent, partitioning can be applied to
almost any application without the need for potentially expensive
and time consuming application changes.
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Oracle Partition: Types
Hash
Partitioning
H1
H2
H3
H4
Scenario
List
Partitioning
Actual
Forecast
Budget
Range
PartitioningPeriod
Jan to Mar
Apr to Jun
Jul to Sep
Oct to Dec
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Oracle Sub Partition: Types
• Composite Partitioning
• Range-Range
• Range-Hash
• Range-List
• List-Range
• List-Hash
• List-List
Composite Partitioning
List - Range
Scenario
Actual
Forecast
Budget
Period
Jan to Mar Apr to Jun Jul to Sep Oct to Dec
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
DW Powered by ODI: Partitioning
• ODI can be used to Manage table
partitions
• Using command on source to query
All_Tab_Partitions and verify if the
partition exists or not
• Using command on target to
Truncate/Drop/Create partitions
• ODI can also manage Sub-
partitions
• Harder to maintain
• Better to use a composite key
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Overview of our environment
• 10000+ users around the world
• 24x7 operation
• 10+ source systems
• 18 billions+ inserts/month
• 50 millions+ updates/month
• 60 millions+ deletes/month
• 14 thousand+ ODI sessions/month
DevEpm.com
@RZGiampaoli
@RodrigoRadtke
@DEVEPM
Ricardo Giampaoli – TeraCorp
Rodrigo Radtke de Souza - Dell
Thank you!
Data Warehouse 2.0: Master Techniques for EPM Guys (Powered by ODI)

More Related Content

What's hot

Build a modern data platform.pptx
Build a modern data platform.pptxBuild a modern data platform.pptx
Build a modern data platform.pptx
Ike Ellis
 
Presentations from the Cloudera Impala meetup on Aug 20 2013
Presentations from the Cloudera Impala meetup on Aug 20 2013Presentations from the Cloudera Impala meetup on Aug 20 2013
Presentations from the Cloudera Impala meetup on Aug 20 2013
Cloudera, Inc.
 
PandasUDFs: One Weird Trick to Scaled Ensembles
PandasUDFs: One Weird Trick to Scaled EnsemblesPandasUDFs: One Weird Trick to Scaled Ensembles
PandasUDFs: One Weird Trick to Scaled Ensembles
Databricks
 
Near Real-Time Data Analysis With FlyData
Near Real-Time Data Analysis With FlyData Near Real-Time Data Analysis With FlyData
Near Real-Time Data Analysis With FlyData
FlyData Inc.
 
Friction-free ETL: Automating data transformation with Impala | Strata + Hado...
Friction-free ETL: Automating data transformation with Impala | Strata + Hado...Friction-free ETL: Automating data transformation with Impala | Strata + Hado...
Friction-free ETL: Automating data transformation with Impala | Strata + Hado...
Cloudera, Inc.
 
Impala: Real-time Queries in Hadoop
Impala: Real-time Queries in HadoopImpala: Real-time Queries in Hadoop
Impala: Real-time Queries in Hadoop
Cloudera, Inc.
 
Magnet Shuffle Service: Push-based Shuffle at LinkedIn
Magnet Shuffle Service: Push-based Shuffle at LinkedInMagnet Shuffle Service: Push-based Shuffle at LinkedIn
Magnet Shuffle Service: Push-based Shuffle at LinkedIn
Databricks
 
AWS July Webinar Series: Amazon redshift migration and load data 20150722
AWS July Webinar Series: Amazon redshift migration and load data 20150722AWS July Webinar Series: Amazon redshift migration and load data 20150722
AWS July Webinar Series: Amazon redshift migration and load data 20150722
Amazon Web Services
 
(ISM303) Migrating Your Enterprise Data Warehouse To Amazon Redshift
(ISM303) Migrating Your Enterprise Data Warehouse To Amazon Redshift(ISM303) Migrating Your Enterprise Data Warehouse To Amazon Redshift
(ISM303) Migrating Your Enterprise Data Warehouse To Amazon Redshift
Amazon Web Services
 
Cloudera Impala
Cloudera ImpalaCloudera Impala
Cloudera Impala
Rajesh Gupta
 
AWS July Webinar Series: Amazon Redshift Reporting and Advanced Analytics
AWS July Webinar Series: Amazon Redshift Reporting and Advanced AnalyticsAWS July Webinar Series: Amazon Redshift Reporting and Advanced Analytics
AWS July Webinar Series: Amazon Redshift Reporting and Advanced Analytics
Amazon Web Services
 
Connecting Hadoop and Oracle
Connecting Hadoop and OracleConnecting Hadoop and Oracle
Connecting Hadoop and Oracle
Tanel Poder
 
Amazon Redshift in Action: Enterprise, Big Data, and SaaS Use Cases (DAT205) ...
Amazon Redshift in Action: Enterprise, Big Data, and SaaS Use Cases (DAT205) ...Amazon Redshift in Action: Enterprise, Big Data, and SaaS Use Cases (DAT205) ...
Amazon Redshift in Action: Enterprise, Big Data, and SaaS Use Cases (DAT205) ...
Amazon Web Services
 
Migrating Apache Hive Workload to Apache Spark: Bridge the Gap with Zhan Zhan...
Migrating Apache Hive Workload to Apache Spark: Bridge the Gap with Zhan Zhan...Migrating Apache Hive Workload to Apache Spark: Bridge the Gap with Zhan Zhan...
Migrating Apache Hive Workload to Apache Spark: Bridge the Gap with Zhan Zhan...
Databricks
 
Optimizing Your Amazon Redshift Cluster for Peak Performance - AWS Summit Syd...
Optimizing Your Amazon Redshift Cluster for Peak Performance - AWS Summit Syd...Optimizing Your Amazon Redshift Cluster for Peak Performance - AWS Summit Syd...
Optimizing Your Amazon Redshift Cluster for Peak Performance - AWS Summit Syd...
Amazon Web Services
 
Cloudera Impala Internals
Cloudera Impala InternalsCloudera Impala Internals
Cloudera Impala Internals
David Groozman
 
Best Practices for Migrating your Data Warehouse to Amazon Redshift
Best Practices for Migrating your Data Warehouse to Amazon RedshiftBest Practices for Migrating your Data Warehouse to Amazon Redshift
Best Practices for Migrating your Data Warehouse to Amazon Redshift
Amazon Web Services
 
Impala for PhillyDB Meetup
Impala for PhillyDB MeetupImpala for PhillyDB Meetup
Impala for PhillyDB Meetup
Shravan (Sean) Pabba
 
HBase and Impala Notes - Munich HUG - 20131017
HBase and Impala Notes - Munich HUG - 20131017HBase and Impala Notes - Munich HUG - 20131017
HBase and Impala Notes - Munich HUG - 20131017
larsgeorge
 
How We Optimize Spark SQL Jobs With parallel and sync IO
How We Optimize Spark SQL Jobs With parallel and sync IOHow We Optimize Spark SQL Jobs With parallel and sync IO
How We Optimize Spark SQL Jobs With parallel and sync IO
Databricks
 

What's hot (20)

Build a modern data platform.pptx
Build a modern data platform.pptxBuild a modern data platform.pptx
Build a modern data platform.pptx
 
Presentations from the Cloudera Impala meetup on Aug 20 2013
Presentations from the Cloudera Impala meetup on Aug 20 2013Presentations from the Cloudera Impala meetup on Aug 20 2013
Presentations from the Cloudera Impala meetup on Aug 20 2013
 
PandasUDFs: One Weird Trick to Scaled Ensembles
PandasUDFs: One Weird Trick to Scaled EnsemblesPandasUDFs: One Weird Trick to Scaled Ensembles
PandasUDFs: One Weird Trick to Scaled Ensembles
 
Near Real-Time Data Analysis With FlyData
Near Real-Time Data Analysis With FlyData Near Real-Time Data Analysis With FlyData
Near Real-Time Data Analysis With FlyData
 
Friction-free ETL: Automating data transformation with Impala | Strata + Hado...
Friction-free ETL: Automating data transformation with Impala | Strata + Hado...Friction-free ETL: Automating data transformation with Impala | Strata + Hado...
Friction-free ETL: Automating data transformation with Impala | Strata + Hado...
 
Impala: Real-time Queries in Hadoop
Impala: Real-time Queries in HadoopImpala: Real-time Queries in Hadoop
Impala: Real-time Queries in Hadoop
 
Magnet Shuffle Service: Push-based Shuffle at LinkedIn
Magnet Shuffle Service: Push-based Shuffle at LinkedInMagnet Shuffle Service: Push-based Shuffle at LinkedIn
Magnet Shuffle Service: Push-based Shuffle at LinkedIn
 
AWS July Webinar Series: Amazon redshift migration and load data 20150722
AWS July Webinar Series: Amazon redshift migration and load data 20150722AWS July Webinar Series: Amazon redshift migration and load data 20150722
AWS July Webinar Series: Amazon redshift migration and load data 20150722
 
(ISM303) Migrating Your Enterprise Data Warehouse To Amazon Redshift
(ISM303) Migrating Your Enterprise Data Warehouse To Amazon Redshift(ISM303) Migrating Your Enterprise Data Warehouse To Amazon Redshift
(ISM303) Migrating Your Enterprise Data Warehouse To Amazon Redshift
 
Cloudera Impala
Cloudera ImpalaCloudera Impala
Cloudera Impala
 
AWS July Webinar Series: Amazon Redshift Reporting and Advanced Analytics
AWS July Webinar Series: Amazon Redshift Reporting and Advanced AnalyticsAWS July Webinar Series: Amazon Redshift Reporting and Advanced Analytics
AWS July Webinar Series: Amazon Redshift Reporting and Advanced Analytics
 
Connecting Hadoop and Oracle
Connecting Hadoop and OracleConnecting Hadoop and Oracle
Connecting Hadoop and Oracle
 
Amazon Redshift in Action: Enterprise, Big Data, and SaaS Use Cases (DAT205) ...
Amazon Redshift in Action: Enterprise, Big Data, and SaaS Use Cases (DAT205) ...Amazon Redshift in Action: Enterprise, Big Data, and SaaS Use Cases (DAT205) ...
Amazon Redshift in Action: Enterprise, Big Data, and SaaS Use Cases (DAT205) ...
 
Migrating Apache Hive Workload to Apache Spark: Bridge the Gap with Zhan Zhan...
Migrating Apache Hive Workload to Apache Spark: Bridge the Gap with Zhan Zhan...Migrating Apache Hive Workload to Apache Spark: Bridge the Gap with Zhan Zhan...
Migrating Apache Hive Workload to Apache Spark: Bridge the Gap with Zhan Zhan...
 
Optimizing Your Amazon Redshift Cluster for Peak Performance - AWS Summit Syd...
Optimizing Your Amazon Redshift Cluster for Peak Performance - AWS Summit Syd...Optimizing Your Amazon Redshift Cluster for Peak Performance - AWS Summit Syd...
Optimizing Your Amazon Redshift Cluster for Peak Performance - AWS Summit Syd...
 
Cloudera Impala Internals
Cloudera Impala InternalsCloudera Impala Internals
Cloudera Impala Internals
 
Best Practices for Migrating your Data Warehouse to Amazon Redshift
Best Practices for Migrating your Data Warehouse to Amazon RedshiftBest Practices for Migrating your Data Warehouse to Amazon Redshift
Best Practices for Migrating your Data Warehouse to Amazon Redshift
 
Impala for PhillyDB Meetup
Impala for PhillyDB MeetupImpala for PhillyDB Meetup
Impala for PhillyDB Meetup
 
HBase and Impala Notes - Munich HUG - 20131017
HBase and Impala Notes - Munich HUG - 20131017HBase and Impala Notes - Munich HUG - 20131017
HBase and Impala Notes - Munich HUG - 20131017
 
How We Optimize Spark SQL Jobs With parallel and sync IO
How We Optimize Spark SQL Jobs With parallel and sync IOHow We Optimize Spark SQL Jobs With parallel and sync IO
How We Optimize Spark SQL Jobs With parallel and sync IO
 

Similar to Data Warehouse 2.0: Master Techniques for EPM Guys (Powered by ODI)

How to Use Your Existing ODI On-Premise to Seamlessly Integrate PBCS
How to Use Your Existing ODI On-Premise to Seamlessly Integrate PBCSHow to Use Your Existing ODI On-Premise to Seamlessly Integrate PBCS
How to Use Your Existing ODI On-Premise to Seamlessly Integrate PBCS
Rodrigo Radtke de Souza
 
Relational data modeling trends for transactional applications
Relational data modeling trends for transactional applicationsRelational data modeling trends for transactional applications
Relational data modeling trends for transactional applications
Ike Ellis
 
No more unknown members! Smart data load validation for Hyperion Planning usi...
No more unknown members! Smart data load validation for Hyperion Planning usi...No more unknown members! Smart data load validation for Hyperion Planning usi...
No more unknown members! Smart data load validation for Hyperion Planning usi...
Rodrigo Radtke de Souza
 
RGiampaoli.NoMoreUnknownMembers
RGiampaoli.NoMoreUnknownMembersRGiampaoli.NoMoreUnknownMembers
RGiampaoli.NoMoreUnknownMembers
Ricardo Giampaoli
 
Webinar: Successful Data Migration to Microsoft Dynamics 365 CRM | InSync
Webinar: Successful Data Migration to Microsoft Dynamics 365 CRM | InSyncWebinar: Successful Data Migration to Microsoft Dynamics 365 CRM | InSync
Webinar: Successful Data Migration to Microsoft Dynamics 365 CRM | InSync
APPSeCONNECT
 
Are we there Yet?? (The long journey of Migrating from close source to opens...
Are we there Yet?? (The long journey of Migrating from close source to opens...Are we there Yet?? (The long journey of Migrating from close source to opens...
Are we there Yet?? (The long journey of Migrating from close source to opens...
Marco Tusa
 
Integrating Oracle Data Integrator with Oracle GoldenGate 12c
Integrating Oracle Data Integrator with Oracle GoldenGate 12cIntegrating Oracle Data Integrator with Oracle GoldenGate 12c
Integrating Oracle Data Integrator with Oracle GoldenGate 12c
Edelweiss Kammermann
 
RGiampaoli.DynamicIntegrations
RGiampaoli.DynamicIntegrationsRGiampaoli.DynamicIntegrations
RGiampaoli.DynamicIntegrations
Ricardo Giampaoli
 
Data Science Machine Lerning Bigdat.pptx
Data Science Machine Lerning Bigdat.pptxData Science Machine Lerning Bigdat.pptx
Data Science Machine Lerning Bigdat.pptx
Priyadarshini648418
 
Where to Start ETL Developer Career
Where to Start ETL Developer CareerWhere to Start ETL Developer Career
Where to Start ETL Developer Career
Rodrigo Radtke de Souza
 
Not Your Father’s Data Warehouse: Breaking Tradition with Innovation
Not Your Father’s Data Warehouse: Breaking Tradition with InnovationNot Your Father’s Data Warehouse: Breaking Tradition with Innovation
Not Your Father’s Data Warehouse: Breaking Tradition with Innovation
Inside Analysis
 
From lots of reports (with some data Analysis) 
to Massive Data Analysis (Wit...
From lots of reports (with some data Analysis) 
to Massive Data Analysis (Wit...From lots of reports (with some data Analysis) 
to Massive Data Analysis (Wit...
From lots of reports (with some data Analysis) 
to Massive Data Analysis (Wit...
Mark Rittman
 
Etl - Extract Transform Load
Etl - Extract Transform LoadEtl - Extract Transform Load
Etl - Extract Transform Load
ABDUL KHALIQ
 
Data Migration Done Right for Microsoft Dynamics 365/CRM
Data Migration Done Right for Microsoft Dynamics 365/CRMData Migration Done Right for Microsoft Dynamics 365/CRM
Data Migration Done Right for Microsoft Dynamics 365/CRM
Daniel Cai
 
Extract, Transform and Load.pptx
Extract, Transform and Load.pptxExtract, Transform and Load.pptx
Extract, Transform and Load.pptx
JesusaEspeleta
 
SPSChicagoBurbs 2019 - What is CDM and CDS?
SPSChicagoBurbs 2019 - What is CDM and CDS?SPSChicagoBurbs 2019 - What is CDM and CDS?
SPSChicagoBurbs 2019 - What is CDM and CDS?
Nicolas Georgeault
 
Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)
James Serra
 
Transform your DBMS to drive engagement innovation with Big Data
Transform your DBMS to drive engagement innovation with Big DataTransform your DBMS to drive engagement innovation with Big Data
Transform your DBMS to drive engagement innovation with Big Data
Ashnikbiz
 
Key Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to PostgresKey Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to Postgres
EDB
 
Designing dashboards for performance shridhar wip 040613
Designing dashboards for performance shridhar wip 040613Designing dashboards for performance shridhar wip 040613
Designing dashboards for performance shridhar wip 040613
Mrunal Shridhar
 

Similar to Data Warehouse 2.0: Master Techniques for EPM Guys (Powered by ODI) (20)

How to Use Your Existing ODI On-Premise to Seamlessly Integrate PBCS
How to Use Your Existing ODI On-Premise to Seamlessly Integrate PBCSHow to Use Your Existing ODI On-Premise to Seamlessly Integrate PBCS
How to Use Your Existing ODI On-Premise to Seamlessly Integrate PBCS
 
Relational data modeling trends for transactional applications
Relational data modeling trends for transactional applicationsRelational data modeling trends for transactional applications
Relational data modeling trends for transactional applications
 
No more unknown members! Smart data load validation for Hyperion Planning usi...
No more unknown members! Smart data load validation for Hyperion Planning usi...No more unknown members! Smart data load validation for Hyperion Planning usi...
No more unknown members! Smart data load validation for Hyperion Planning usi...
 
RGiampaoli.NoMoreUnknownMembers
RGiampaoli.NoMoreUnknownMembersRGiampaoli.NoMoreUnknownMembers
RGiampaoli.NoMoreUnknownMembers
 
Webinar: Successful Data Migration to Microsoft Dynamics 365 CRM | InSync
Webinar: Successful Data Migration to Microsoft Dynamics 365 CRM | InSyncWebinar: Successful Data Migration to Microsoft Dynamics 365 CRM | InSync
Webinar: Successful Data Migration to Microsoft Dynamics 365 CRM | InSync
 
Are we there Yet?? (The long journey of Migrating from close source to opens...
Are we there Yet?? (The long journey of Migrating from close source to opens...Are we there Yet?? (The long journey of Migrating from close source to opens...
Are we there Yet?? (The long journey of Migrating from close source to opens...
 
Integrating Oracle Data Integrator with Oracle GoldenGate 12c
Integrating Oracle Data Integrator with Oracle GoldenGate 12cIntegrating Oracle Data Integrator with Oracle GoldenGate 12c
Integrating Oracle Data Integrator with Oracle GoldenGate 12c
 
RGiampaoli.DynamicIntegrations
RGiampaoli.DynamicIntegrationsRGiampaoli.DynamicIntegrations
RGiampaoli.DynamicIntegrations
 
Data Science Machine Lerning Bigdat.pptx
Data Science Machine Lerning Bigdat.pptxData Science Machine Lerning Bigdat.pptx
Data Science Machine Lerning Bigdat.pptx
 
Where to Start ETL Developer Career
Where to Start ETL Developer CareerWhere to Start ETL Developer Career
Where to Start ETL Developer Career
 
Not Your Father’s Data Warehouse: Breaking Tradition with Innovation
Not Your Father’s Data Warehouse: Breaking Tradition with InnovationNot Your Father’s Data Warehouse: Breaking Tradition with Innovation
Not Your Father’s Data Warehouse: Breaking Tradition with Innovation
 
From lots of reports (with some data Analysis) 
to Massive Data Analysis (Wit...
From lots of reports (with some data Analysis) 
to Massive Data Analysis (Wit...From lots of reports (with some data Analysis) 
to Massive Data Analysis (Wit...
From lots of reports (with some data Analysis) 
to Massive Data Analysis (Wit...
 
Etl - Extract Transform Load
Etl - Extract Transform LoadEtl - Extract Transform Load
Etl - Extract Transform Load
 
Data Migration Done Right for Microsoft Dynamics 365/CRM
Data Migration Done Right for Microsoft Dynamics 365/CRMData Migration Done Right for Microsoft Dynamics 365/CRM
Data Migration Done Right for Microsoft Dynamics 365/CRM
 
Extract, Transform and Load.pptx
Extract, Transform and Load.pptxExtract, Transform and Load.pptx
Extract, Transform and Load.pptx
 
SPSChicagoBurbs 2019 - What is CDM and CDS?
SPSChicagoBurbs 2019 - What is CDM and CDS?SPSChicagoBurbs 2019 - What is CDM and CDS?
SPSChicagoBurbs 2019 - What is CDM and CDS?
 
Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)
 
Transform your DBMS to drive engagement innovation with Big Data
Transform your DBMS to drive engagement innovation with Big DataTransform your DBMS to drive engagement innovation with Big Data
Transform your DBMS to drive engagement innovation with Big Data
 
Key Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to PostgresKey Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to Postgres
 
Designing dashboards for performance shridhar wip 040613
Designing dashboards for performance shridhar wip 040613Designing dashboards for performance shridhar wip 040613
Designing dashboards for performance shridhar wip 040613
 

Recently uploaded

一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
zsjl4mimo
 
Intelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicineIntelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicine
AndrzejJarynowski
 
A presentation that explain the Power BI Licensing
A presentation that explain the Power BI LicensingA presentation that explain the Power BI Licensing
A presentation that explain the Power BI Licensing
AlessioFois2
 
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
g4dpvqap0
 
DSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelinesDSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelines
Timothy Spann
 
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
74nqk8xf
 
Everything you wanted to know about LIHTC
Everything you wanted to know about LIHTCEverything you wanted to know about LIHTC
Everything you wanted to know about LIHTC
Roger Valdez
 
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
apvysm8
 
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
g4dpvqap0
 
State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023
kuntobimo2016
 
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data LakeViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
Walaa Eldin Moustafa
 
一比一原版(牛布毕业证书)牛津布鲁克斯大学毕业证如何办理
一比一原版(牛布毕业证书)牛津布鲁克斯大学毕业证如何办理一比一原版(牛布毕业证书)牛津布鲁克斯大学毕业证如何办理
一比一原版(牛布毕业证书)牛津布鲁克斯大学毕业证如何办理
74nqk8xf
 
Learn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queriesLearn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queries
manishkhaire30
 
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdfUdemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Fernanda Palhano
 
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
bopyb
 
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging DataPredictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
Kiwi Creative
 
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
74nqk8xf
 
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
Timothy Spann
 
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
nyfuhyz
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
Timothy Spann
 

Recently uploaded (20)

一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
 
Intelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicineIntelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicine
 
A presentation that explain the Power BI Licensing
A presentation that explain the Power BI LicensingA presentation that explain the Power BI Licensing
A presentation that explain the Power BI Licensing
 
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
一比一原版(Glasgow毕业证书)格拉斯哥大学毕业证如何办理
 
DSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelinesDSSML24_tspann_CodelessGenerativeAIPipelines
DSSML24_tspann_CodelessGenerativeAIPipelines
 
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
 
Everything you wanted to know about LIHTC
Everything you wanted to know about LIHTCEverything you wanted to know about LIHTC
Everything you wanted to know about LIHTC
 
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
 
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
一比一原版(爱大毕业证书)爱丁堡大学毕业证如何办理
 
State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023
 
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data LakeViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data Lake
 
一比一原版(牛布毕业证书)牛津布鲁克斯大学毕业证如何办理
一比一原版(牛布毕业证书)牛津布鲁克斯大学毕业证如何办理一比一原版(牛布毕业证书)牛津布鲁克斯大学毕业证如何办理
一比一原版(牛布毕业证书)牛津布鲁克斯大学毕业证如何办理
 
Learn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queriesLearn SQL from basic queries to Advance queries
Learn SQL from basic queries to Advance queries
 
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdfUdemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
Udemy_2024_Global_Learning_Skills_Trends_Report (1).pdf
 
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
一比一原版(GWU,GW文凭证书)乔治·华盛顿大学毕业证如何办理
 
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging DataPredictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
 
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
 
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
06-12-2024-BudapestDataForum-BuildingReal-timePipelineswithFLaNK AIM
 
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
 
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Dat...
 

Data Warehouse 2.0: Master Techniques for EPM Guys (Powered by ODI)

  • 1.
  • 2. Data Warehouse 2.0 Master techniques for EPM guys (powered by ODI) Ricardo Giampaoli Rodrigo Radtke
  • 3. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM About the Speakers Giampaoli, Ricardo • Oracle Ace • Master in Business Administration and IT management • EPM Consultant @ Dell • Essbase/Planning/OBIEE/ODI Certified Specialist • Blogger @ devepm.com Radtke, Rodrigo • Oracle Ace • Graduated in Computer Engineering • Software Developer Sr. Advisor at Dell • ODI, Oracle and Java Certified • Blogger @ devepm.com
  • 4. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM What we'll learn • EPM Application Processes • Traditional Data Warehouse • DW for EPM Applications • Metadata Process • Data Load Process • Data Extract Process • Oracle Partitioning
  • 5. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM EPM Tools • The architecture of EPM applications are very similar and for the simplicity purpose this presentation is going to use Planning/Essbase as example • Three main possible processes that an EPM applications could have: • Metadata process: sync the metadata between the source system and the EPM applications • Data Load process: load the data to the EPM Applications • Data Extract process: extract data from the EPM Applications • Normally it is done manually or using a script to load a text file or SQL with all data/metadata to the EPM application.
  • 6. Why this is not so good? • Manual processes are always error prone • Tons of files to load/manage • Not centralized • Not scalable for big environments • Not change friendly • Data quality issues • Harder to achieve audit standards • Not feasible for huge volume of data All can be fixed by creating a supporting Data Warehouse (DW)
  • 7. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM Traditional Data Warehouse • The DW should be implemented in a relational database (RDBMS) since they are more suitable for the Central Data Warehouse role than multidimensional databases (OLAP servers) • The data model for the DW should be based on a dimensional design (Star Schema, Snow Flake or Hybrid) to facilitate integration and scalability, and provide greater performance for analytical processing. • No matter if is Star Schema, Snow Flake or Hybrid all models are based in Dimensions that joins with a fact table thought PK’s and FK’s • The DW can then provide data directly to other systems like EPM Applications
  • 8. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM DW for EPM Applications Traditional DW • The data is spread over numerous tables • The data is related between the table by PKs and FKs • We can have different data in different tables that has no direct relationship • We can query any table to get any data • The metadata inside the tables has no meaning for the database (it’s just data) EPM Applications • The data will be confine inside a cube • The data is directly related with the members of the dimensions • It’s impossible to have a data that is not related with all dimensions • To query we must inform at least one member of each dimension • The metadata has a parent/child relationship, has a specific order and each member will behave depending on its dimension type
  • 9. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM DW for EPM Applications • The problem is: A DW for EPM applications should be totally different from a Traditional DW • EPM is already a “DW” since it has all dimensions on it and stores all data inside the cubes • We don’t need a Star Schema, Snow Flake or Hybrid model to manage dimensions inside EPM • We can manage dimensions more efficiently using a “metadata repository” • The relationship between the EPM apps and the outside systems are the members POV, and this information is already inside our data table • We don’t need any PK’s or FK’s to our “metadata repository” • We need to model our DW thinking about EPM concepts/needs
  • 10. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM DW for EPM Applications Fact Dim 1 Dim 6 Dim 5 Dim 2 Dim 3 Dim 4 Cell Dim1 Dim 2 Dim4
  • 11. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM Metadata Process • The first process needs to be the Metadata Process since without the members in the EPM we cannot load data to the cubes • Depending of the EPM application and the dimension we want to load we will have different properties and its values • But for all EPM suit we always have the member information like its parent, type of storage, consolidation sign and more • To create a good Metadata process we need to design our table in the most efficient way and for that we need to know what each EPM Applications requires
  • 12. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM Metadata Process: Dimensions • Planning/Essbase has 4 different types of Dimensions • Account • Entity • User Defined Dimension • Attribute Dimension • Each Dimension has its own properties but most of them are the same Account Dimension Entity Dimension User Defined Dimension Attibute Dimension Member Member Member Member Parent Parent Parent Parent Alias: Default Alias: Default Alias: Default Alias: Default Operation Operation Operation Operation Valid For Consolidations Valid For Consolidations Valid For Consolidations Data Storage Data Storage Data Storage Two Pass Calculation Two Pass Calculation Two Pass Calculation Description Description Description Formula Formula Formula UDA UDA UDA Smart List Smart List Smart List Data Type Data Type Data Type Aggregation Aggregation Aggregation Plan Type Plan Type Plan Type Account Type Time Balance Skip Value Exchange Rate Type Variance Reporting Source Plan Type Base Currency
  • 13. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM Metadata Process: Generic Table • One Table to “rule” them all • Instead of having one table per dimension, a generic table will have one unique column for each source (white) • One extra column to identify to where that member belongs (yellow) • Any other useful information (Orange) Account Dimension Entity Dimension User Defined Dimension Attibute Dimension Metadata Table Account Entity Products Prod_Attrib MEMBER Parent Parent Parent Parent PARENT Alias: Default Alias: Default Alias: Default Alias: Default ALIAS Operation Operation Operation Operation OPERATION Valid For Consolidations Valid For Consolidations Valid For Consolidations VALID_FOR_CONSOL Data Storage Data Storage Data Storage DATASTORAGE Two Pass Calculation Two Pass Calculation Two Pass Calculation TWOPASS_CALC Description Description Description DESCRIPTION Formula Formula Formula FORMULA UDA UDA UDA UDA Smart List Smart List Smart List SMARTLIST Data Type Data Type Data Type DATA_TYPE Aggregation Aggregation Aggregation CONS_PLAN_TYPE1 Plan Type Plan Type Plan Type PLAN_TYPE1 Account Type ACCOUNT_TYPE Time Balance TIME_BALANCE Skip Value SKIP_VALUE Exchange Rate Type EXC_RATE Variance Reporting VARIANCE_REP Source Plan Type SRC_PLAN_TYPE Base Currency CURRENCY APP_NAME DIM_TYPE HIER_NAME GENERATION HAS_CHILDREN POSITION
  • 15. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM Metadata Process: Generic Table Benefits • Centralized: metadata repository that contains all metadata for all EPM applications • Scalable: architecture that can have any number of Metadata without need of changes • Dynamic: can use generic objects to load any number of EPM applications • Accessible: All metadata from all EPM application are easily available if needed (Data quality, queries, as metadata to other systems…) • Performance: Table can be partitioned by Application or/and Hierarchy
  • 16. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM Metadata Process: Overview Sources Oracle Stage Area Table 1 Table 2 Table 3 Table 4 Table N EPM App 1 App 2 App N SQL Server Teradata Excel XML Metadata Table Metadata Generic Components Send Email Error Handling App 3 1 2 4 3
  • 17. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM DW Powered by ODI: Metadata Process • ODI can read the EPM application repositories to understand the structure and configuration of that application • Based on the repository ODI can create dynamic code • ODI can tie out metadata from the source based on the application repository • Metadata load becomes more efficient and powerful allowing better management of Moved Members, Attribute Member movement, Reorder sibling members, Deleted or move Shared Members • No extra code to add new applications/dimensions • Complete details at https://devepm.com/2014/12/18/otnarchbeat-publication/
  • 18. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM Data Load Processes • To load data into any EPM Application we must inform one member for each dimension and the value we want to load • Depending of the Application we can have more or less Dimensions but by default we have some standard dimensions that exists in all Apps • Accounts • Entity • Years • Periods • Scenario • Version • Currency
  • 19. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM • We can create only one generic inbound table (Fact table) that contains one column from each planning dimension (Distinct of all dimensions from all Applications) to build a centralized structure to hold all data Data Load Processes: Inbound Tables
  • 20. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM • We can go further in the inbound design and create one column for each period • Smaller table (less rows) and faster to query • Load performance greatly improved (one line has the entire year information) • In either case we have • Centralized repository of data (easy to add new applications) • Scalable to all EPM Applications • Data is reusable (No data replication) • Generic objects (to load, error handling, email sending…) Data Load Processes: Multi-Periods
  • 21. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM Data Load Processes: Pivot/Unpivot • To use the Multi-Periods architecture we will need to have the ability to pivot and unpivot data • Most of the source system will not have the capability to provide data in multi-period format as well to receive in this format • To these we can use PIVOT/UNPIVOT command for Oracle DB • The PIVOT operator takes data in separate rows, aggregates it and converts it into columns • The UNPIVOT operator converts column-based data into separate rows
  • 22. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM Data Load Processes: Pivot 1. Define the columns to be Pivoted 2. Use an consolidation function on the data column 1. SUM, AVG, MIN, MAX, COUNT… 2. Specify the data to me Pivoted 3. The data MUST be a constant in the “IN” Clouse 3. Data is Pivoted
  • 23. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM Data Load Processes: Unpivot 1. Define the columns to be UnPivoted 2. Select a name for the Data column and the Member column 1. Specify the data to me UnPivoted 2. The data MUST be a constant in the “IN” Clouse 3. Data is UnPivoted
  • 24. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM Data Load Processes: Data Quality • EPM applications does not like bad data • For example, if we try to load an invalid member in Essbase using ODI, it switches to cell mode greatly impacting the load process performance • Having just one metadata and inbound table makes the data quality process way simpler • All metadata is stored in a single place • All data is stored in a single place • Data quality check can be done for all applications in a single process • Error handling/send email process are easy to create since everything is gathered in the same place
  • 25. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM • With only one inbound generic table, we will have only one generic E$ table • Stores all the POV and the data that fails the validation • ODI_Cons_name, Interface_Name, App_Name, Cube and ODI_Sess_NO identifies what was the error, from which package that error came from and to which application it should have loaded DW Powered by ODI: Data Quality
  • 26. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM Data Load Processes: Overview Sources Oracle Stage Area Table 1 Table 2 Table 3 Table 4 Table N EPM App 1 App 2 App N SQL Server Teradata Excel XML E$ Table E$ Inbound Generic Inbound Table Inbound Generic Generic Components Send Email Error Handling App 3 1 2 3 4 3
  • 27. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM Data Extract Processes • The structure for the outbound table is the same as the inbound and the benefits are almost the same • Faster to export (mainly if is one year export and a BSO cube) • Smaller table (less rows) and faster to query • Centralized repository of data (easy to add new applications) • Scalable to all EPM Applications • Data is reusable (No data replication) • Create views for the target system access the data • In the same way that we have multi-periods in the inbound table we can have it in the outbound table
  • 28. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM Data Extract Processes: Overview 1 Outbound Table Outbound Generic Generic Components Send Email Error Handling 3 View Layer View 1 View 2 View 3 View 4 View N Targets Oracle SQL Server Teradata EPM App 1 App 2 App N App 3 2 4
  • 29. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM Oracle Partition • Partitioning enhances the performance, manageability, and availability of a wide variety of applications and helps reduce the total cost of ownership for storing large amounts of data • Partitioning allows tables, indexes, and index-organized tables to be subdivided into smaller pieces, enabling these database objects to be managed and accessed at a finer level of granularity • Oracle provides a rich variety of partitioning strategies and extensions to address every business requirement • Since it is entirely transparent, partitioning can be applied to almost any application without the need for potentially expensive and time consuming application changes.
  • 31. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM Oracle Sub Partition: Types • Composite Partitioning • Range-Range • Range-Hash • Range-List • List-Range • List-Hash • List-List Composite Partitioning List - Range Scenario Actual Forecast Budget Period Jan to Mar Apr to Jun Jul to Sep Oct to Dec
  • 32. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM DW Powered by ODI: Partitioning • ODI can be used to Manage table partitions • Using command on source to query All_Tab_Partitions and verify if the partition exists or not • Using command on target to Truncate/Drop/Create partitions • ODI can also manage Sub- partitions • Harder to maintain • Better to use a composite key
  • 33. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM Overview of our environment • 10000+ users around the world • 24x7 operation • 10+ source systems • 18 billions+ inserts/month • 50 millions+ updates/month • 60 millions+ deletes/month • 14 thousand+ ODI sessions/month
  • 34. DevEpm.com @RZGiampaoli @RodrigoRadtke @DEVEPM Ricardo Giampaoli – TeraCorp Rodrigo Radtke de Souza - Dell Thank you!