Evoluce datového skladu: od SQL serveru k Data Lakehouse
Způsob, jakým společnosti ukládají, organizují a analyzují svá data, prošel transformací radikální v posledních dvaceti letech. Přešli jsme od uzavřených relačních monolitů k podnikovému datovému centru na distribuované cloudové platformy schopné spravovat petabajty strukturovaných i nestrukturovaných dat v reálném čase. Přesto pro mnoho italských malých a středních podniků je datový sklad zůstává mlhavým pojmem, odložená investice, projekt, který je příliš složitý na to, aby se dal řešit.
Tento článek zahajuje sérii Datový sklad, AI a digitální transformace s cílem zpřístupnit koncepty, které příliš často zůstávají omezeny na velké podniky. Začneme od základů, od tradičního datového skladu s SQL Serverem a Oracle, abychom dorazili na moderní architektury založené na Data Lakehouse, zkoumající každou fázi evoluce a důvody, pro které byl každý technologický skok nezbytný.
Globální trh datových skladů dosáhl hodnoty přibližně 39 miliard dolarů v roce 2025, se složenou roční mírou růstu (CAGR) nad 10 % dále desetiletí. Podnikový segment (EDW) roste ještě rychleji s CAGR 22,8 %. Toto není technologický výstřelek: je to strukturální transformace způsobu podnikání souvisí s údaji.
Co se dozvíte v tomto článku
- Rozdíly mezi klasickým Kimballovým a Inmonovým přístupem k datovému modelování
- proč již tradiční datový sklad nestačí a jakých limitů dosáhl
- Jak Data Lake vyřešilo některé problémy při vytváření nových
- Co je Data Lakehouse a proč dominuje Apache Iceberg se 78,6 % trhu
- Praktické srovnání mezi Snowflake, Databricks, BigQuery a DuckDB s reálnými náklady
- Architektura Medallion (bronz/stříbro/zlato) používaná předními společnostmi
- Jak vybrat správnou platformu na základě objemu, rozpočtu a týmových dovedností
Přehled datových skladů, AI a digitální transformace
| # | Položka | Soustředit |
|---|---|---|
| 1 | Jste zde – Vývoj datového skladu | Od SQL Serveru po Data Lakehouse |
| 2 | Data Mesh a Data Governance | Decentralizovat data |
| 3 | ETL vs ELT v cloudu | Moderní datové kanály |
| 4 | AI a strojové učení pro firmy | Obchodní prediktivní modely |
| 5 | Analýza v reálném čase | Streamování a rozhodování v reálném čase |
| 6 | Kvalita dat a pozorovatelnost | Sledujte stav dat |
| 7 | PNRR a digitální transformace | Příležitosti pro italské malé a střední podniky |
| 8 | End-to-End praktický kufřík | Budování datového jezera od nuly |
Tradiční datový sklad: Základy
Koncept datového skladu se zrodil v 90. letech, kdy firmy začaly chápat, že databáze Transakční systémy (OLTP) určené ke správě objednávek, faktur a záznamů zákazníků nejsou vhodné pro analýzu dat. Potřebujete samostatný systém optimalizovaný pro analytické dotazy: datový sklad (DWH), databáze Online Analytical Processing (OLAP).
Již tři desetiletí dominují designu DWH dva myšlenkové směry: Bill Inmon a to z Ralph Kimball. Pochopte rozdíly mezi těmito dvěma přístupy je zásadní, protože ovlivňují architekturu mnoha i dnes obchodní systémy.
Přístup Inmon: shora dolů
Bill Inmon, považovaný za otce datových skladů, navrhuje přístup shora dolů: nejprve je vybudován centralizovaný a normalizovaný datový sklad (ve třetí normální formě, 3NF), pak odvodíme i Úterní datum specifické pro každé oddělení. Centrální DWH slouží jako jediný zdroj pravdy pro celou organizaci.
Charakteristika Inmonova přístupu
- Předmětově zaměřené: Data jsou organizována podle tématu (zákazníci, produkty, prodej), nikoli podle zdrojové aplikace
- Integrovaný: Údaje z různých zdrojů jsou uváděny do souladu s jednotnými konvencemi
- Nevolatilní: Po nahrání se data neupravují, pouze přidávají
- Časová varianta: Každý záznam má časový rozměr pro historickou analýzu
- Normalizované (3NF): Snižuje redundanci, ale vyžaduje komplexní spojení v dotazech
Kimballový přístup: zdola nahoru
Ralph Kimball nabízí jeden přístup zdola nahoru radikálně odlišné: počínaje potřebami obchodní analytika a sestavení trh s rozměrovými daty ihned použitelné, které jsou pak integrovány přes přizpůsobené rozměry (sdílené rozměry). srdce modelu Kimball a Hvězdné schéma.
-- Esempio di Star Schema per le vendite (SQL)
-- Fact Table: misure quantitative (metriche)
CREATE TABLE fact_vendite (
vendita_id BIGINT PRIMARY KEY,
data_id INT REFERENCES dim_data(data_id),
cliente_id INT REFERENCES dim_cliente(cliente_id),
prodotto_id INT REFERENCES dim_prodotto(prodotto_id),
negozio_id INT REFERENCES dim_negozio(negozio_id),
quantità INT NOT NULL,
prezzo_unitario DECIMAL(10,2) NOT NULL,
sconto DECIMAL(5,2) DEFAULT 0,
importo_totale DECIMAL(12,2) NOT NULL
);
-- Dimension Table: attributi descrittivi
CREATE TABLE dim_cliente (
cliente_id INT PRIMARY KEY,
nome VARCHAR(100),
cognome VARCHAR(100),
citta VARCHAR(50),
regione VARCHAR(50),
segmento VARCHAR(30), -- es: 'Premium', 'Standard'
data_registrazione DATE
);
-- Dimension Table: gerarchia temporale
CREATE TABLE dim_data (
data_id INT PRIMARY KEY,
data_completa DATE,
giorno INT,
mese INT,
trimestre INT,
anno INT,
giorno_settimana VARCHAR(15),
festivo BOOLEAN
);
Hvězdné schéma je intuitivní: tabulka faktů (tabulka faktů) ve středu obsahuje numerické metriky (množství, množství, počty), zatímco rozměrová tabulka (tabulky dimenzionální) kolem obsahují popisné atributy, které umožňují filtrování a seskupování údaje (kdo, co, kde, kdy). Hvězdicová struktura optimalizuje analytické dotazy snížením počet potřebných spojení.
Inmon vs Kimball: Rychlé srovnání
| čekám | Inmon (shora dolů) | Kimball (zdola nahoru) |
|---|---|---|
| Datový model | normalizované (3NF) | Dimenzionální (hvězdové schéma) |
| Výchozí bod | Centralizované DWH | Oddělení Data Marts |
| Čas zhodnotit | Dlouhé (měsíce/roky) | Rychlé (týdny/měsíce) |
| Počáteční náklady | Vysoký | Obsah |
| Složitost dotazu | Vysoká (mnoho spojení) | Nízká (málo připojení) |
| Typický uživatel | Podnikání, bankovnictví | MSP, maloobchod, marketing |
Klasický proces ETL
Ať už je zvolen jakýkoli přístup, data musí být extrahována ze zdrojových systémů, transformována a nahrány do DWH. Tento proces, známý jako ETL (Extract, Transform, Load), a po desetiletí je srdcem každého datového skladu. Nástroje jako SQL Server Integration Services (SSIS), Oracle Data Integrator, Informatica PowerCenter e Talend ovládli tento prostor.
-- Esempio semplificato di ETL in SQL Server (T-SQL)
-- STEP 1: Extract - Leggere dalla sorgente operazionale
SELECT
o.order_id,
o.customer_id,
o.order_date,
oi.product_id,
oi.quantity,
oi.unit_price
FROM source_db.dbo.orders o
JOIN source_db.dbo.order_items oi
ON o.order_id = oi.order_id
WHERE o.order_date >= DATEADD(DAY, -1, GETDATE());
-- STEP 2: Transform - Pulire, arricchire, conformare
INSERT INTO staging.dbo.stg_vendite
SELECT
o.order_id AS vendita_id,
d.data_id,
c.cliente_id,
p.prodotto_id,
s.negozio_id,
oi.quantity AS quantità,
oi.unit_price AS prezzo_unitario,
ISNULL(o.discount, 0) AS sconto,
oi.quantity * oi.unit_price * (1 - ISNULL(o.discount, 0))
AS importo_totale
FROM extracted_orders o
-- Lookup nelle dimensioni per ottenere le surrogate key
JOIN dim_data d ON d.data_completa = o.order_date
JOIN dim_cliente c ON c.source_id = o.customer_id
JOIN dim_prodotto p ON p.source_id = oi.product_id
JOIN dim_negozio s ON s.source_id = o.store_id;
-- STEP 3: Load - Caricare nella fact table
INSERT INTO dwh.dbo.fact_vendite
SELECT * FROM staging.dbo.stg_vendite;
Tento proces, obvykle naplánovaný přes noc (dávkové zpracování), byl naprosto adekvátní kdy firma mohla počkat do dalšího dne, než uvidí aktualizované zprávy. Ale svět se změnil.
Limity tradičního datového skladu
Tradiční DWH dobře slouží podnikům více než dvě desetiletí, ale v kontextu technologické a obchodní a radikálně se změnil. Zde jsou limity, kvůli kterým je to nutné evoluce:
Pět kritických limitů tradičního DWH
- Tuhost schématu (Schema-on-Write): Každý údaj musí být strukturovaný a vyhověl před načtením. Přidejte nový sloupec nebo změňte typ dat často vyžaduje týdny práce: úprava schématu, aktualizace ETL, testování regrese, koordinované uvolňování. Ve věku, kdy se požadavky mění každý týden, tato tuhost je brzdou podnikání.
- Nestrukturovaná data vyloučena: Relační DWH spravuje tabulky s řádky a sloupce. Ale dnes je více než 80 % podnikových dat nestrukturovaných: protokoly aplikací, e-maily, dokumenty PDF, obrázky, videa, data IoT, sociální kanály. Tato data prostě ne vstupují do tradičního DWH.
- Rostoucí náklady: SQL Server Enterprise, Oracle Database a Teradata škáluje s objemem dat a výpočetním výkonem. Pro firmu s 10TB dat mohou roční náklady přesáhnout 200 000 EUR jen za licence, nepočítaje v to hardware, úložiště a specializovaný personál.
- Latence dat (žádné v reálném čase): Noční dávkování ETL zavádí latenci 12-24 hodin. V odvětvích, jako je elektronický obchod, finance a logistika, je tato latence nepřijatelná: prodejní anomálie objevená následující den může znamenat ztrátu tisíců eur.
- Vertikální škálovatelnost: Tradiční DWH se škáluje přidáním CPU, RAM a disku na stávající server (scale-up). Tento přístup má fyzický strop a náklady exponenciální. Moderní cloudové platformy se škálují horizontálně (scale-out), přidávání uzly do clusteru s lineárními náklady.
Tato omezení nevznikla náhle: postupně se hromadila objem, rozmanitost a rychlost podnikových dat exponenciálně rostly. Odpověď na počátku těchto problémů bylo Datové jezero.
Datové jezero: První revoluce
Data Lake se zrodilo kolem roku 2010 jako reakce na omezení tradičního DWH. Myšlenka je jednoduché a výkonné: místo definování schématu před načtením dat (schema-on-write), nezpracovaná data uložíte v jejich původním formátu a schéma použijete pouze v tuto chvíli čtení (schema-on-read). Počáteční technologický základ e Apache Hadoop s distribuovaným souborovým systémem HDFS.
Charakteristika Datového jezera
- Schema-on-Read: Data se načítají bez transformace, schéma platí při jejich čtení
- Všechny typy dat: Strukturované (CSV, Parkety), polostrukturované (JSON, XML), nestrukturované (obrázky, protokoly, videa)
- Úsporné skladování: Amazon S3, Azure Data Lake Storage, Google Cloud Storage stojí několik centů za GB měsíčně
- Neomezená škálovatelnost: Cloudové úložiště lze škálovat až na exabajty bez správy hardwaru
- Otevřené formáty: Parkety, ORC, Avro jsou otevřené standardy, bez uzamčení dodavatele na skladování
# Esempio: Scrivere dati in un Data Lake con PySpark
from pyspark.sql import SparkSession
spark = SparkSession.builder \
.appName("ETL-DataLake") \
.getOrCreate()
# Leggere dati grezzi da diverse sorgenti
vendite_csv = spark.read.csv("s3://data-lake/raw/vendite/*.csv",
header=True, inferSchema=True)
log_json = spark.read.json("s3://data-lake/raw/app-logs/*.json")
# Trasformare e arricchire
vendite_pulite = vendite_csv \
.filter("importo > 0") \
.withColumn("data_elaborazione", current_timestamp()) \
.dropDuplicates(["ordine_id"])
# Salvare in formato Parquet (colonnare, compresso)
vendite_pulite.write \
.mode("append") \
.partitionBy("anno", "mese") \
.parquet("s3://data-lake/processed/vendite/")
Problém datových bažin
Data Lake vyřešil problém tuhosti a nákladů na úložiště, ale vytvořil a nový a zákeřný problém: Datová bažina (datová bažina). Bez vládnutí, katalogizace a kontrola kvality se datová jezera rychle proměnila ve skládky dat, o kterých nikdo neví, co tam je, kdo je tam vložil a jestli jsou stále spolehlivá.
Problémy nekontrolovaného datového jezera
- Žádné transakce ACID: Souběžné zápisy mohou poškodit data. Úloha ETL, která selže v polovině cesty, zanechává částečná data.
- Žádné vynucovací schéma: Svoboda čtení schémat se stává chaosem, když stovky výrobců píší data bez standardů.
- Špatný výkon: Bez indexů, statistik a optimalizace dotazů je čtení dat z jezera řádově pomalejší než z DWH.
- Žádné cestování časem: Pokud někdo přepíše soubor Parquet, předchozí data budou navždy ztracena.
- Masivní duplikace: Různé týmy kopírují stejná data do různých formátů, čímž vytvářejí nekonzistentní kopie.
Frustrace z Data Lake vedla mnoho společností k paralelnímu udržování obou DWH (pro kritická strukturovaná data) a Data Lake (pro nezpracovaná a nestrukturovaná data), s duplikace, náklady a složitost se zdvojnásobily. Potřebovali jsme řešení, které spojuje to nejlepší oba světy. Toto řešení je Data Lakehouse.
The Data Lakehouse: To nejlepší z obou světů
Il Data Lakehouse a architektura, která kombinuje flexibilitu a nízké náklady Data Lake se zárukami spolehlivosti, výkonu a správy datového skladu. The klíčový koncept aOtevřít formát tabulky: Překrývající se vrstva metadat do souborů v datovém jezeře (typicky Parquet na úložišti objektů) pro poskytování ACID transakcí, vynucení schématu, cestování v čase a optimalizace dotazů.
Formát tří otevřených tabulek
| Formát | Vytvořil | Adopce 2025 | Pevný bod |
|---|---|---|---|
| Ledovec Apache | Netflix (2017) | 78,6 % (exkluzivně) | Neutrální vůči dodavateli, skryté dělení, široký ekosystém |
| Delta jezero | Databricks (2019) | 39,3 % (překrytí) | Integrace Native Spark, Liquid Clustering |
| Apache Hudi | Uber (2016) | Menší | Optimalizováno pro upsert a CDC (zachycení změn dat) |
Soutěž mezi těmito třemi formáty v podstatě skončila v letech 2024-2025 s Ledovec Apache která dosáhla pozice de facto standardu. Rozhodující signál přišel v červnu 2024, kdy Databrick získané Tabelární, společnost založená tvůrci Iceberg. Databricks, stejná společnost kdo vytvořil Delta Lake, uznal, že interoperabilita s Icebergem byla dlouho opožděná zásadní. Trh katalogových služeb pro Iceberg dosáhl 578 milionů dolarů v roce 2024 s očekávaným meziročním růstem 21,7 %.
# Creare una tabella Iceberg con PySpark
from pyspark.sql import SparkSession
spark = SparkSession.builder \
.appName("Lakehouse-Iceberg") \
.config("spark.sql.catalog.lakehouse", "org.apache.iceberg.spark.SparkCatalog") \
.config("spark.sql.catalog.lakehouse.type", "rest") \
.config("spark.sql.catalog.lakehouse.uri", "http://iceberg-rest:8181") \
.config("spark.sql.catalog.lakehouse.warehouse", "s3://my-lakehouse/") \
.getOrCreate()
# Creare una tabella con schema tipizzato
spark.sql("""
CREATE TABLE lakehouse.vendite.ordini (
ordine_id BIGINT,
cliente_id INT,
prodotto_id INT,
quantità INT,
importo DECIMAL(12,2),
data_ordine TIMESTAMP,
regione STRING
)
USING iceberg
PARTITIONED BY (days(data_ordine), regione)
""")
# Inserire dati con transazioni ACID
df_nuovi_ordini.writeTo("lakehouse.vendite.ordini") \
.append()
# Time Travel: leggere i dati com'erano ieri
spark.read \
.option("as-of-timestamp", "2025-06-14T00:00:00") \
.table("lakehouse.vendite.ordini") \
.show()
Co přináší Data Lakehouse ve srovnání s Data Lake
- ACID transakce: Atomové, konzistentní, izolované a dlouhotrvající spisy. Už žádná částečná nebo poškozená data.
- Evoluční schéma: Přidejte, přejmenujte nebo odstraňte sloupce bez přepisování existujících dat.
- Cestování časem: Získejte přístup k jakékoli historické verzi dat pro audit, ladění nebo vrácení zpět.
- Optimalizace dotazu: Statistika sloupců, prořezávání souborů, přeskakování dat snižuje načtená data o 90 %+.
- Upsert and Merge: Efektivní operace aktualizace/vložení/vymazání, základní pro CDC a SCD (pomalu se měnící rozměry).
- Otevřené formáty: Data zůstávají v Parquet na úložišti objektů. Žádné uzamčení dodavatele.
Porovnání platformy: Kterou vybrat?
Trhu cloudových datových platforem dominují tři giganti, Snowflake, Databricks a Google BigQuery, ke kterému se připojil outsider, který přináší revoluci v místní analytice: DuckDB. Každá platforma má cenový model, architekturu a případ různých ideálních použití. Podívejme se na ně podrobně.
Podrobné srovnání platforem
| Charakteristický | Sněhové vločky | Databricks | BigQuery | DuckDB |
|---|---|---|---|---|
| Model | SaaS (kredity) | PaaS (DBU) | Bez serveru | Vložené (zdarma) |
| Úložiště/TB/měsíc | ~23 $ (AWS) | Přímé náklady na cloud | 20 $ (aktivní) | 0 $ (místní) |
| Vypočítat | 2-4 $/kredit | 0,07 USD+/DBU | Naskenováno 5 $/TB | 0 $ (místní CPU) |
| Typické měsíční náklady (PMI) | 2 000 – 10 000 USD | 1 500 – 8 000 USD | 500 – 5 000 USD | $0 |
| Otevřít formát tabulky | Původní ledovec | Delta jezero + ledovce | BigLake + ledovec | ledovec (čtení) |
| Jazyk | SQL, Python, Java | Python, Scala, SQL, R | SQL, Python | SQL |
| Streamování | Snowpipe | Strukturované streamování | Nativní streamování | No |
| Integrované ML/AI | Cortex AI | MLflow, Mosaic | Vertex AI | No |
| Ideální pro | SQL-first týmy | Datové inženýrství + ML | Ekosystém Google | Místní analytika, PoC |
DuckDB: Revoluce vestavěné analýzy
Mezi nejvýznamnější novinky posledních let ve světě dat patří DuckDB, vestavěná analytická databáze, která zásadně mění způsob, jakým vývojáři a data analytici pracují s daty. Představte si to jako „SQLite pro analytiku“: žádné servery k instalaci, žádné nastavení, žádné licenční náklady. Nainstaluje se jediným příkazem a funguje přímo na lokální soubory.
Benchmarky jsou jasné: TPC-DS dotaz, který v PostgreSQL trvá déle než 2 hodiny provedeno za cca 400 milisekund s DuckDB. O analytických úlohách, DuckDB díky své architektuře může být 100-1000krát rychlejší než SQLite nebo PostgreSQL sloupovitý s exekucí vektorizované.
# Installare DuckDB
pip install duckdb
# Analizzare un file Parquet da 10GB senza importarlo
import duckdb
con = duckdb.connect()
# Query diretta su file Parquet (nessun import necessario)
result = con.sql("""
SELECT
regione,
EXTRACT(MONTH FROM data_ordine) AS mese,
COUNT(*) AS num_ordini,
SUM(importo) AS fatturato_totale,
AVG(importo) AS ordine_medio,
COUNT(DISTINCT cliente_id) AS clienti_unici
FROM 'vendite_2025.parquet'
GROUP BY regione, mese
ORDER BY fatturato_totale DESC
""")
result.show()
# Leggere direttamente da S3
con.sql("""
SELECT * FROM read_parquet('s3://my-bucket/data/*.parquet')
WHERE regione = 'Puglia'
LIMIT 1000
""")
# Esportare in diversi formati
con.sql("COPY (SELECT * FROM result) TO 'report.xlsx' (FORMAT GDAL)")
con.sql("COPY (SELECT * FROM result) TO 'report.csv' (HEADER)")
Kdy použít DuckDB
- Průzkumná analýza: Dotaz na soubory CSV, Parquet, JSON bez infrastruktury
- Prototypování: Ověřte dotazy a logiku, než je přenesete do produkce na Snowflake nebo Databricks
- Místní zprávy: Generujte řídicí panely a sestavy o datech až do 100 GB na notebooku
- CI/CD potrubí: Testování kvality dat v kontinuálních integračních kanálech
- Edge computing: Analýza na vestavěných zařízeních nebo v nesíťových prostředích
DuckDB nenahrazuje Snowflake nebo Databricks pro petabajtové produkční úlohy, ale pokrývá přesně ten rozsah použití, nejběžnější, ve kterém analytik potřebuje odpovědi rychle z datových sad, které jsou na jediném serveru. Pro italské malé a střední podniky, které se pohybují jako první kroky k analýze dat, DuckDB představuje ideální vstupní bod: nulové náklady, minimální křivka učení, okamžité výsledky.
Medailon za architekturu: bronz, stříbro, zlato
Bez ohledu na platformu, kterou si vyberete, nejrozšířenější architektura v moderních datových jezerních domech a Architektura medailonu (medailonová architektura), která organizuje data do tři progresivní úrovně kvality a zdokonalení. Každá úroveň má v cyklu specifickou roli životnost dat, od nezpracovaného příjmu až po použití v podniku.
Tři úrovně architektury medailonu
| Úroveň | Rozsah | Kvalita dat | Cílové uživatele |
|---|---|---|---|
| bronz (surový) | Surové požití, kopie zdrojů 1:1 | Žádné ověření, data přijata | Datoví inženýři |
| Stříbro (ověřeno) | Čištění, deduplikace, konformace | Napsáno, deduplikováno, připojení hotovo | Datoví inženýři, analytici |
| zlato (podnikání) | Agregace, metriky, obchodní modely | Připraveno pro sestavy a řídicí panely | Firemní uživatelé, analytici, ML inženýři |
# Architettura Medallion con PySpark e Iceberg
# ============ BRONZE LAYER ============
# Ingestione grezza: copia fedele dalla sorgente
bronze_vendite = spark.read \
.format("csv") \
.option("header", "true") \
.load("s3://sources/erp/vendite_export_*.csv")
# Aggiungere metadati di ingestione
bronze_vendite = bronze_vendite \
.withColumn("_ingestion_ts", current_timestamp()) \
.withColumn("_source_file", input_file_name())
bronze_vendite.writeTo("lakehouse.bronze.vendite_raw").append()
# ============ SILVER LAYER ============
# Pulizia, tipizzazione, deduplicazione
silver_vendite = spark.table("lakehouse.bronze.vendite_raw") \
.filter("importo IS NOT NULL AND importo > 0") \
.withColumn("importo", col("importo").cast("decimal(12,2)")) \
.withColumn("data_ordine", to_timestamp("data_ordine", "dd/MM/yyyy")) \
.dropDuplicates(["ordine_id"]) \
.join(
spark.table("lakehouse.silver.dim_clienti"),
"cliente_id",
"left"
)
silver_vendite.writeTo("lakehouse.silver.vendite_clean") \
.overwritePartitions()
# ============ GOLD LAYER ============
# Aggregazioni pronte per il business
gold_fatturato = spark.sql("""
SELECT
c.regione,
c.segmento,
DATE_TRUNC('month', v.data_ordine) AS mese,
COUNT(*) AS num_ordini,
SUM(v.importo) AS fatturato,
AVG(v.importo) AS ordine_medio,
COUNT(DISTINCT v.cliente_id) AS clienti_attivi
FROM lakehouse.silver.vendite_clean v
JOIN lakehouse.silver.dim_clienti c ON v.cliente_id = c.cliente_id
GROUP BY c.regione, c.segmento, DATE_TRUNC('month', v.data_ordine)
""")
gold_fatturato.writeTo("lakehouse.gold.fatturato_mensile") \
.overwritePartitions()
Architektura medailonu není jen technický vzor: je to a organizační smlouva. Bronzová vrstva je v kompetenci týmu datových inženýrů, stříbrná vrstva je sdílena mezi nimi inženýrství a analytiky, zlatá vrstva je navržena společně s firmou. Toto oddělení odpovědnost v kombinaci s transakčními zárukami formátu tabulky lakehouse eliminuje problém datové bažiny a dělá z dat spravované a řízené podnikové aktivum.
Italský kontext: příležitosti a zpoždění
Itálie představuje v digitální transformaci paradoxní panorama. Na jedné straně, Plán přechodu 5.0 PNRR dala k dispozici značné zdroje na digitalizaci podniků: 6,3 miliardy eur ve dvouletém období 2024–2025. na druhé straně míra přijetí zůstává dramaticky nízká.
Stav AI v italských malých a středních podnicích
- Pouze8,2 % italských výrobních malých a středních podniků integrovalo alespoň jednu technologii umělé inteligence ve srovnání s více než 40 % amerických společností
- Italský trh s umělou inteligencí má hodnotu 1,2 miliardy eur (+58 % ročně), ale růst je soustředěn ve velkých společnostech
- Prostředky Transition 5.0 došly již 6. listopadu 2025 s předčasným uzavřením platformy GSE
- Skutečný rozpočet byl přepracován na 2,5 miliardy, což je přibližně o 3,8 miliardy méně než původní plán
- Daňová úleva na software 4.0 byla zrušena, což vytváří mezeru v pobídkách pro malé a střední podniky
Tato mezera představuje riziko i příležitost. MSP, které nyní investují vlastní datovou infrastrukturu, také s dostupnými řešeními, jako je DuckDB a open source nástroje, se ocitnou v konkurenční výhodě, když nastanou další pobídkové cykly k dispozici. Na začátek nepotřebujete miliony eur: potřebujete jasnou strategii a správné dovednosti.
Jak si vybrat: Praktický průvodce rozhodování
Výběr správné platformy závisí na třech hlavních faktorech: objemu dat, dostupný rozpočet a dovednosti týmu. Zde je praktický rozhodovací strom:
Rozhodovací strom: Jakou platformu zvolit
| Scénář | Objem dat | Roční rozpočet | Doporučená platforma |
|---|---|---|---|
| Startups / PoCs | < 100 GB | < 1 000 EUR | DuckDB + Pilník na parkety |
| MSP – první kroky | 100 GB - 1 TB | 1 000 - 10 000 EUR | BigQuery (platba za dotaz) |
| PMI - SQL tým | 1 - 10 TB | 10 000 - 50 000 EUR | Sněhové vločky |
| PMI - datový/ML tým | 1 - 10 TB | 10 000 - 50 000 EUR | Databricks |
| Podnik | > 10 TB | > 50 000 EUR | Databricks o Sněhové vločky + Ledovec |
| Ekosystém Google | Žádný | Variabilní | BigQuery + Vertex AI |
5 otázek, které byste si měli položit, než si vyberete
- Kdo bude data používat? Pokud se tým skládá z SQL analytiků, Snowflake nebo BigQuery jsou přirozenou volbou. Pokud existují datoví inženýři a datoví vědci, Databricks nabízí větší flexibilitu.
- Je potřeba reálný čas? Pokud mají být data dostupná během několika sekund (nikoli hodin), potřebujete nativní streamovací platformy, jako jsou Databricks nebo BigQuery.
- Jak důležitá jsou nestrukturovaná data? Záznamy, obrázky, dokumenty? Pokud jsou významnou součástí, jezerní dům s ledovcem je tou nejlepší volbou.
- Co je poskytovatel firemního cloudu? Pokud vaše společnost již používá AWS, Snowflake a Databricks jsou přirozené možnosti. V GCP má BigQuery výhody integrace.
- Jaký je plán na 3 roky? Začít s DuckDB pro PoC a přejít na Snowflake nebo Databricks je naprosto dobrá a oblíbená strategie.
Dávkové vs streamování: Dva modely příjmu
Klíčovým aspektem k pochopení v moderní datové architektuře je rozdíl mezi zpracování šarže e streamování. Není to o výběru jedno nebo druhé, ale pochopit, kdy je každý vhodný.
Dávkové vs Streamování: Kdy použít který
| čekám | Dávka | Streamování |
|---|---|---|
| Latence | Hodiny (typicky noční) | Vteřiny nebo minuty |
| Složitost | Nízký | Vysoká (správa stavu, objednávání, selhání) |
| Náklady | Obsah (výpočet na vyžádání) | Vysoká (výpočet je vždy aktivní) |
| Případy použití | Denní reporty, klasické ETL, školení ML | Detekce podvodů, monitorování, řídicí panel v reálném čase |
| Nástroje | Jiskra, dbt, proudění vzduchu | Kafka, Flink, Spark Streaming |
| Doporučeno pro malé a střední podniky | Začněte zde (90 % případů) | Pouze pokud to podnik vyžaduje |
Praktická rada: 90 % malých a středních podniků může snadno začít s architekturou šarže, který je jednodušší na správu, levnější a pokrývá drtivou většinu většina případů analytického použití. Streamování by mělo být zavedeno pouze v případě, že existuje požadavek jasné a měřitelné obchodní zdůvodnění, které to odůvodňuje (např. detekce podvodů v reálném čase, monitorování IoT, personalizace v reálném čase v e-commerce).
Závěry a další kroky
V tomto článku jsme pokryli celý vývoj datových skladů: od modelu relační od Inmona a Kimballa s SQL Serverem a Oracle, procházející revolucí Data Lake s Hadoopem a cloudovým úložištěm až po architekturu Data Lakehouse s Apache Iceberg, která je dnes představuje současný stav techniky.
Klíčové body k zapamatování
- Il Tradiční DWH Není mrtvý: vyvinul se. Koncepty hvězdného schématu a rozměrového modelování zůstávají základními.
- Il Datové jezero vyřešil problém s úložištěm, ale vytvořil Data Swamp bez adekvátního řízení.
- Il Data Lakehouse s Apache Iceberg kombinuje to nejlepší z obou: ekonomické úložiště, ACID transakce, výkon.
- DuckDB a ideální vstupní bod pro malé a střední podniky a analytiky: nulové náklady, výjimečný výkon, žádná infrastruktura.
- L'Architektura medailonu (Bronze/Silver/Gold) organizuje tok dat od příjmu k podnikání jasným a řízeným způsobem.
- Il Italský kontext představuje významnou mezeru v přijímání umělé inteligence (8,2 % malých a středních podniků oproti 40 %+ USA), ale také příležitostí pro ty, kteří nyní investují.
Další článek ze série se bude věnovat doplňkovému a neméně zásadnímu tématu: Data Mesh a Data Governance. Uvidíme, jak decentralizovat vlastnictví dat udržování standardů kvality a bezpečnosti, organizační přístup, který se dokonale integruje s technickou architekturou jezera, kterou jsme dnes prozkoumali.
Doporučené praktické cvičení
Než přejdete k dalšímu článku, zkuste nainstalovat DuckDB a spustit dotaz analýzy na skutečném datovém souboru. Soubor CSV dat si můžete stáhnout z otevřených zdrojů, jako je ISTAT nebo Kaggle a dotazujte se jedním řádkem kódu:
# Installa DuckDB
pip install duckdb
# Una riga per analizzare qualsiasi CSV
python -c "import duckdb; duckdb.sql(\"SELECT * FROM 'dataset.csv' LIMIT 10\").show()"
# Oppure in una sessione interattiva
import duckdb
con = duckdb.connect()
# Statistiche descrittive immediate
con.sql("""
SUMMARIZE SELECT * FROM 'vendite.csv'
""").show()
# Analisi per regione
con.sql("""
SELECT
regione,
COUNT(*) AS record,
ROUND(AVG(importo), 2) AS media,
ROUND(MEDIAN(importo), 2) AS mediana
FROM 'vendite.csv'
GROUP BY regione
ORDER BY record DESC
""").show()
V dalších článcích série se ponoříme hlouběji do každé součásti této architektury, od moderních kanálů ETL/ELT po kvalitu dat, od umělé inteligence aplikované na podnikání až po a praktické pouzdro end-to-end. Pokud jste podnikatel, IT manažer nebo aspirant inženýr, tato řada vám poskytne praktické znalosti, abyste mohli začít svou cestu digitální transformace vaší společnosti.







