Apache Tajo - Introdução
Sistema de Data Warehouse Distribuído
O data warehouse é um banco de dados relacional projetado para consulta e análise, e não para processamento de transações. É uma coleção de dados orientada para o assunto, integrada, variável no tempo e não volátil. Esses dados ajudam os analistas a tomar decisões informadas em uma organização, mas os volumes de dados relacionais aumentam dia a dia.
Para superar os desafios, o sistema de data warehouse distribuído compartilha dados em vários repositórios de dados para fins de processamento analítico online (OLAP). Cada data warehouse pode pertencer a uma ou mais organizações. Ele executa balanceamento de carga e escalabilidade. Os metadados são replicados e distribuídos centralmente.
Apache Tajo é um sistema de armazenamento de dados distribuído que usa o Hadoop Distributed File System (HDFS) como a camada de armazenamento e tem seu próprio mecanismo de execução de consulta em vez da estrutura MapReduce.
Visão geral do SQL no Hadoop
Hadoop é uma estrutura de código aberto que permite armazenar e processar big data em um ambiente distribuído. É extremamente rápido e poderoso. No entanto, o Hadoop tem recursos de consulta limitados, portanto, seu desempenho pode ser ainda melhor com a ajuda do SQL no Hadoop. Isso permite que os usuários interajam com o Hadoop por meio de comandos SQL fáceis.
Alguns dos exemplos de SQL em aplicativos Hadoop são Hive, Impala, Drill, Presto, Spark, HAWQ e Apache Tajo.
O que é Apache Tajo
Apache Tajo é uma estrutura de processamento de dados distribuída e relacional. Ele é projetado para baixa latência e análise de consulta ad-hoc escalonável.
Tajo suporta SQL padrão e vários formatos de dados. A maioria das consultas Tajo pode ser executada sem qualquer modificação.
Tajo tem fault-tolerance por meio de um mecanismo de reinicialização para tarefas com falha e mecanismo de regravação de consulta extensível.
Tajo realiza o necessário ETL (Extract Transform and Load process)operações para resumir grandes conjuntos de dados armazenados no HDFS. É uma escolha alternativa para Hive / Pig.
A última versão do Tajo tem maior conectividade com programas Java e bancos de dados de terceiros, como Oracle e PostGreSQL.
Características do Apache Tajo
Apache Tajo tem os seguintes recursos -
- Escalabilidade superior e desempenho otimizado
- Baixa latência
- Funções definidas pelo usuário
- Estrutura de processamento de armazenamento em linha / colunar.
- Compatibilidade com HiveQL e Hive MetaStore
- Fluxo de dados simples e fácil manutenção.
Benefícios do Apache Tajo
Apache Tajo oferece os seguintes benefícios -
- Fácil de usar
- Arquitetura simplificada
- Otimização de consulta baseada em custos
- Plano de execução de consulta vetorizado
- Entrega rápida
- Mecanismo de E / S simples e suporta vários tipos de armazenamento.
- Tolerância ao erro
Casos de uso do Apache Tajo
A seguir estão alguns dos casos de uso do Apache Tajo -
Armazenamento e análise de dados
A empresa coreana SK Telecom executou o Tajo com 1,7 terabytes de dados e descobriu que poderia completar consultas com maior velocidade do que o Hive ou o Impala.
Descoberta de dados
O serviço de streaming de música coreano Melon usa Tajo para processamento analítico. O Tajo executa tarefas ETL (processo de extração-transformação-carregamento) 1,5 a 10 vezes mais rápido do que o Hive.
Análise de log
Bluehole Studio, uma empresa com sede na Coréia desenvolveu TERA - um jogo online multiplayer de fantasia. A empresa usa o Tajo para análise de registro de jogos e localização das principais causas de interrupções na qualidade do serviço.
Armazenamento e formatos de dados
Apache Tajo suporta os seguintes formatos de dados -
- JSON
- Arquivo de texto (CSV)
- Parquet
- Arquivo de Sequência
- AVRO
- Buffer de protocolo
- Apache Orc
Tajo suporta os seguintes formatos de armazenamento -
- HDFS
- JDBC
- Amazon S3
- Apache HBase
- Elasticsearch