Apache Tajo - Introducción

Sistema de almacenamiento de datos distribuido

El almacén de datos es una base de datos relacional que está diseñada para consultas y análisis en lugar de procesamiento de transacciones. Es una recopilación de datos no volátil, integrada, variable en el tiempo y orientada al tema. Estos datos ayudan a los analistas a tomar decisiones informadas en una organización, pero los volúmenes de datos relacionales aumentan día a día.

Para superar los desafíos, el sistema de almacenamiento de datos distribuido comparte datos en varios repositorios de datos con el propósito de procesamiento analítico en línea (OLAP). Cada almacén de datos puede pertenecer a una o más organizaciones. Realiza equilibrio de carga y escalabilidad. Los metadatos se replican y distribuyen de forma centralizada.

Apache Tajo es un sistema de almacenamiento de datos distribuido que utiliza Hadoop Distributed File System (HDFS) como capa de almacenamiento y tiene su propio motor de ejecución de consultas en lugar del marco MapReduce.

Descripción general de SQL en Hadoop

Hadoop es un marco de código abierto que permite almacenar y procesar big data en un entorno distribuido. Es extremadamente rápido y poderoso. Sin embargo, Hadoop tiene capacidades de consulta limitadas, por lo que su rendimiento se puede mejorar aún más con la ayuda de SQL en Hadoop. Esto permite a los usuarios interactuar con Hadoop a través de sencillos comandos SQL.

Algunos de los ejemplos de SQL en aplicaciones Hadoop son Hive, Impala, Drill, Presto, Spark, HAWQ y Apache Tajo.

¿Qué es Apache Tajo?

Apache Tajo es un marco de procesamiento de datos relacional y distribuido. Está diseñado para análisis de consultas ad-hoc escalables y de baja latencia.

  • Tajo admite SQL estándar y varios formatos de datos. La mayoría de las consultas de Tajo se pueden ejecutar sin ninguna modificación.

  • Tajo tiene fault-tolerance a través de un mecanismo de reinicio para tareas fallidas y un motor de reescritura de consultas extensible.

  • Tajo realiza lo necesario ETL (Extract Transform and Load process)operaciones para resumir grandes conjuntos de datos almacenados en HDFS. Es una opción alternativa a Hive / Pig.

La última versión de Tajo tiene una mayor conectividad a programas Java y bases de datos de terceros como Oracle y PostGreSQL.

Características de Apache Tajo

Apache Tajo tiene las siguientes características:

  • Escalabilidad superior y rendimiento optimizado
  • Baja latencia
  • Funciones definidas por el usuario
  • Marco de procesamiento de almacenamiento en filas / columnas.
  • Compatibilidad con HiveQL y Hive MetaStore
  • Flujo de datos simple y fácil mantenimiento.

Beneficios de Apache Tajo

Apache Tajo ofrece los siguientes beneficios:

  • Fácil de usar
  • Arquitectura simplificada
  • Optimización de consultas basada en costos
  • Plan de ejecución de consultas vectorizado
  • Entrega rápida
  • Mecanismo de E / S simple y admite varios tipos de almacenamiento.
  • Tolerancia a fallos

Casos de uso de Apache Tajo

Los siguientes son algunos de los casos de uso de Apache Tajo:

Almacenamiento y análisis de datos

La empresa coreana SK Telecom ejecutó Tajo con 1,7 terabytes de datos y descubrió que podía completar consultas con mayor velocidad que Hive o Impala.

Descubrimiento de datos

El servicio de transmisión de música coreana Melon utiliza Tajo para el procesamiento analítico. Tajo ejecuta trabajos ETL (proceso de extracción, transformación y carga) de 1,5 a 10 veces más rápido que Hive.

Análisis de registros

Bluehole Studio, una empresa con sede en Corea, desarrolló TERA, un juego de fantasía multijugador en línea. La empresa utiliza Tajo para el análisis de registros de juegos y para encontrar las principales causas de interrupciones en la calidad del servicio.

Formatos de almacenamiento y datos

Apache Tajo admite los siguientes formatos de datos:

  • JSON
  • Archivo de texto (CSV)
  • Parquet
  • Archivo de secuencia
  • AVRO
  • Búfer de protocolo
  • Apache Orc

Tajo admite los siguientes formatos de almacenamiento:

  • HDFS
  • JDBC
  • Amazon S3
  • Apache HBase
  • Elasticsearch