Een datawarehouse, afgekort DWH, is een database. Het verschil met een gewone database is de architectuur en de opslag van data. Er zijn meerdere definities van datawarehouse, maar de meest voorkomende is de definitie van Bill Inmon.
Per onderdeel van deze definitie wordt hieronder uitgelegd wat het inhoud.
Onderwerp georiënteerd: Een datawarehouse kan gebruikt worden om een bepaald gebied te analyseren. De verkoop van een organisatie kan bijvoorbeeld zo’n gebied zijn.
Geïntegreerd: Een datawarehouse integreert data van meerdere databronnen. Zo kunnen bron a en bron b verschillende manieren hebben om een product te identificeren. Maar in een datawarehouse zal er dan één manier zijn om een product te identificeren.
Tijd geordend: Historische data wordt bewaard in een datawarehouse. Zo kan er uit een datawarehouse data gehaald worden van bijvoorbeeld drie maanden, een jaar of twee jaar geleden en zelfs nog ouder. Dit contrasteert met een transactiesysteem, waar meestal alleen de meest recente data wordt bewaard. Een transactiesysteem bewaard bijvoorbeeld enkel het huidige adres van een klant, een datawarehouse bewaard alle adressen die een klant in die periode gehad heeft.
Niet vluchtig: Als data eenmaal in de datawarehouse zit, zal deze niet veranderen. Dus historische data in een datawarehouse zal nooit aangepast worden.
Een meer functionele definitie van datawarehouse komt van Ralph Kimball.
Datawarehouse architectuur
Verschillende datawarehouse systemen hebben verschillende structuren. Sommige hebben een ODS (operational data store), terwijl andere meerdere data markten hebben. Sommige hebben een kleine hoeveelheid data bronnen en andere hebben heel veel bronnen van data. Maar welke verschillende lagen hebben een datawarehouse architectuur nou?
Over het algemeen bestaan een datawarehouse uit de volgende lagen:
- Databron laag:
- Data extractie laag
- Staging omgeving
- ETL (extractie, transformatie, laden) laag
- Data opslag laag
- Data logica laag
- Data presentatielaag
- Metadata laag
- Systeem operatie laag
Hoe wordt een datawarehouse opgezet?
Het opzetten van een datawarehouse kan handig zijn als een organisatie bijvoorbeeld veel data moet ophalen en rapporteren of databases wil integreren of vergelijken.
Bij het opzetten van een datawarehouse worden de onderstaande stappen meestal gevolgd.
- Verzamelen van gegevens
- Opzetten van de omgeving
- Data modelleren
- ETL
- OLAP design
- Frond End ontwikkeling
- Ontwikkeling rapporteren
- Performance
- Query optimalisatie
- Kwaliteitswaarborging
- Uitrollen naar productie
- Onderhoud in productie
- Incrementele verbeteringen
Elke bovenstaande stap is een typische datawarehouse design fase en heeft verschillende onderdelen. Namelijk een taakomschrijving, tijdsbeslag, deliverables en mogelijke valkuilen. Dit leidt tot een plek waar alle informatie van de bedrijfsactiviteiten staan, waarop vervolgens allerlei analyses uitgevoerd kunnen worden.