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 ETL Adatbázis Op. rendszer Hardver Demo Metaadat kezelés Management Tools Front-end DW application Database Operating system Hardware Meta Data 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 freely 9 copied in any form, DW Fórum 2012-2012.06.11. but only in its entirety through this notice.
Szabályok (principles) 1-6. 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. 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. Working software is the primary measure of progress. 8. 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 Értékesítés Pénzügy Gyártás Vállalati adattárház Adatpiac 1 Adatpiac 2 Adatpiac 3 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 Ügyfél Sat Kapcsolat története Sat Termék Sat Sat Ügyfél Hub Link Termék Hub Sat Sat Sat Számla Sat Számla Hub Sat Forrás: Dan Linstedt - The Business of Data Vault Modeling 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? gabor.gollnhofer@meta4consulting.eu blog.adatmodellezes.hu DV implementációs tanfolyam 46 DW Fórum 2012-2012.06.11.