Upload
diana-groen
View
222
Download
1
Embed Size (px)
Citation preview
Having a Datawarehousing in het groot
Sander van der Hoeff
Even voorstellen
• Sander van der Hoeff• Sinds 1990 in de IT• Met microsoft datawarehouses gedaan bij diverse
klanten sinds 2001• Bij Kadenza sinds 2007• Hardloper
• Opgericht in 2004 en met bijna 100 senior consultants is Kadenza de grootste onafhankelijke specialist op het gebied van Enterprise Intelligence
• Passie voor het vak• Kadenza werkt uitsluitend met ervaren mensen
aan projecten en detacheringsopdrachten op het gebied van Business Intelligence, Data Warehousing, Planning,Control en Consolidatie
Beschrijving Sandd
Sheet 4
Sandd is het op één na grootste postbedrijf van Nederland en richt zich op de bezorging van geadresseerde partijenpost, zoals direct mail en abonneebladen. Sinds de liberalisering van de Nederlandse postmarkt richt Sandd zich ook op transactiepost, zoals facturen en polissen.
Sandd streeft een marktaandeel na van 20-25%.
Ontwikkeling Sandd
© 2011 – Norbert de Vries – Sandd B.V.
Huidige situatie
Sheet 6
Situatie vanaf 2011
Op dit moment hebben 5 rapportage omgevingen met meer dan 200 gebruikers op HQ en in het netwerk:• Sales• Netwerk (nieuw)• BBSC• Human Resources• Netwerk (SMIP2) => wordt langzaam uitgefaseerd
Datawarehousing in het groot
• Tot 1 mln rijtjes geen probleem• Maar daarna als het echt groot wordt• Tips en tricks
Lagen architectuur (definities)
• Kadenza Referentie Methodiek
• Source– Overhalen van data
• Stage– Verschil vergelijking en foreward key generation
• DWH– Historisch correct opslaan
• Datamart– Aggregeren en beschikbaar maken
Wat is groot ?
• Table Size• Veel characters fields• Aantal rijen• Monsterdimensies• Aantal refenties naar Dimensies
Hardware
• 12 GB RAM• 400 GB disks• DB 80 GB• Grootste Tabel 30 GB• 360 mln rijen• Standard edition
Zoek de verschillen (Stage)
Zoek de verschillen (Hoe)
• Change Data Capture (denk aan deletes)• Mutatie markeringen in bronnen• SCD component• Merge join en Veld bij Veld vergelijking (sorteren)• Lookup transformatie (twee keer)• Merge join en Checksum transformatie• Table Diff of andere extrene componenten• Merge join en HashByte berekening (SQL of SSIS)• Merge statement• TSQL statement(s)
Memory problemen
• 32 vs 64 bits (4gb max)• Blocking components zoals Sort in ssis • Lookups• SSIS Memory (OS) vs SQL Memory– SQL meer memory verergert het probleem– Perfmon counter “Buffers spooled”
Synchronisatie van stromen
Schijfruimte problemen
• Tempdb– Commit Size– Sort operations
• Profiel van SSIS user
Temp bestanden realloceren
• TempDB• http://bradmcgehee.com/wp-content/uploads/presenta
tions• User Profiel
Lookups
• Zo Klein mogelijk– Partitioning indien mogelijk– Kan geen parameters aan in lookup
• In Memory– Als het niet past dramatische performance decrease– Extreem groot user profiel
Meten is weten
Cascading Updates
• Iedere update van een parent levert ook een nieuwe child record op in het Datawarhouse
• Telefoonnummerwijziging van klant levert > 1 mln updates
• Cascading updates anders oplossen
Fragmenteren
• Tabellen (partitioning)• Lookups• Dataflows• ??
Indexeren
• Kosten en baten– Drie kwartier tijdwinst door drop index (en hem in
stage parallel weer op te bouwen. – Schijfruimte– Tempdb vs Disk
Profiler
• Live• Show All Events , Show All Colums (bijvoorbeeld DB
naam)• Saven als script en trace starten vanuit SSMS• Trace file opslaan en voor later gebruik inlezen in
Profiler• Zoeken naar een speld in een hooiberg
RML Utilities
• Importeer Trace File• Click en Zoek
Beheer
• Record counts• Duration Counts• Run reports
Weg is weg (archiveren)
• Het verschil tussen deletes en archives• Erg vervelend als je hier achteraf mee wordt
geconfronteerd• Aparte procedure of gewoon in de bestaande flows
Vragen