Agilis adattárház építés a gyakorlatban Gollnhofer Gábor – Meta4Consulting Europe Kft.
Bemutatkozás Meta4Consulting Europe Kft. BI, DW és CRM rendszerek tervezése és integrációja Adatmodellezés, modellezési tanácsadás, oktatás Metaadat kezelés (egyedi és nagyvállalati megoldások) IT tanácsadás, ügyfeleknek és szállítóknak is
Gollnhofer Gábor 1996 óta dolgozom adattárház és BI jellegű projekteken projektvezető, rendszertervező, modellező, minőségbiztosító és tanácsadó szerepkörökben
iparági tapasztalatok: államigazgatás, bank, biztosító, FMCG, távközlés, oktatás, stb. Certified Data Vault Data Modeler 2
DW Fórum 2012 - 2012.06.11.
Tartalom A vállalati adattárházzal szembeni elvárások Mi az agilis fejlesztés? Mitől agilis a DW építés? Agilis adattárház kialakítás Data Vault alapon Agilis DW fejlesztést támogató eszközök Bonus
3
DW Fórum 2012 - 2012.06.11.
Az EDW-vel szembeni elvárások A vállalati adatvagyon integrált tárháza Stabil, megbízható működés Jó teljesítményű, méretezhető, bővíthető Költség hatékony Rugalmas, agilis Változó környezet, adatforrások, felhasználások
Auditálható, a szabályoknak megfelelő (külső/belső) Adatok, folyamatok, lekérdezések/riportok
Felhasználói módosítások (pl. csoportosítások)
4
DW Fórum 2012 - 2012.06.11.
Új elvárások Növekvő adatmennyiségek Elemi tranzakciós adatok Nem strukturált adatok: kép, videó, e-mail, backup fájl, stb.
Változó felhasználási módok Operational intelligence rövidebb válaszidők
Szolgáltatás jellegű felhasználások (pl. web service) Növekvő felhasználószám
Kisebb költségvetés Beszerzés, implementáció Üzemeltetés „Do more with less” 5
DW Fórum 2012 - 2012.06.11.
A DW/BI rendszerek elemei
A rendszer elemei Kiaknázás, riporting
Op. rendszer Hardver
DW application Database Operating system
Meta Data
Adatbázis
Demo
Front-end
Management Tools
ETL
Hardware
Metaadat kezelés Menedzsment eszközök
6
DW Fórum 2012 - 2012.06.11.
Mitől agilis a DW építés? Tapasztalatok? Feltételezések? Az adattárház kialakítása túl sokáig tart A DW projektek megbuknak A DW (projekt) nem követi az üzlet változásait
A cél Cáfoljuk meg ezeket a feltételezéseket Hamar adjunk eredményt, értéket az üzletnek Legyünk rugalmasak
7
DW Fórum 2012 - 2012.06.11.
Implementációs módszertanok „Bevált” projekt módszertanok Vízesés - DW-re nem igazán alkalmas Iterációs - Nem elég gyors, ha változnak az üzleti igények, prioritások
Agilis módszertan (elemeinek) használata SCRUM, XP (eXtreme Programming) – DW-re testreszabva
8
DW Fórum 2012 - 2012.06.11.
Manifesto for Agile Software Development www.agilemanifesto.org We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler
James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick
Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas
© 2001, the above authors this declaration may be freely9 copied in any form, but only in its entirety through this notice.
DW Fórum 2012 - 2012.06.11.
Szabályok (principles) 1-6. 1. 2.
3.
4. 5.
6.
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
10
DW Fórum 2012 - 2012.06.11.
Szabályok (principles) 7-12. 7. 8.
Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity--the art of maximizing the amount of work not done--is essential. 11. The best architectures, requirements, and designs emerge from self-organizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
11
DW Fórum 2012 - 2012.06.11.
A számunkra (DW) fontosabb szabályok – 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Ki az Ügyfél?
Mi az „értékes szoftver” a DW-ben? Adatmodell ETL eljárás Riport Dashboard Elemzés 12
DW Fórum 2012 - 2012.06.11.
A számunkra (DW) fontosabb szabályok – 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Hogy tudjuk kihasználni a változást Rugalmas gondolkodás Rugalmas tervezés Rugalmas kivitelezés
13
DW Fórum 2012 - 2012.06.11.
A számunkra (DW) fontosabb szabályok – 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. A rövid futamokhoz Egyszerre csak egy témakörre koncentráljunk (subject area?) Nagyon jól kell kezelni az igényeket, scope-ot! Ezt támogató modellezési módszert kell használni (pl. Data Vault vagy Anchor modelling)
14
DW Fórum 2012 - 2012.06.11.
A számunkra (DW) fontosabb szabályok – 4. Business people and developers must work together daily throughout the project. Ezt az egyik legnehezebb megvalósítani, mert: Egyéb feladatok vannak (az üzletnek működnie kell)
Nincs közös nyelv Eltérő munkaritmus, prioritások
De ez a legfontosabb, különösen a riport készítési időszakban.
15
DW Fórum 2012 - 2012.06.11.
A számunkra (DW) fontosabb szabályok – 10. Simplicity--the art of maximizing the amount of work not done--is essential. Itt is működik a KISS (Keep It Simple & Stupid) elv Egyszerű elemekből építkezzünk Pl. Data Vault adatmodell (lásd demo)
Használjunk template-eket Használjunk kódgenerátorokat (pl. Quipu – lásd demo) Gyors, szintaktikusan hibátlan Könnyen módosítható (csak újra kell generálni )
16
DW Fórum 2012 - 2012.06.11.
Agilis DW technikák XP – eXtreme Programming Eredetileg páros fejlesztés (pair programming) DW-ben: BI/riport fejlesztésnél Fejlesztő és üzleti felhasználó együtt dolgozik Ehhez a DW rétegnek már meg kell lenni!
ETL fejlesztésnél: Igazi páros fejlesztés (és generált kódnál?) Az egyes DW/DM töltések tesztelésébe az üzleti felhasználót bevonni (gyors ad-hoc, ellenőrző lekérdezések) Kevésbé a fejlesztést, mint a mapping definíciót teszteljük
17
DW Fórum 2012 - 2012.06.11.
Rövid fejlesztési ciklusok A két hét „kicsit” extrém, de legyen minél rövidebb Limitált scope: adatmodell: egy csillag séma a DM-ben adatmodell: egy „szűken mért” adatkör a DW-ben (pl. egy hub/link és sat-jai DV modellben) ETL: egy tábla (esetleg a kapcsolódó tábláival?) töltése BI: egy riport vagy egy dashboard (már meglevő riportokból)
Ezek külön-külön, nem összesen Sokat segítenek a kódgenerálók és/vagy a modell/template alapú fejlesztőeszközök!
18
DW Fórum 2012 - 2012.06.11.
Tartalom A vállalati adattárházzal szembeni elvárások Mi az agilis fejlesztés? Mitől agilis a DW építés? Agilis adattárház kialakítás Data Vault alapon Agilis DW fejlesztést támogató eszközök Bonus
19
DW Fórum 2012 - 2012.06.11.
Mi a Data Vault? A Data Vault több éve létező technika & módszertan Sok sikeres implementáció
Oktatás és minősítési rendszer
Könnyen bevezethető Kis lépésekben elkezdhető és hamar eredményeket hozhat Egyszerű eljárások, (viszonylag) alacsony fejlesztési költség Rugalmas, jól bővíthető
Mindenkinek érdemes elgondolkodni rajta! Rugalmas, illeszthető meglévő DW-hez is Jól illeszkedik az agilis DW kialakításhoz 20
DW Fórum 2012 - 2012.06.11.
A Data Vault adatmodellezés Adatmodellezési módszer, mint a 3NF vagy dimenziós 3. normál forma (3NF) – operatív rendszerek Dimenziós – data mart / OLAP / elemzések Data Vault – vállalati adattárház 3NF
Data Vault
Dimenziós Adatpiac 1
Értékesítés Pénzügy
Vállalati adattárház
Adatpiac 2 Adatpiac 3
Gyártás Adatpiac 4 21
DW Fórum 2012 - 2012.06.11.
Data Vault kialakítási alapelvek Célok Gyorsaság, rugalmasság, agilitás
Megbízhatóság és compliancy („All the data all the time”) Jó teljesítmény, méretezhetőség
Egyszerűsítés (maximalizáljuk az el nem végzett munkát ) KISS (Keep It Simple & Stupid) A lehető legkevesebb kézi kódolás (használjunk kódgenerátorokat) Adatmodellező eszközök, ETL generátorok (pl. PowerDesigner, OWB); van open source eszköz is (Quipu) Nincsenek szintaktikus hibák! Egyszerűbb módosítani (csak újra kell generálni) 22
DW Fórum 2012 - 2012.06.11.
Data Vault kialakítási alapelvek Agilis módszerek támogatása Kis lépésekben is felépíthetjük a vállalati DW-t Rövid, gyors ciklusok (modellezés, táblák kialakítása, ETL kialakítása, feltöltés) FONTOS! Priorizáljuk az adatigényeket.
Üzleti szabályok (soft) csak a DV utáni rétegben Hub - a hiányzó üzleti kulcsokat automatikusan felveszi Link - mindig N:M kapcsolatok (nem gond, ha változik a szabály)
Párhuzamos feldolgozások Hub-ok egyszerre -> Link-ek egyszerre -> Sat-ok egyszerre
23
DW Fórum 2012 - 2012.06.11.
Adatmodellezés Data Vault
Forrás: http://www.datavaultglobaltour.com/ 24
DW Fórum 2012 - 2012.06.11.
A Data Vault alap elemei Adatmodell minta Kapcsolat története
Ügyfél
Termék Sat Sat
Sat Sat
Ügyfél Hub
Termék Hub
Link
Sat
Sat
Sat
Számla Sat Számla Hub Forrás: Dan Linstedt - The Business of Data Vault Modeling
Sat
Sat 25
DW Fórum 2012 - 2012.06.11.
A Data Vault módszertan előnyei Teljes körű „All the data all the time” Auditálható, „compliance”
Rugalmas Gyorsan kialakítható, módosítható
Rugalmas, egyszerű struktúrák Egyszerűen tölthető (generálható ETL eljárások) Segíti az agilis IT-t
Teljesítmény Gyors, parallel töltések Könnyen bővíthető, jól skálázható 26
DW Fórum 2012 - 2012.06.11.
Tartalom A vállalati adattárházzal szembeni elvárások Mi az agilis fejlesztés? Mitől agilis a DW építés? Agilis adattárház kialakítás Data Vault alapon Agilis DW fejlesztést támogató eszközök Bonus
27
DW Fórum 2012 - 2012.06.11.
Agilis DW fejlesztést támogató eszközök Adatmodellezés, mapping A „klasszikus” modellező eszközök… (közül azok, amelyek tudnak mapping-et kezelni és kódot generálni pl. PowerDesigner) Open Source: Quipu „Fizetős”: Analytix, Wherescape 3D
ETL tervezés, kódgenerálás Open Source: Quipu „Fizetős”: Expressor, Wherescape RED
BI elemzés és riportok BalancedInsight, BIReady, Kalido 28
DW Fórum 2012 - 2012.06.11.
Demo Data Vault modell alapú DW és ráépülő DM kialakítása A választott eszközök: PowerDesigner adatmodellező egyedi kiegészítéssel Quipu – open source DW modellező és ETL generátor
Minta: Sakila adatbázis (SQL Serveren )
29
DW Fórum 2012 - 2012.06.11.
PowerDesigner demo Az egyik legjobb tervezőeszköz, könnyen bővíthető Alap DW támogatás
Adatbázis reverse engineering Dimenziós modellek és OLAP kockák tervezése Mapping definíciók, view-k, partícionálás, méretezés ETL folyamatok tervezése
DW tervezés/fejlesztéshez egyedi kiegészítőket készítettünk Adat profilozás DW specifikus jellemzők (modellezési és ETL) Data Vault modell és ETL generálás
DEMO (az egyedi kiegészítők segítségével) 30
DW Fórum 2012 - 2012.06.11.
PowerDesigner bővítmény Adat profilozás – oszlop profil és lekérdezése
31
DW Fórum 2012 - 2012.06.11.
PowerDesigner bővítmény DW modellezés – DW tábla jellemzők
32
DW Fórum 2012 - 2012.06.11.
PowerDesigner bővítmény DW generálás – ETL kódgenerálás
33
DW Fórum 2012 - 2012.06.11.
PowerDesigner bővítmény DW generálás – generált ETL procedúra (részlet)
34
DW Fórum 2012 - 2012.06.11.
Quipu Open source DW generáló eszköz Adatforrások visszafejtése Forrás -> Stage -> DV -> DM modell generálás Forrás -> Stage -> DV -> DM ETL generálás Template alapú generálás, szabadon módosítható
Metaadatok adatbázisban (SQL Server, Oracle) JDBC adatbázisok kezelése Intuitív felhasználói felület Gyors!
35
DW Fórum 2012 - 2012.06.11.
Quipu architektúra
36
DW Fórum 2012 - 2012.06.11.
Quipu demo Adatforrás visszafejtése Forrás -> Stage -> DV modell generálás Forrás -> Stage -> DV ETL generálás DV -> DM modell generálás (view-k)
37
DW Fórum 2012 - 2012.06.11.
Quipu Quickstart Tervezési és generálási folyamat áttekintő
38
DW Fórum 2012 - 2012.06.11.
Quipu Forrás rendszer struktúrája
39
DW Fórum 2012 - 2012.06.11.
Quipu Data Vault modell generálás
40
DW Fórum 2012 - 2012.06.11.
Quipu Generált adatstruktúrák – elemi adattár (DV) szint
41
DW Fórum 2012 - 2012.06.11.
Quipu Generált ETL kód – elemi adattár (DV) töltés
42
DW Fórum 2012 - 2012.06.11.
Quipu Generált adatstruktúrák – Data Mart nézet (view)
43
DW Fórum 2012 - 2012.06.11.
Összefoglalás Adattárház kialakítás Agilis módszerekkel Lehetséges! KISS (Keep It Simple and Stupid) A módszereket a környezetre és a DW-re kell alkalmazni Az üzleti felhasználók bevonása nagyon fontos!
Agilis DW fejlesztést támogató eszközök Template alapú fejlesztés Vannak elérhető eszközök (tervezés, ETL és BI is) Lehet saját fejlesztéssel is „boldogulni” 44
DW Fórum 2012 - 2012.06.11.
Bonus Data Vault implementáció oktatás Dan Linstedt-től! On-line tanfolyam, angolul DV implementáció, de bármilyen adattárház kialakításához használható megoldásokkal 12 modul, ~30 session saját tempóban lehet végig menni 1 éven keresztül on-line Q&A, 7 napos próba időszak kb. 3-4 nap hagyományos tanfolyammal egyező áron
Jelentkezés: nálam személyesen, e-mailben vagy itt: http://blog.adatmodellezes.hu/2012/06/on-line-data-vaultimplementacios.html 45
DW Fórum 2012 - 2012.06.11.
Kérdések?
[email protected] blog.adatmodellezes.hu DV implementációs tanfolyam
46
DW Fórum 2012 - 2012.06.11.