
Base de données analytique MPP
Gratuit

Apache Doris est une base de données analytique temps réel haute performance basée sur une architecture MPP (Massively Parallel Processing). Elle excelle dans l'analyse de données multidimensionnelles, les requêtes ad-hoc et les requêtes ponctuelles à haute concurrence. Contrairement aux systèmes OLAP traditionnels nécessitant des pipelines ETL complexes, Doris prend en charge l'ingestion de données en temps réel depuis des sources comme Kafka et Flink, offrant une latence inférieure à la seconde pour les jointures et agrégations complexes. Son moteur d'exécution vectorisé unique et son optimiseur basé sur le coût (CBO) lui permettent de gérer des jeux de données à l'échelle du pétaoctet tout en maintenant un débit élevé, ce qui en fait une alternative supérieure aux piles basées sur Hadoop ou aux entrepôts de données hérités pour l'analyse pilotée par l'IA.
Doris utilise un moteur d'exécution de requêtes vectorisé qui traite les données par lots plutôt que ligne par ligne. En exploitant les instructions CPU SIMD (Single Instruction, Multiple Data), il réduit considérablement la surcharge d'instructions et améliore la localité du cache. Ce choix architectural permet à Doris d'atteindre des gains de performance de 5x à 10x dans le traitement des requêtes analytiques par rapport aux moteurs traditionnels basés sur les lignes, gérant efficacement les agrégations complexes sur de grands volumes de données avec un minimum de cycles CPU.
Le système prend en charge une ingestion de données temps réel à haut débit via plusieurs protocoles, dont Stream Load, Broker Load et Routine Load. En s'intégrant nativement avec Apache Kafka et Flink, Doris élimine le besoin de couches de traitement par lots intermédiaires. Cela permet aux utilisateurs d'interroger les données quelques secondes après leur arrivée, garantissant que les tableaux de bord analytiques et les modèles d'IA sont toujours alimentés par l'état le plus récent des données, sans la latence des pipelines ETL traditionnels.
Le CBO d'Apache Doris est conçu pour gérer des jointures multi-tables complexes et des sous-requêtes imbriquées. Il sélectionne automatiquement le plan d'exécution le plus efficace en analysant la distribution des données, la cardinalité et les statistiques. En optimisant l'ordre des jointures et les opérateurs physiques, le CBO minimise le transfert de données sur le réseau, ce qui est crucial pour maintenir les performances dans les environnements MPP distribués où les E/S réseau sont souvent le goulot d'étranglement principal.
Doris est optimisé pour les scénarios à haute concurrence, prenant en charge des milliers de QPS (requêtes par seconde) pour les requêtes ponctuelles. Il utilise un format de stockage en lignes pour des colonnes spécifiques et emploie une couche de cache dédiée pour servir instantanément les recherches fréquentes. Cela le rend adapté aux applications orientées utilisateur nécessitant des temps de réponse à faible latence, comblant le fossé entre les systèmes OLAP traditionnels axés sur les scans lourds et les systèmes OLTP axés sur l'intégrité transactionnelle.
Pour prendre en charge les déploiements à grande échelle, Doris offre une isolation robuste des ressources via des groupes de charge de travail (Workload Groups). Les administrateurs peuvent définir des limites de CPU et de mémoire pour différents utilisateurs ou types de requêtes, évitant les problèmes de 'voisin bruyant' où une seule requête analytique lourde pourrait dégrader les performances pour les autres utilisateurs. Ce contrôle granulaire est essentiel pour les fournisseurs SaaS ou les grandes entreprises gérant plusieurs équipes internes sur un cluster partagé.
Les équipes marketing utilisent Doris pour ingérer les données de flux de clics depuis Kafka en temps réel. En exécutant des requêtes SQL ad-hoc, elles peuvent suivre instantanément les entonnoirs de conversion et les métriques de session, permettant des ajustements immédiats pour les tests A/B et une diffusion de contenu personnalisée basée sur les interactions en direct.
Les ingénieurs DevOps utilisent Doris pour agréger et rechercher dans des volumes massifs de journaux système. Sa capacité à effectuer des filtrages et agrégations à haute vitesse permet aux équipes d'identifier les goulots d'étranglement ou les menaces de sécurité en quelques secondes, remplaçant les outils de gestion de logs plus lents et gourmands en disque.
Les data scientists utilisent Doris comme magasin de caractéristiques temps réel pour les modèles de machine learning. En stockant des caractéristiques pré-calculées et des données brutes, le système offre un accès à faible latence aux caractéristiques lors de l'inférence du modèle, garantissant que les prédictions IA sont basées sur les points de données les plus récents.
Ils doivent construire des pipelines de données robustes à faible latence. Doris simplifie leur pile technologique en remplaçant les architectures Lambda complexes par un système unifié unique qui gère efficacement l'ingestion de données par lots et en streaming.
Ils ont besoin d'une base de données prenant en charge le SQL standard pour des tâches analytiques complexes. Doris fournit les performances nécessaires aux tableaux de bord interactifs et aux outils de reporting sans nécessiter de langages de requête propriétaires spécialisés.
Ils doivent fournir des informations en temps réel à leurs utilisateurs finaux. Doris leur permet de créer des fonctionnalités analytiques haute performance orientées utilisateur qui évoluent de manière transparente à mesure que leur base d'utilisateurs grandit.
Open source sous licence Apache 2.0. Entièrement gratuit à télécharger, modifier et déployer dans n'importe quel environnement sans frais de licence.