Apache Tajo - Présentation
Système d'entrepôt de données distribué
L'entrepôt de données est une base de données relationnelle conçue pour les requêtes et l'analyse plutôt que pour le traitement des transactions. Il s'agit d'une collection de données orientée sujet, intégrée, variant dans le temps et non volatile. Ces données aident les analystes à prendre des décisions éclairées dans une organisation, mais les volumes de données relationnelles augmentent de jour en jour.
Pour surmonter les défis, le système d'entrepôt de données distribué partage les données entre plusieurs référentiels de données à des fins de traitement analytique en ligne (OLAP). Chaque entrepôt de données peut appartenir à une ou plusieurs organisations. Il effectue l'équilibrage de charge et l'évolutivité. Les métadonnées sont répliquées et distribuées de manière centralisée.
Apache Tajo est un système d'entrepôt de données distribué qui utilise le système de fichiers distribués Hadoop (HDFS) comme couche de stockage et dispose de son propre moteur d'exécution de requêtes au lieu du framework MapReduce.
Présentation de SQL sur Hadoop
Hadoop est un framework open-source qui permet de stocker et de traiter du big data dans un environnement distribué. C'est extrêmement rapide et puissant. Cependant, Hadoop dispose de capacités d'interrogation limitées, de sorte que ses performances peuvent être encore améliorées à l'aide de SQL sur Hadoop. Cela permet aux utilisateurs d'interagir avec Hadoop via des commandes SQL simples.
Certains des exemples d'applications SQL sur Hadoop sont Hive, Impala, Drill, Presto, Spark, HAWQ et Apache Tajo.
Qu'est-ce qu'Apache Tajo
Apache Tajo est un framework de traitement de données relationnel et distribué. Il est conçu pour une analyse de requêtes ad hoc à faible latence et évolutive.
Tajo prend en charge le SQL standard et divers formats de données. La plupart des requêtes Tajo peuvent être exécutées sans aucune modification.
Tajo a fault-tolerance via un mécanisme de redémarrage pour les tâches ayant échoué et un moteur de réécriture de requêtes extensible.
Tajo effectue le nécessaire ETL (Extract Transform and Load process)opérations pour résumer de grands ensembles de données stockés sur HDFS. C'est un choix alternatif à Hive / Pig.
La dernière version de Tajo offre une meilleure connectivité aux programmes Java et aux bases de données tierces telles qu'Oracle et PostGreSQL.
Caractéristiques d'Apache Tajo
Apache Tajo présente les fonctionnalités suivantes -
- Évolutivité supérieure et performances optimisées
- Faible latence
- Fonctions définies par l'utilisateur
- Cadre de traitement du stockage en ligne / en colonne.
- Compatibilité avec HiveQL et Hive MetaStore
- Flux de données simple et maintenance facile.
Avantages d'Apache Tajo
Apache Tajo offre les avantages suivants -
- Facile à utiliser
- Architecture simplifiée
- Optimisation des requêtes basée sur les coûts
- Plan d'exécution de requête vectorisé
- Livraison rapide
- Mécanisme d'E / S simple et prend en charge différents types de stockage.
- Tolérance aux pannes
Cas d'utilisation d'Apache Tajo
Voici quelques exemples d'utilisation d'Apache Tajo:
Entreposage et analyse des données
La société coréenne SK Telecom a utilisé Tajo contre 1,7 téraoctet de données et a constaté qu'elle pouvait répondre à des requêtes plus rapidement que Hive ou Impala.
Découverte de données
Le service de streaming musical coréen Melon utilise Tajo pour le traitement analytique. Tajo exécute les travaux ETL (processus d'extraction-transformation-chargement) 1,5 à 10 fois plus rapidement que Hive.
Analyse du journal
Bluehole Studio, une société coréenne a développé TERA - un jeu en ligne multijoueur fantastique. La société utilise Tajo pour l'analyse des journaux de jeu et la recherche des principales causes des interruptions de qualité de service.
Stockage et formats de données
Apache Tajo prend en charge les formats de données suivants -
- JSON
- Fichier texte (CSV)
- Parquet
- Fichier de séquence
- AVRO
- Tampon de protocole
- Orc Apache
Tajo prend en charge les formats de stockage suivants -
- HDFS
- JDBC
- Amazon S3
- Apache HBase
- Elasticsearch