Een bestaand Datawarehouse (DWH) naar SAP IQ migreren, hoe gaat dat eigenlijk in zijn werk en wat levert het nou daadwerkelijk op? Is het de geïnvesteerde tijd waard of valt de uiteindelijke tijdswinst erg tegen? In deze blog wil ik wat dieper ingaan op de ervaringen die wij hebben met het migreren van een DWH op bijvoorbeeld een MS SQL database naar een SAP IQ database.

SAPIQ

Databases en data overzetten

Een van de belangrijkste stappen is natuurlijk het overzetten van de databases en de data. Met behulp van een DDL-script en een dosis script kennis is dit eigenlijk op het eerste gezicht niet echt veel werk. De datatypes tussen MSSQL en SAP IQ komen goed overeen en met een aantal kleine aanpassingen kan de database al vrij vlot worden aangemaakt. Het overzetten van de data, zodat er in IQ geen initial load hoeft worden gedaan, kan met BCP en het IQ load command worden gedaan. Het exporteren van de data duurt een stuk langer dan het importeren. 50 miljoen records in een paar minuten importeren is geen uitzondering. En dit kost in IQ ook een stuk minder schijfruimte. In dit voorbeeld gaat de gebruikte schijfruimte van 63 Gb naar 850 Mb, een 75-voudige vermindering. Als we naar de gehele database kijken wordt er een compressie van factor 26 gehaald. De totale schijfruimte is van 486 Gb naar 19 Gb teruggebracht. 

  SQLServer IQ 16 Ratio
Data  (Gb) 312 19 16
Indexes (Gb) 174 0 0
Totaal (Gb) 486 19 26

In bovenstaand voorbeeld gaat het om data uit een ERP systeem. Dus deze compressiefactor is goed te extrapoleren naar ERP systemen van andere klanten. Omdat er veel minder opslagruimte nodig is wordt het wellicht ook interessant om SSD's in te gaan zetten om een nog betere performance te krijgen. Minder opslagruimte betekent ook dat er meer data in dezelfde hoeveelheid geheugen kan worden geladen, dus qua memory-sizing vindt er ook een performance verbetering plaats. Onze ervaring is dat de compressie nog hoger ligt dan door SAP aangegeven, omdat er ook geen indexen meer nodig zijn. Denk echter even over de volgende dingen na alvorens de migratie uit te voeren: Codepage, NULL-values, IQ memory settings, schema's en dbspaces.

Data Services (repository overzetten)

Bij het migreren van het DWH kiezen we er in de meeste gevallen voor om het gehele DWH naar IQ te migreren. IQ biedt voor bijvoorbeeld de staging en ods laag ook voordelen. Het laden van grote hoeveelheden data gaat namelijk in IQ een stuk sneller dan in bijvoorbeeld SQL server. Deze stap is dan ook gelijk de meest tijdrovende stap in de hele migratie. Hoewel een aantal dingen automatisch kan worden aangepast zal de ETL toch ook op een aantal plaatsen handmatig moeten worden aangepast of getuned. Waar je in sommige gevallen bijvoorbeeld een table compare transform zou gebruiken om data in een traditionele database te laden, kies je in het geval van SAP IQ gewoon voor een bulk load.

Universes

Zolang er weinig database specifieke functies in een universe worden gebruikt, kan een universe vrij simpel worden overgezet op een IQ database. De tabelnamen zijn hetzelfde, dus de connectie kan worden omgehangen en een validatie leert al snel welke objecten er even zullen moeten worden nagelopen.

Rapportages

Omdat SAP IQ een column store database is zorgt dit niet alleen bij het laden van grote hoeveelheden data voor een goede performance, maar vooral ook bij het rapporteren over deze data. Een column store database staat bekend om zijn eigenschappen om data snel te kunnen aggregeren over verschillende kolommen. Waar je bij een traditionele database indexen zou moeten aanleggen om de rapportage nog een beetje snel te kunnen draaien kan je bij IQ zonder indexen snel over de data rapporteren. Onze ervaring is dat rapportages tot wel 10 keer sneller draaien dan voorheen. Een ander voordeel is dus ook het niet te hoeven aanleggen van indexen. De indexen hoeven dus ook niet te worden onderhouden en zitten ook bij het laden van de data niet in de weg. Dit betekent ook dat

Doorlooptijd ETL

Puur en alleen door het slim gebruik maken van de sterke punten van een IQ database kan er ook bij de doorlooptijd van een ETL-proces een grote tijdswinst worden geboekt. Het slim inzetten van de bulk load in IQ levert in veel gevallen al een tijdswinst op van c.a. 25%. Verdere tuning van het ETL-proces zal deze tijd wellicht nog verder kunnen terugbrengen.

Conclusie

Het overzetten van een DWH naar SAP IQ is dus een relatief simpele klus en heeft een aantal grote voordelen t.o.v. een traditionele database.

  • Snel data inladen, winst van 25%.
  • Goede query performance / aggregatie, rapporten draaien 10x sneller.
  • Geen indexen nodig, dus ook geen onderhoud hiervan.
  • Sterke compressie van de data, waardoor veel minder schuifruimte nodig is, 26-voudige vermindering.
  • Groei van de data heeft een relatief kleine impact op de rapportage performance.

Een bijkomend voordeel is ook dat SAP IQ voor nieuwe en bestaande SAP BusinessObjects klanten in veel gevallen gratis te gebruiken is.

Ensior B.V. 2024 All rights reserved
Deze website maakt gebruik van cookies: meer informatie