25
BIWA SIG Bijeenkomst ODI op Exadata Robbert Naastepad e-mail: [email protected] LinkedIn: https:// www.linkedin.com/in/robnaastepad

BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

BIWA SIG Bijeenkomst

ODI op Exadata

Robbert Naastepad

e-mail: [email protected]

LinkedIn: https://www.linkedin.com/in/robnaastepad

Page 2: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

BIWA Sig Bijeenkomst 2

Agenda

• Even voorstellen

• Datawarehouse architectuur

• Oracle Data Integrator op Exadata en Exalogic

• Problematiek huidige datawarehouse architectuur

en concept oplossing op exadata

Page 3: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

Wie is Robbert

Persoonlijk

• 49 jaar, getrouwd met Caroll, dochtertje Angelina van 10 jaar.

• Geboren en getogen in Den Haag.

• Hobbies: (Big) Data, Formule 1, lezen.

• Huidige functie: Data / BI Architect MN

Oracle facts:

• 1994 Oracle RDBMS 6.1.7

• 1998 Oracle Graduate Program

• 1999 Beta tests Oracle Warehouse Builder

• 2008 Technisch Product Architect Oracle Health Insurance BI

• 2011 Oracle Data Integrator 11

• 2013 Referentie architectuur BI MN (ODI 12c / Exa X4-2)

BIWA Sig Bijeenkomst 3

Page 4: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

Wat is MN

MN werkt aan de financiële toekomstvoorziening van bijna 2 miljoen

mensen. Dat doen we door de uitvoering van pensioen- en, sociale

regelingen en verzekeringen voor onze opdrachtgevers. Naast het

uitvoeren van deze taken adviseren wij onze opdrachtgevers in

pensioenen en andere vormen van financiële zekerheid. Hierbij

streven wij zowel naar financieel als maatschappelijk rendement en

langetermijnwaardecreatie voor onze stakeholders. Efficiënt, met

aandacht voor mens en omgeving, beheren wij ruim 113 miljard euro.

BIWA Sig Bijeenkomst 4

Page 5: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

BIWA Sig Bijeenkomst 5

Agenda

• Even voorstellen

• Datawarehouse architectuur

• Oracle Data Integrator op Exadata en Exalogic

• Problematiek huidige datawarehouse architectuur

en concept oplossing op exadata

Page 6: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

Architectuur BI 3.0 6BIWA Sig Bijeenkomst

Page 7: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

Data Integratie laag

7

Enterprisedataware-

house

EDW

Analyticscubes

Reports

Alerts, Dashboards

EPM

Datamart

DM

Staging

(bron pull)

STG

Informatie/Dataservices

Linstedt / Hultgren

DatavaultKimball

Sterschema

Pre-staging(bron push)

PRE

Bronnen

SUPERNOVA

Rick v.d. Lans

SuperNova

DATAQUALITY

Proces administratie ADM

BIWA Sig Bijeenkomst

Architectuur BI 3.0 datawarehouse

Page 8: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

Bronnen

- Oracle databases (10g/11g/12c)

- Pull from datawarehouse (Database Link)

- Push into datawarehouse (Oracle GoldenGate)

- JMS (Java Message Service)

- Pull from datawarehouse (Publish/Subscribe model)

- Push into datawarehouse (Point-to-Point model)

- Webservices

- Pull from datawarehouse (SOAP/REST)

- CSV files

- Pull from datawarehouse (external tables)

- SQL Server databases (2005/2008/2012-2014)

- Pull from datawarehouse (Database Link)

- Push into datawarehouse (Oracle GoldenGate)

- Hadoop file system of hive (toekomst)

- Pull from datawarehouse (Oracle Loader for Hadoop)

In geval van pull from datawarehouse 1 MN specifieke ODI loading knowledge module per type

bron.

8BIWA Sig Bijeenkomst

Page 9: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

De procesadministratie (ADM)

In de ADM laag wordt alles vastgelegd over de laadruns en de data die

verladen wordt. Hiervoor wordt iedere laadrun gekoppeld aan een

proces_id. Op basis van dit proces_id kan data door de hele ETL straat worden gevolgd.

Geregistreerd wordt o.a.:

- Wanneer data geladen wordt (tag)

- Wie (userid) of wat (schedulename) data laadt

- Hoeveel rijen er geladen worden

- aantal gelezen in bron

- aantal inserts

- met welke datakwaliteit

- Welke fouten of warnings treden er op

- wanneer

- in welk deel van de laadprogrammatuur

- hoeveel

- welke tabellen

Verder worden in deze laag de stamtabellen onderhouden. (o.a. domeinen)

BIWA Sig Bijeenkomst 9

Page 10: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

Pre-Staging

Doel: Opvangen van data geleverd (push) door bronnen.

- Datastroom uit de bron is continue en wordt ongewijzigd opgevangen.

- Maakt het mogelijk batchgewijze laadruns te blijven gebruiken.

- (Nog) geen mogelijkheid (near) real-time data beschikbaar te stellen in Enterprise Datawarehouse.

- Als data aan de Staging area geleverd zijn worden deze verwijderd.

Geen ODI knowledge module in gebruik, immers push vanuit de bron.

10BIWA Sig Bijeenkomst

Page 11: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

Staging

Doel: Opvangen van data geleverd (pull) door bronnen

- Bronnen (ook Pre-Staging) worden ongewijzigd opgevangen

- Alle data beschikbaar op het Oracle platform

- Alle data ‘getagt’ met Bron, Proces en laaddatum (auditeerbaar, traceerbaar, historie)

- Programmatuur zeer eenvoudig

- Truncate/Insert

ODI knowledge module IKM MN BI30 SQL Control Append

11BIWA Sig Bijeenkomst

Page 12: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

Dataquality

Doel: Controle op kwaliteit van geleverde data

- Geen laag waar data gepersisteerd wordt

- Data wordt met een kwaliteitsstempel getagt, maar niet tegengehouden

Nog niet geïmplementeerd. Zelfbouw? Tooling?

12BIWA Sig Bijeenkomst

Page 13: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

Enterprise Datawarehouse

Doel: Het tijdsafhankelijk, onderwerpgeoriënteerd en geïntegreerd op-

slaan van brongegevens.

- Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing)

- Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar, traceerbaar, historie) en kwaliteitsstempel

- Deltabepaling

- Alleen inserts

- Datavault model (Dan Linstedt)

ODI knowledge module IKM BI30 Oracle Data Vault

13BIWA Sig Bijeenkomst

Page 14: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

Supernova

Doel: Vergemakkelijken tijdsafhankelijk ophalen van data uit de

Enterprise Datawarehouse laag.

- (Materialized) Views

- Vergemakkelijken ‘tijdstroken’ problematiek

- Supernova concept van Rick van der Lans functioneel en technisch verder uitgewerkt door MN

Op basis van de metadata van het EDW in de ODI repository worden views gegenereerd met

Groovy scripts en de ODI API.

14BIWA Sig Bijeenkomst

Page 15: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

Datamart

Doel: Versnellen bevragingen van data met een bepaald onderwerp

- Transformaties (business rules, filtering, datacleansing)

- Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar, traceerbaar, historie), kwaliteitsindicatie

- Alleen (truncate) insert

-Enige laag voor het beschikbaarstellen van data in het datawarehouse aan de “buitenwereld”

- Stermodel (Ralph Kimball)

ODI knowledge module IKM MN BI30 SQL Control Append

15BIWA Sig Bijeenkomst

Page 16: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

BIWA Sig Bijeenkomst 16

Agenda

• Even voorstellen

• Datawarehouse architectuur

• Oracle Data Integrator op Exadata en Exalogic

• Problematiek huidige datawarehouse architectuur

en concept oplossing op exadata

Page 17: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

Oracle Data Integrator 12c onderdelen.

17BIWA Sig Bijeenkomst

Page 18: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

18BIWA Sig Bijeenkomst

Oracle Data Integrator op Exa

Page 19: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

BIWA Sig Bijeenkomst 19

Agenda

• Even voorstellen

• Datawarehouse architectuur

• Oracle Data Integrator op Exadata en Exalogic

• Problematiek huidige datawarehouse architectuur

en concept oplossing op exadata

Page 20: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

20

Probleem in de huidige datawarehouse architectuur

BIWA Sig Bijeenkomst

• ETL programmatuur van Bron naar PRE/STG en van PRE/STG naar EDW is relatief simpel. 80% daarvan wordt gegenereerd vanuit het datamodel.

• Ook de supernova views worden gegenereerd.

• Probleem zit in de opbouw van de Kimball sterren in de DMT laago ETL voor het vullen van dimensies

= 1x query per dimensie op de EDW laag (relatief simpele query)o ETL voor het vullen van feitentabel

- Ophalen business sleutels uit EDW voor lookup dimensie sleutels- Ophalen dimensie sleutels uit DMT- Ophalen meetwaarden uit EDW= 1x query op de EDW en DMT laag (relatief zware query)

o Bijkomend probleem… Tunen voor ETL of Query performance?

Bron PRE STG

EDW DMT

Ontwikkeltijd

1 3 9

S

.

N

O

V

A

Page 21: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

21

Waarom Kimball sterren / Oracle Star Transformation?

BIWA Sig Bijeenkomst

SELECT SUM(s.quantity_sold)

FROM sales s

, products p

, times t

WHERE s.cust_id = c.cust_id

AND s.prod_id = p.prod_id

AND s.time_id = t.time_id

AND c.cust_city = 'BOSTON'

AND p.product = 'UMBRELLA'

AND t.month = 'MAY'

;

SELECT SUM(s.quantity_sold)

FROM sales s

WHERE s.cust_id IN

(SELECT c.cust_id

FROM customers c

WHERE c.cust_city = 'BOSTON')

AND s.prod_id IN

(SELECT p.prod_id

FROM products s

WHERE p.product = 'UMBRELLA')

AND s.time_id IN

(SELECT t.time_id

FROM times t

WHERE t.month = 'MAY')

;

De Oracle optimizer transformeert de query zodat deze alleen die rijen uit de feiten tabel ophaalt die overeenkomen met de te selecteren rijen uit de dimensie tabellen.

Voorwaarden voor optimizer om voor star transformation te kiezen: - STAR_TRANSFORMATION_ENABLED = TRUE - Bitmap indexen op foreign key kolommen van de feiten tabel sales.

Hierna worden de dimensie tabellen op basis van de foreign key gejoind aan de overgebleven rijen van de feiten tabel. Deze hebben per definitie een primary key index op de sleutel.

Meer informatie: https://blogs.oracle.com/optimizer/entry/star_transformation

Page 22: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

22BIWA Sig Bijeenkomst

Page 23: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

23BIWA Sig Bijeenkomst

Page 24: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

24

Volledig gedenormaliseerde tabel ipv Kimbal ster?

BIWA Sig Bijeenkomst

• Voordeleno 1x ETL bouwen

= 1x query naar de EDW laago Geen onderhoud aan PK indexen op dimensieso Geen onderhoud aan Bitmap indexen op FK kolommen feiten tabelo Gebruik storage indexen op exadatao Beter gebruik van HCCo Enorme performance verbetering in combinatie met partitioning optie.

• Nadeleno ETL is veel ingewikkeldero Geen voordeel van conforme dimensieso Enorme hoeveelheid rijen per tabelo Niet iedere OLAP tool kan hier mee om gaan

Dim1

Dim 2

Dim 3

Dim 4

Dim 5

Dim 6

Dim 7

Waarde1

Waarde2

Waarde3

A A A A A A A 10 100 110

A A A A A A B 20 200 220

A A A A A B A 20 200 220

A A A A A B B 40 400 440

Page 25: BIWA SIG Bijeenkomst · - Alle data worden ongewijzigd opgeslagen (geen business rules, geen filtering, geen cleansing) - Alle data ‘getagt’ met Bron, Proces, laaddatum (auditeerbaar,

25BIWA Sig Bijeenkomst

Vragen?