Datawarehousing in het groot Sander van der Hoeff.

Post on 24-May-2015

216 views 1 download

Transcript of Datawarehousing in het groot Sander van der Hoeff.

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