Voici comment ces technologies peuvent fonctionner ensemble :
Architecture du pipeline de données :
-
MySQL : Source principale de données structurées.
-
TiDB : Base de données SQL distribuée compatible avec MySQL, utilisée pour l'évolutivité et la haute disponibilité.
-
Kafka : Système de messagerie pour le streaming de données en temps réel.
-
Logstash : Outil de pipeline de traitement de données qui ingère des données provenant de diverses sources et les envoie à diverses destinations.
-
Redis : Couche de mise en cache pour un accès rapide aux données fréquemment consultées.
-
Elasticsearch : Moteur de recherche et d'analyse pour interroger de grands volumes de données.
-
CloudCanal : Outil d'intégration de données utilisé pour synchroniser les données de diverses sources telles que MySQL vers TiDB, Kafka, Redis et Elasticsearch.
Détails du flux de travail :
1. Ingestion de données :
- Les applications enregistrent les données dans MySQL.
- CloudCanal est utilisé pour synchroniser les données de MySQL vers TiDB et Kafka.
2. Streaming et traitement des données :
Kafka :
- Kafka ingère les données de MySQL via CloudCanal et les diffuse sur divers sujets.
- Les sujets contiennent des flux d'événements de données qui peuvent être traités par divers consommateurs.
Logstash :
- Logstash agit en tant que consommateur Kafka, traite les données de Kafka et les envoie à diverses sorties telles que Elasticsearch et Redis.
3. Stockage et récupération de données :
TiDB :
- TiDB sert de solution de base de données évolutive et hautement disponible, capable de gérer de gros volumes de données.
- TiDB est compatible avec MySQL, ce qui facilite l'intégration et la migration depuis MySQL.
Redis :
- Redis est utilisé comme couche de mise en cache pour les données fréquemment consultées depuis MySQL ou les événements traités depuis Kafka.
- Les applications peuvent d'abord interroger Redis avant d'interroger MySQL pour accélérer la récupération des données.
Recherche élastique :
- Logstash peut ingérer des données de Kafka et les envoyer à Elasticsearch.
- Elasticsearch indexe les données pour une recherche et des analyses rapides.
- Les applications peuvent interroger Elasticsearch pour obtenir des fonctionnalités de recherche avancées et des analyses en temps réel.
Exemple de flux de données :
Saisie de données dans MySQL :
- Un utilisateur insère un nouvel enregistrement dans la base de données MySQL.
- CloudCanal surveille les modifications dans MySQL et envoie des événements aux sujets TiDB et Kafka.
Traitement en temps réel :
- Kafka diffuse l'événement sur un sujet.
- Logstash agit en tant que consommateur Kafka, traite l'événement et envoie les données analysées à Elasticsearch pour indexation.
- Simultanément, Redis est mis à jour pour mettre en cache les nouvelles données.
Accès aux données :
- L'application vérifie les données dans le cache Redis.
- Si les données ne sont pas dans le cache, il interroge MySQL ou TiDB.
- Pour les requêtes et analyses complexes, l'application interroge Elasticsearch.
Ceci est juste pour mes notes. CTTO