take a peek at dell's smart epm global environment

25
Take a peek at Dell's smart EPM global environment Ricardo Giampaoli Rodrigo Radtke

Upload: rodrigo-radtke-de-souza

Post on 21-Jan-2018

300 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Take a peek at Dell's smart EPM global environment

Ricardo Giampaoli

Rodrigo Radtke

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMAbout the Speakers

Giampaoli, Ricardo

• Oracle Ace

• Master in Business Administration and IT management

• EPM training instructor

• 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

@DEVEPMWhat we'll learn

• Global EPM Architecture Overview

• DRM Environment

• Hyperion Planning Environment

• Datamart Environment

• HFM Environment

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMGlobal EPM Architecture overview

EBI/DDW Units

HRDRM

(Metadata) NovoraGlovia PIM

GCC (Global Curr Conv)

Source Systems

TableauBO

OBIEE EnvironmentAP

DashboardJAT

Report Environment

SmartView WorkSpace

EBI/DDW

HR

CorpTax

DM

OutboundSystems

Assurenet

Ariba Data Enrichment

GWAC GISM

EPM/VendorCentral Currency

EMEA

DFS

CONWF

APJ CONPNL

AMER

RUM

WWOPS

Planning EnvironmentPnlMfg

CapexWrkForce

PnlWeekly

PlanWeekly

Apollo

StarPAris

FDM Environment

HFM Environment

TaxLEAppFinCApp

ODI

Deltek

Oracle DB

Essbase

Planning Essbase

SpreadSheet

WEB

Technologies

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMGlobal EPM Architecture Fun Facts

• 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

@DEVEPMDRM Environment

• All metadata from all Planning/Essbase/HFM/Datamart application is stored in DRM

• 24 direct downstream, some of then are HUBS that create 50+ indirect downstream• Entity/CC: 549.387

• Product: 59.278

• Local channel: 48.944

• Account: 8.431

• Abstraction layer extracts data and create views in an oracle database

• Each stream has it own service account that has access to views containing what they need to consume

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMDRM Environment

DRM

Downstream

Views

App A

App B

App C

App N

DRM Exports

PROD_HIER

ACCT_HIER

CHAN_HIER

Pro

file A

Pro

file B

Pro

file C

Pro

file N

DRM Abstraction Layer App

ODI

Product

Hierarchy

Channel

Hierarchy

Account

Hierarchy

DRM

Main

Applicati

on

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMHyperion Planning Environment

• 6 Hyperion Planning applications

• 2 ASO cubes to aggregate Pnl and WrkForce data

• 1 BSO cube for central currency

• Data synchronization is done by using Replicated Partitions

AMER APJ EMEA WWOPS RUM DFS CONPNL CONWF

Dimensions 14 14 14 14 15 13 14 14

Account 4192 4192 4192 4192 4273 1918 4186 89

Entity 21048 14113 15565 14638 1591 3144 64525 64525

Size* 14 Gb 10 GB 11 Gb 11 Gb 2 Gb 450 Mb 15 GB 15 Gb

* Current Forecast

Central Currency

EMEA

DFS

CONWF

APJ CONPNL

AMER

RUM

WWOPS

Planning EnvironmentPnlMfg

CapexWrkForce

PnlWeekly

PlanWeekly

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMHyperion Planning Metadata Load

• Creates a delta between what exists in DRM and what exists in Planning enabling: (Kscope 13 session)• Load only what’s new/changes thanks to our “Tieout” approach

• Identify if a shared members needs to be moved or created

• Move members

• “Move” attribute members

• Reorder sibling members

• Deleted Shared Members

• Creates UDA’s based in the DRM metadata:• Identify from where that metadata is coming from (Used in the replicated partition

area definition)

• Identify what Accounts, Entities and Products will be part of the replication

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMHyperion Planning Metadata Load

• At Dell we need minimize the downtime during the maintenance process and guarantee the metadata accuracy

• For this we have 2 planning environment in load balance• One environment we call “Primary” environment and it contains 3

servers

• The other Environment we call “Meta” environment and it contains 1 server

• This enable us to restart the Meta Planning service without impact the Primary applications

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMHyperion Planning Metadata Load

• All maintenance is done in the meta servers (Primary servers continues on line)

• The “Primary” application repository is copied over the “Meta” repository

• After the maintenance, the administrator team checks if all metadata is ok (A quarter of data is loaded for this check)

• After Metadata is validated the “Meta” application repository is “deployed” over the “Primary” application repository

Meta ApplicationsPrimary ApplicationsCopy

To startMaintenance

Maintenance processes

Deploy back to Primary

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMHyperion Planning Metadata Load

StartCOPY PRIMARY

TO META

Copy Primary Planning App to

Meta AppYES

Restart PlanningLoad Metadata

from DRM

Load Metadata to Meta Apps

LOAD METADATA TO META APP

LOAD METADATA FROM DRM

YES

NO

YES

End

NO

Load Validation, pre tieout and Record Rejection Handle

Planning Extract for tieout table

Tieout metadata

User warnings and errors

APPLICATION SELECTION

NO

REFRESH ESSBASE

Refresh EssbaseYES

NO

Create Tieout Table

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMHyperion Planning Metadata Deploy

StartAPPLICATION

SELECTION

Copy Meta app to Primary app (Planning)

Restart Planning

End

Backup Primary App (Planning)

Refresh Essbase

REFRESH ESSBASE

Error

YES

NOCopy Dim tables

from Meta Primary schema

User warnings and errors

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMBSO to ASO Replicated Partitions

• The data from the BSO cubes are replicated to the ASO Cubes

• All application, but RUM, uses the same set of accounts

• Each regional application has it own unique set of Entities

• RUM is a special application that shares Entities across the regional applications and have just a subset of all accounts

• RUM data has precedence over the regional applications

• Due to tuple limitation and Shared entities between apps, we are forced to split the partition in two subareas• One subarea replicate all account (AMER and RUM) and just the unique

entities for that application (AMER Entities)

• The other subarea replicates only the unique account for that application (AMER) and just the entities that are common to both application (AMER and RUM)

E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 AMER

A1 APJ

A2 EMEA

A3 WWOPS

A4 RUM*

A5

A6

A7

A8

A9

A10

RUM

AREA

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMHyperion Planning Security

• For the regional applications all security is granted by administrators• 3 security groups for grant

• One for Channel and LOB

• Other for Product Line

• And other to define the data access (read or write)

• RUM is a special application that contains entities from all regions

• Security must be granted in such way that an user from a region can only see data from their cost centers

• The parents aggregation should display only the sum of data from that user region

• Cost center from different regions under the same parent

• Cost center region is defined by an attribute dimension

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMHyperion Planning Security (RUM)

• A Region dimension to split the data by the world regions and provide the right aggregation in parent levels

• The security must be granted for all users or groups in the high level members

• The users or groups names should have a relationship between it and the attribute member.

• Use Planning application repository to dynamically build the Entity dimension security based in the geography attributes and the groups associated in the Entity Upper level members (Kscope 14)

Groups

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMHyperion Essbase Backups

• All backups are automated by ODI

• There’re 2 backups:• Daily backups

• Backups the file system

• Weekly backups• Export Data

• Restructure

• Space Recovery

• The schedule respects the Application region to execute

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMHyperion Planning Data Load

• Generic Component to handle all data load• Only a single component that loads data to Essbase. • All the possible maintenance will be done in just one point, not in

multiple• Since it is modular, it can be added to any other inbound interface easily• Inbound table is partitioned by ODI Job

• ODI constraints work great in this architecture• One constraint for each column• Validate it against the planning metadata repository in order to check if

all data is correct before loading to Essbase• No more “Unknown Members” (Kscope 15 session)

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMHyperion Planning Data Load

Sources

Oracle

Stage

Area

Table 1

Table 2

Table 3

Table 4

Table N

Planning

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

@DEVEPMHyperion Planning Data Extract

• Generic Component to handle all data Extract• Only a single component that extract data from Essbase

• All the possible maintenance will be done in just one point, not in multiple

• Since it is modular, it can be added to any other outbound interface easily

• Outbound table is partitioned by ODI Job

• Views are created on top of the outbound generic table to grant specific access for each consumer

• Any special requirement is handled in the views (mapping or formulas)

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMHyperion Planning Data Extract

Targets

Oracle

View

Layer

View 1

View 2

View 3

View 4

View N

Planning

App

1

App

2

App

N

SQL Server

Teradata

Outbound Table

Outbound

Generic

Generic Components

Send

Email

Error

Handling

App

3

12

3

4

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMDatamart Environment

ASOMetadata

Source

DRM

Star

PAris

Apollo

EBS

Source

GL

PA

AP

Statutory

OBIEE

SmartView

JAT

AP

Dashboard

APStage

Base

Star

Stage

Base

Star

AP Dashboard FDM

Datamarts

BO TableauExternal Vendor

Notifications

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMHFM Environment

• 2 HFM applications• FinCApp is used for consolidate and report external

financial data for SEC reporting purposes

• TaxEApp is used for Tax Reporting for CorpTax load

• ODI to load HFM 11.1.2.4 with custom KMs using Java API• RKM

• IKM Metadata

• IKM Data

• IKM Data Consolidation

• LKM Extract Data

HFM Environment

TaxLEAppFinCApp

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPMHFM Environment

Metadata

DRM

EBS

GL

HFM_ETLINBOUND_GENERIC

HFM Database

Datamart

FDM

Currency

GCC

FinCapp

TaxLEapp

HFM

CorpTax

Outbound

SmartView

Hyperion

Reports

Reports

DevEpm.com

@RZGiampaoli

@RodrigoRadtke

@DEVEPM

Ricardo Giampaoli – TeraCorp

Rodrigo Radtke de Souza - Dell

Thank you!