Data warehouse i data lake to dwa odmienne podejścia do przechowywania danych analitycznych, różniące się przede wszystkim sposobem strukturyzacji danych oraz momentem, w którym ta struktura jest definiowana.

Struktura przechowywanych danych

Hurtownia danych wymaga zdefiniowania schematu przed załadowaniem danych (podejście „schema-on-write”), co wymusza wcześniejsze przetworzenie i ustrukturyzowanie danych. Data lake natomiast pozwala na przechowywanie danych w formacie surowym i zdefiniowanie schematu dopiero w momencie ich odczytu (podejście „schema-on-read”).

CechaData warehouseData lake
Schemat danychDefiniowany przed zapisemDefiniowany przy odczycie
Typ danychGłównie strukturalneStrukturalne, częściowo i niestrukturalne
ElastycznośćNiższaWyższa

Koszt i elastyczność

Przechowywanie danych w formacie surowym w architekturze data lake bywa tańsze na etapie zapisu, jednak może generować dodatkowe koszty związane z późniejszym przetwarzaniem danych do postaci gotowej do analizy, co wiąże się bezpośrednio z procesami opisanymi w wydaniu Procesy ETL i ELT w architekturze danych.

Typowe zastosowania

Hurtownie danych bywają preferowane w przypadkach wymagających wysokiej spójności i szybkiego dostępu do ustrukturyzowanych raportów, natomiast data lake sprawdza się lepiej przy przechowywaniu dużych wolumenów zróżnicowanych danych przeznaczonych do eksploracyjnej analizy, w tym danych przetwarzanych za pomocą narzędzi opisanych w wydaniu Przetwarzanie rozproszone: Hadoop i Spark w praktyce.