Een datawarehouse (vaak afgekort tot DWH) is een gegevensverzameling die in een dusdanige vorm is gebracht dat terugkerende en ad-hocvragen in relatief korte tijd beantwoord kunnen worden zonder dat de bronsystemen zelf daardoor overmatig belast worden. Hierin onderscheidt een datawarehouse zich van een standaard database. De betreffende gegevens zijn afkomstig van en worden op geautomatiseerde wijze onttrokken aan de bronsystemen. Gegevens kunnen in een datawarehouse niet worden ingevoerd of aangepast door gebruikers zelf. Als aanpassing van gegevens nodig is dan dient dit óf in de bronsystemen óf in het ETL proces (door aanpassing van de daarin vastgelegde regels) plaats te vinden.
Een datawarehouse kent de volgende kenmerken:
De eerste stappen richting datawarehousing werden gezet in de jaren 60. Databases waren destijds georganiseerd in verschillende masterfiles. Dit zijn collecties van query's met een bepaald onderwerp. Deze masterfiles werden opgeslagen op magneetband. De gegevens werden verwerkt door middel van simpele applicaties. Deze applicaties hield men bij op ponskaarten.
Halverwege de jaren 60 kende men echter een zodanige wildgroei aan masterfiles, dat het systeem te maken kreeg met efficiëntieproblemen. Wanneer men iets op een magneetband wilde lezen, moest men eerst alle data die eraan voorafgingen doorlopen. Hierdoor verliep het verwerken van grote hoeveelheden informatie te traag.
In 1970 ontwikkelde men dan het DASD (Direct Access Storage Device), beter bekend als disk storage. Bij deze techniek hoefde men niet eerst alle voorgaande data te doorlopen om een bepaald deel van de data te lezen. In deze periode is ook het databasemanagementsysteem (DBMS) ontwikkeld. DBMS organiseerde en indexeerde de data op een DASD. Zo ontstond de database.
Halverwege de jaren 70 wilde men de databases ook online beschikbaar maken (via intranet). De techniek die men hiervoor gebruikte, was high-performance online transaction processing. Dit maakte onder meer reserveringssystemen en online bankdiensten mogelijk.
De volgende stap richting het datawarehouse kwam er in de vorm van extract programming. Het extractprogramma doorloopt een file of database aan de hand van bepaalde selectiecriteria. De data die aan deze criteria voldoen, worden overgedragen naar een andere file of database. Het extract programma kende een snelle verspreiding in de jaren 90.
Het fundamentele model van datawarehousing is vrij eenvoudig. Er zijn verschillende operationele systemen die data verzamelen en deze data overbrengen naar een centraal datawarehouse. Hier worden de data dan opgeslagen. De realiteit is echter complexer. Een datawarehouse is tegenwoordig een kluwen van gegevens en operationele systemen dat in de loop der jaren steeds complexer en minder overzichtelijk is geworden. Men kan grofweg 3 verschillende soorten datawarehouses onderscheiden.
Vaak bestaat het informaticasysteem van een organisatie uit verschillende operationele systemen. Deze systemen verwerken lokaal een deel van de data en verzenden de resultaten naar het hoofdkwartier. Hier vindt er nog een extra dataverwerking plaats: de centrale dataverwerking. Het datawarehouse wordt dus centraal bijgehouden en beheerd. Wanneer lokale systemen bepaalde data nodig hebben, zullen ze die data opvragen bij het centrale datawarehouse.
Bij deze systemen bevat een lokaal datawarehouse alle data die van belang zijn voor de lokale vestiging. De verwerking van deze gegevens voor het Decision Support System, een techniek die bij datawarehousing gebruikt wordt, gebeurt nog altijd centraal.
In dit systeem wordt de data die van belang zijn voor het lokale niveau lokaal bewaard en de data die van belang zijn voor het centrale niveau centraal bewaard. Ook de verwerking gebeurt op deze twee niveaus. In sommige gevallen worden alle data, dus ook de data die enkel van belang zijn voor het lokale niveau, ook opgeslagen in een global data warehouse. [1][2]