Apache Tajo - Introduzione
Sistema di data warehouse distribuito
Il data warehouse è un database relazionale progettato per query e analisi piuttosto che per l'elaborazione delle transazioni. È una raccolta di dati orientata al soggetto, integrata, variabile nel tempo e non volatile. Questi dati aiutano gli analisti a prendere decisioni informate in un'organizzazione, ma i volumi di dati relazionali aumentano di giorno in giorno.
Per superare le sfide, il sistema di data warehouse distribuito condivide i dati tra più repository di dati allo scopo di Online Analytical Processing (OLAP). Ogni data warehouse può appartenere a una o più organizzazioni. Esegue il bilanciamento del carico e la scalabilità. I metadati vengono replicati e distribuiti centralmente.
Apache Tajo è un sistema di data warehouse distribuito che utilizza Hadoop Distributed File System (HDFS) come livello di archiviazione e ha il proprio motore di esecuzione delle query invece del framework MapReduce.
Panoramica di SQL su Hadoop
Hadoop è un framework open source che consente di archiviare ed elaborare big data in un ambiente distribuito. È estremamente veloce e potente. Tuttavia, Hadoop ha capacità di query limitate, quindi le sue prestazioni possono essere migliorate ancora con l'aiuto di SQL su Hadoop. Ciò consente agli utenti di interagire con Hadoop tramite semplici comandi SQL.
Alcuni degli esempi di applicazioni SQL su Hadoop sono Hive, Impala, Drill, Presto, Spark, HAWQ e Apache Tajo.
Cos'è Apache Tajo
Apache Tajo è un framework di elaborazione dati relazionale e distribuito. È progettato per un'analisi delle query ad-hoc scalabile e a bassa latenza.
Tajo supporta SQL standard e vari formati di dati. La maggior parte delle query Tajo può essere eseguita senza alcuna modifica.
Tajo ha fault-tolerance tramite un meccanismo di riavvio per le attività non riuscite e un motore estensibile di riscrittura delle query.
Tajo esegue il necessario ETL (Extract Transform and Load process)operazioni per riepilogare set di dati di grandi dimensioni archiviati su HDFS. È una scelta alternativa a Hive / Pig.
L'ultima versione di Tajo ha una maggiore connettività ai programmi Java e ai database di terze parti come Oracle e PostGreSQL.
Caratteristiche di Apache Tajo
Apache Tajo ha le seguenti caratteristiche:
- Scalabilità superiore e prestazioni ottimizzate
- Bassa latenza
- Funzioni definite dall'utente
- Framework di elaborazione dell'archiviazione di righe / colonne.
- Compatibilità con HiveQL e Hive MetaStore
- Flusso di dati semplice e facile manutenzione.
Vantaggi di Apache Tajo
Apache Tajo offre i seguenti vantaggi:
- Facile da usare
- Architettura semplificata
- Ottimizzazione delle query basata sui costi
- Piano di esecuzione delle query vettorializzate
- Consegna veloce
- Semplice meccanismo di I / O e supporta vari tipi di archiviazione.
- Tolleranza ai guasti
Casi d'uso di Apache Tajo
Di seguito sono riportati alcuni dei casi d'uso di Apache Tajo:
Data warehousing e analisi
L'azienda coreana SK Telecom ha eseguito Tajo su 1,7 terabyte di dati e ha scoperto di poter completare le query con maggiore velocità rispetto a Hive o Impala.
Scoperta dei dati
Il servizio di streaming musicale coreano Melon utilizza Tajo per l'elaborazione analitica. Tajo esegue processi ETL (processo di estrazione-trasformazione-caricamento) da 1,5 a 10 volte più velocemente di Hive.
Analisi dei registri
Bluehole Studio, una società coreana ha sviluppato TERA, un gioco online multiplayer fantasy. L'azienda utilizza Tajo per l'analisi del registro di gioco e per individuare le cause principali delle interruzioni della qualità del servizio.
Archiviazione e formati di dati
Apache Tajo supporta i seguenti formati di dati:
- JSON
- File di testo (CSV)
- Parquet
- File di sequenza
- AVRO
- Buffer di protocollo
- Apache Orc
Tajo supporta i seguenti formati di archiviazione:
- HDFS
- JDBC
- Amazon S3
- Apache HBase
- Elasticsearch