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