Svegliati nel cuore della notte a causa di un bug di dati di nuovo, hai mai sognato un mondo di dati ideale in cui le question ritornano in pochi secondi, i dati non vengono mai persi e i costi sono così bassi che il tuo capo sta sorridendo? Sembra un sogno? NO! Questo sta diventando una realtà.
Ricordi quella notte sei stato schiacciato da problemi di partizionamento dei dati, con il product supervisor che spinge freneticamente per i progressi mentre hai lottato con i dati sparsi? Le domande trasversali erano lente quanto una lumaca che saleva una montagna e i cambiamenti dello schema richiedevano il coordinamento tra sette dipartimenti.
Ma ora, questi punti deboli vengono riscritti.
La combinazione di Apache Doris e Iceberg sta ridefinendo il modo in cui funzionano i laghi di dati. Non è solo un semplice 1+1 = 2; Porta un salto qualitativo: question di secondo livello, evoluzione dello schema senza soluzione di continuità e garanzie di coerenza dei dati reali.
La perfetta sinfonia di Doris e iceberg
Nel campo dell’ingegneria dei dati, incontriamo spesso tali problemi:
Xiao Zhang sta lavorando a un requisito di analisi dei dati, che ha bisogno di analizzare i dati di comportamento degli utenti negli ultimi tre mesi. I dati sono sparsi tra i information warehouse HIVE, i database aziendali e l’archiviazione di oggetti. Le prestazioni di be a part of di supply sono scarse, con question che richiedono oltre 40 minuti e spesso si verificano incoerenza dei dati.
Inoltre, Xiao Zhang deve anche affrontare il lavoro di governance dei dati e ogni cambio di struttura della tabella gli dà un mal di testa. Le applicazioni a valle a number of dipendono da queste tabelle e le modifiche allo schema richiedono il coordinamento tra più workforce, eventualmente impiegando una settimana per completare una singola modifica.
Questi problemi sono diventati più importanti con la crescita esplosiva dei dati. La tradizionale separazione di information warehouse e laghi di dati non può più soddisfare le esigenze.
Fortunatamente, nella versione 2.1, Architettura Lakehouse di Apache Doris è stato significativamente migliorato. Non solo migliora le capacità di lettura e scrittura dei formati di dati tradizionali (Hudi, iceberg, Paimon, ecc.), Ma introduce anche compatibilità dialettale multi-SQL, consentendo il passaggio senza soluzione di continuità dai sistemi esistenti a Apache Doris. Nelle scienze dei dati e negli scenari di lettura dei dati su larga scala, Doris integra l’interfaccia di lettura advert alta velocità Flight Arrow, ottenendo un miglioramento di 100x nell’efficienza di trasferimento dei dati.
Pertanto, Xiao Zhang ha deciso di usare Doris + iceberg per la sua redenzione.
Apache Doris fornisce supporto nativo per molte caratteristiche fondamentali di Iceberg:
- Supporta vari tipi di catalogo iceberg come Hive Metastotore, Hadoop, Relaxation, Glue, Google Dataproc MetaStore e DLF.
- Supporta nativamente i formati della tabella Iceberg V1/V2, nonché la posizione di lettura elimina i file.
- Supporta la question sulla cronologia dell’istantanea del tavolo iceberg attraverso le funzioni della tabella.
- Supporta funzionalità di viaggio nel tempo.
- Supporta nativamente il motore del tavolo iceberg. Apache Doris può creare, gestire e scrivere dati nelle tabelle iceberg. Supporta un set completo di funzioni di trasformazione della partizione, fornendo capacità come partizioni nascoste ed evoluzione del structure della partizione.
Inoltre, la versione 2.1.6 di Doris ha portato significativi aggiornamenti a Doris + Iceberg:
Apache Doris supporta le operazioni DDL e DML su iceberg. Gli utenti possono creare direttamente database e tabelle in iceberg tramite Apache Doris e scrivere dati nelle tabelle iceberg.
Attraverso questa funzione, gli utenti possono eseguire question di dati full e scrivere operazioni su iceberg utilizzando Apache Doris, semplificando ulteriormente l’architettura Lakehouse.
Pertanto, Xiao Zhang può costruire rapidamente un’efficace soluzione di Lakehouse basata su Apache Doris + Apache Iceberg per soddisfare in modo flessibile varie esigenze per l’analisi e l’elaborazione dei dati in tempo reale:
- Utilizzare il motore di question advert alte prestazioni di Doris per unire e analizzare i dati da Tavoli iceberg e altre fonti di dati, creando una piattaforma di analisi dei dati federate unificata.
- Gestisci direttamente e costruisci tabelle iceberg in Doris, pulito ed elabora i dati e scrivili in tabelle iceberg, creando una piattaforma di elaborazione dei dati Lakehouse unificata.
- Condividi i dati Doris con altri sistemi a monte e a valle per ulteriori elaborazioni attraverso il motore della tabella iceberg, creando una piattaforma di archiviazione dati aperta unificata.
Questa non è più una semplice integrazione superficiale ma una profonda fusione di architetture Lakehouse!
Riepilogo pratico di Doris e iceberg
Dopo una serie di alti e bassi nell’esplorazione e nella pratica, Xiao Zhang ha riassunto alcune esperienze pratiche con Doris + Iceberg:
Gestione dei metadati intelligenti
Nelle soluzioni tradizionali, la gestione dei metadati è sempre stata una questione spinosa. Le informazioni sulla partizione della tabella, le posizioni dei file e le storie del cambiamento dello schema sono sparse ovunque, portando a scarse prestazioni di question e operazioni e manutenzione complesse.
Doris + Iceberg fornisce un livello di gestione dei metadati unificati:
Questa architettura porta diversi valori chiave:
- Evoluzione dello schema senza soluzione di continuità: I cambiamenti della struttura della tabella non richiedono più tempi di inattività. Doris + Iceberg supporta i campi di aggiunta, eliminazione e modifica, oltre a regolare i metodi di partizionamento.
- Gestione della versione dati: Attraverso Meccanismo dell’istantanea di Icebergè possibile tornare allo stato di dati in qualsiasi momento.
- Servizio di catalogo unificato: Supporta vari tipi di catalogo iceberg come Hive Metastotore, Hadoop, Relaxation, Glue, Google Dataproc MetaStore e DLF, integrando perfettamente con l’infrastruttura esistente.
Xiao Zhang ora può completare le modifiche allo schema con un singolo ALTER TABLE
dichiarazione. Il sistema gestisce automaticamente la compatibilità e le applicazioni a valle rimangono inconsapevoli delle modifiche.
Organizzazione efficiente dei dati
Doris combina innovatamente il motore MPP con i metodi di organizzazione dei dati di Iceberg:
-- Create a partitioned Iceberg desk
-- Partition columns should be within the desk's column definition listing
CREATE TABLE gross sales (
ts DATETIME,
user_id BIGINT,
quantity DOUBLE,
pt1 STRING,
pt2 STRING
) ENGINE=iceberg
-- Iceberg's partition sort corresponds to Listing partitioning in Doris
PARTITION BY LIST (DAY(ts), pt1, pt2) ()
PROPERTIES (
-- Compression format
-- Parquet: snappy, zstd (default), plain (no compression)
-- ORC: snappy, zlib (default), zstd, plain (no compression)
'write-format'='orc',
'compression-codec'='zlib'
);
Questa dichiarazione SQL nasconde potenti meccanismi tecnici:
- Organizzazione dei file: Supporta supporti di archiviazione comuni come HDF e archiviazione di oggetti.
- Partizionamento intelligente: Supporta le funzioni di trasformazione della partizione per consentire il partizionamento implicito di Iceberg e le caratteristiche dell’evoluzione della partizione.
- Ottimizzazione di archiviazione: Supporta formati di archiviazione colonnari come parquet e ORC, combinati con vari metodi di compressione per migliorare le prestazioni.
Con il supporto di Doris per le operazioni DDL e DML su Iceberg, anche i problemi di coerenza dei dati sono completamente risolti.
Gestione delle operazioni e manutenzione
Per garantire la stabilità della piattaforma dati, Xiao Zhang utilizza i seguenti metodi per monitorare e gestire le tabelle iceberg:
-- View desk snapshot info
SELECT * FROM iceberg_meta(
"desk" = "iceberg.nyc.taxis",
"query_type" = "snapshots"
);
-- Question a selected snapshot utilizing FOR VERSION AS OF
SELECT * FROM iceberg.nyc.taxis FOR VERSION AS OF {snapshot_id};
-- Question a selected snapshot utilizing FOR TIME AS OF
SELECT * FROM iceberg.nyc.taxis FOR TIME AS OF {committed_at};
-- Handle snapshots
...
Questa toolchain fornisce:
- Monitoraggio metrico: Controllo in tempo reale delle metriche dello stato della tabella e dell’istantanea.
- Gestione dell’istantanea: Pulisci istantanee scadute per rilasciare lo spazio di archiviazione.
- Recupero degli errori: Supporta il ritorno a qualsiasi versione storica (leggere i dati della versione storica in base all’ID snapshot o al tempo di creazione di Snapshot).
Attraverso queste pratiche, la piattaforma di dati di Xiao Zhang basata su Doris + Iceberg ha raggiunto nuove altezze:
- Le prestazioni delle question sono migliorate del 300%.
- Costi di stoccaggio ridotti del 40%.
- Le operazioni e l’efficienza di manutenzione sono aumentate del 200%.
L’entusiasmante viaggio della Lakehouse di Doris è infinito.
Resta sintonizzato per contenuti più interessanti, utili e preziosi nel prossimo numero!