Apache Druid est un magasin de données distribué, open source et orienté colonnes, utilisé pour interroger et analyser des problèmes au sein de grands jeux de données en temps réel. Apache Druid a été développé par Metamarkets, puis donné à la Apache Software Foundation au printemps 2019.
Fonctionnalités de base
Apache Druid présente les caractéristiques suivantes :
Requêtes OLAP infra-secondes, incluant le filtrage multidimensionnel, le regroupement ad hoc d'attributs et l'agrégation rapide des données.
Consommation, collecte et interrogation des données en temps réel.
Capacité multi-locataire efficace, permettant à des milliers d'utilisateurs d'effectuer des recherches en ligne simultanément.
Évolutivité robuste, prenant en charge le traitement rapide de données de niveau pétaoctet, de 100 milliards d'événements et de milliers de requêtes concurrentes par seconde.
Haute disponibilité extrême et prise en charge des mises à jour progressives.
Scénarios d'utilisation
L'analyse de données en temps réel constitue le scénario d'utilisation le plus typique d'Apache Druid et couvre un large éventail de domaines, notamment :
Surveillance des indicateurs en temps réel
Recommandations de modèles
Plateformes publicitaires
Recherches de modèles
Ces scénarios impliquent de grandes quantités de données et exigent une faible latence lors de l'interrogation des données. Dans la surveillance des indicateurs en temps réel, les problèmes doivent être détectés dès leur survenue afin que vous soyez alerté aussi rapidement que possible. Pour le modèle de recommandation, les données comportementales des utilisateurs doivent être collectées en temps réel et transmises promptement au système de recommandation. En quelques clics seulement, le système identifie votre intention de recherche et recommande des résultats plus pertinents pour vos futures recherches.
Architecture
Apache Druid bénéficie d'une conception architecturale excellente, où plusieurs composants collaborent pour mener à bien une série de processus tels que la collecte, l'indexation, le stockage et l'interrogation des données.
Les composants inclus dans la couche de travail de Druid (pour l'indexation et l'interrogation des données) sont les suivants :
Le composant temps réel est responsable de la collecte des données en temps réel.
Lors de la phase broker, les tâches de requête sont distribuées, puis les résultats sont collectés et vous sont renvoyés.
Le nœud historique gère le stockage des données historiques après indexation. Les données sont conservées dans un stockage profond. Ce dernier peut être local ou reposer sur un système de fichiers distribué, tel que HDFS.
-
Le service d'indexation se compose de deux composants (non illustrés sur la figure).
Le composant Overlord gère et distribue les tâches d'indexation.
Le composant MiddleManager exécute les tâches d'indexation.
Les composants intervenant dans la couche de gestion des segments Druid (fichier d'index Druid) incluent :
Le composant ZooKeeper stocke l'état du cluster et permet la découverte des composants, notamment les informations topologiques du cluster, l'élection du leader Overlord et la gestion des tâches d'indexation.
Le composant Coordinator gère les segments, comme leur téléchargement, leur suppression et leur équilibrage avec les composants historiques.
Le composant de stockage des métadonnées conserve les méta-informations des segments et gère tous les types de données persistantes ou temporaires au sein du cluster, telles que les informations de configuration et d'audit.
E-MapReduce Enhanced Druid
E-MapReduce Druid apporte de nombreuses améliorations par rapport à Apache Druid, notamment l'intégration avec E-MapReduce et l'écosystème périphérique d'Alibaba Cloud, une surveillance simplifiée, un support opérationnel facilité et des interfaces produit intuitives. Vous pouvez l'utiliser immédiatement après l'achat. Aucune maintenance opérationnelle 24h/24 et 7j/7 n'est requise.
E-MapReduce Druid prend en charge les fonctionnalités suivantes :
Utilisation d'OSS comme stockage profond
Utilisation des fichiers OSS comme sources de données pour l'indexation par lots
Prise en charge de l'indexation des données en continu provenant de Log Service, offrant une haute fiabilité et une sémantique exactly-once
Utilisation de RDS pour stocker les métadonnées
Intégration avec les outils Superset
Mise à l'échelle ascendante et descendante simplifiée (la mise à l'échelle descendante concerne le nœud de tâche)
Indicateurs de surveillance diversifiés et règles d'alerte
Migration des nœuds défaillants
Mode haute sécurité
HA