Et data warehouse er en central database designet specifikt til analytiske forespørgsler og rapportering. I modsætning til operationelle databaser, der er optimeret til hurtige transaktioner, er data warehouses optimeret til at scanne store datamængder og beregne aggregeringer effektivt.
Moderne cloud data warehouses som Snowflake, Google BigQuery, Amazon Redshift og Azure Synapse Analytics har revolutioneret markedet. Disse platforme tilbyder næsten ubegrænset skalering, pay-per-query prismodeller og eliminerer behovet for hardwareadministration.
Snowflake adskiller sig med sin multi-cluster shared data-arkitektur, der separerer compute og storage. Flere teams kan køre tunge forespørgsler samtidig uden at påvirke hinandens performance. Time Travel-funktionen lader dig forespørge data som det så ud på et hvilket som helst tidspunkt inden for en retentionsperiode.
ETL (Extract, Transform, Load) og ELT (Extract, Load, Transform) er de to primære tilgange til at fylde et data warehouse. Traditionel ETL transformerer data før indlæsning, mens moderne ELT loader rå data og transformerer det direkte i warehouseet med SQL. dbt (data build tool) har populariseret ELT-tilgangen med versionsstyrede SQL-transformationer.
Dimensionel modellering efter Ralph Kimballs metode organiserer data i faktatabeller og dimensionstabeller. Faktatabeller indeholder målbare hændelser (salg, klik, transaktioner), mens dimensionstabeller indeholder beskrivende attributter (kunder, produkter, datoer). Star schema og snowflake schema er de to primære designmønstre.
Data vault er en alternativ modelleringstilgang der prioriterer fleksibilitet og auditability. Med hubs, links og satellites kan data vault-modeller nemt tilpasse sig ændringer i kildesystemer uden at bryde eksisterende rapporter.
For danske virksomheder er Snowflake og BigQuery de mest populære cloud warehouse-valg. Mange starter med et simpelt warehouse i PostgreSQL eller SQL Server før de skalerer til en dedikeret cloud-platform.