biwa sig bijeenkomst · - alle data worden ongewijzigd opgeslagen (geen business rules, geen...
TRANSCRIPT
BIWA SIG Bijeenkomst
ODI op Exadata
Robbert Naastepad
e-mail: [email protected]
LinkedIn: https://www.linkedin.com/in/robnaastepad
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
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
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
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
Architectuur BI 3.0 6BIWA Sig Bijeenkomst
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
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
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
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
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
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
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
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
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
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
Oracle Data Integrator 12c onderdelen.
17BIWA Sig Bijeenkomst
18BIWA Sig Bijeenkomst
Oracle Data Integrator op Exa
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
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
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
22BIWA Sig Bijeenkomst
23BIWA Sig Bijeenkomst
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
25BIWA Sig Bijeenkomst
Vragen?