Data Lake — pojmy a architekturaData Lake: co to je, jak ho navrhnout a kdy zvolit lakehouse
Často hledané pojmy okolo data lake — definice, rozdíly proti data warehouse, formáty souborů, vrstvení zón a srovnání moderních lakehouse platforem.
Co to je data lake
Data lake je centrální úložiště, do kterého ukládáte strukturovaná, polostrukturovaná i nestrukturovaná data v jejich nativním formátu (raw). Schéma se aplikuje až při čtení (schema-on-read), což umožňuje ukládat i data, jejichž využití dnes ještě neznáte.
Data lake vs data warehouse
Data warehouse pracuje s vyčištěnými, strukturovanými daty a pevným schématem (schema-on-write) — ideální pro BI a reporting. Data lake ukládá vše v raw podobě a je vhodný pro data science, ML a explorativní analýzu. V praxi oba doplňují, často v jedné lakehouse architektuře.
Lakehouse — Databricks, Snowflake, Iceberg
Lakehouse spojuje flexibilitu data lake s ACID transakcemi a výkonem warehouse. Postaven na otevřených table formátech Delta Lake (Databricks), Apache Iceberg (Snowflake, AWS) nebo Apache Hudi. Eliminuje duplikaci dat mezi lake a DWH.
S3, ADLS, GCS — storage vrstva
Moderní data lake stojí na objektovém úložišti: Amazon S3 (AWS), Azure Data Lake Storage Gen2 (Microsoft), Google Cloud Storage (GCP). Cena řádově nižší než blokové úložiště, neomezená škálovatelnost, oddělení storage od compute.
Parquet, ORC, Avro — souborové formáty
Parquet a ORC jsou sloupcové formáty s kompresí — ideální pro analytické dotazy (scanují jen potřebné sloupce). Avro je řádkový formát vhodný pro streaming a integraci. CSV/JSON v lake patří jen do landing zóny — nikdy do produkčních dotazů.
Zónová architektura — bronze, silver, gold
Standardní vrstvení (medallion): Bronze (raw landing, žádné transformace), Silver (vyčištěná, deduplikovaná, validovaná data), Gold (business agregace pro BI a ML). Zóny mají různé SLA, retenci a oprávnění — bez nich vznikne data swamp.
Data swamp — když data lake selže
Data swamp je data lake bez katalogu, vlastnictví a kvality — data sice máte, ale nikdo neví, co znamenají a komu věřit. Prevence: povinné metadata, data catalog (AWS Glue, Unity Catalog), data contracts, ownership a monitoring kvality od první dne.
Data catalog a metadata
AWS Glue Data Catalog, Databricks Unity Catalog, Azure Purview nebo open-source Apache Atlas evidují schémata, statistiky, lineage a oprávnění. Bez katalogu se v lake nedá hledat a SQL engine (Athena, Trino) nemá kde získat schéma tabulek.
Query engines — Athena, Trino, Presto, Spark
Nad data lake běží SQL engine, který data nehostí, ale dotazuje přímo na S3/ADLS. Athena (serverless Presto na AWS), Trino/Starburst (federace více zdrojů), Spark SQL (komplexní transformace), BigQuery external tables na GCS.
Bezpečnost a governance
Šifrování at-rest (KMS) a in-transit (TLS), řízení přístupu na úrovni řádků a sloupců (Lake Formation, Unity Catalog), audit logy, klasifikace citlivých dat (PII), retence a právo být zapomenut (GDPR). Governance musí být zabudovaná, ne dodatečná.
Partitioning a optimalizace nákladů
Správné partitioning (typicky podle data) razantně snižuje cenu scanování — Athena účtuje za naskenovaná data. Kombinujte s kompakcí malých souborů (small files problem), Z-orderingem (Delta), bucketingem a životním cyklem S3 (Standard → IA → Glacier).
Kdy data lake NEnasazovat
Pokud máte výhradně strukturovaná transakční data a klasické BI use-casy, stačí cloud DWH (Snowflake, BigQuery, Redshift). Lake dává smysl při heterogenních zdrojích, velkých objemech (TB+), ML/AI use-casech, streamingu nebo potřebě levné dlouhodobé retence.