AnalyticDB for MySQL est un entrepôt de données en temps réel à l'échelle du pétaoctet, développé indépendamment par Alibaba. Il a fait ses preuves dans des scénarios commerciaux centraux et à très grande échelle.
Présentation
Depuis sa première version interne chez Alibaba en 2012, AnalyticDB for MySQL a publié près d'une centaine de versions. Il prend en charge une large gamme de services d'analyse en ligne au sein d'Alibaba, notamment le commerce électronique, la publicité, la logistique, le divertissement, le tourisme et la gestion des risques. AnalyticDB for MySQL est disponible commercialement depuis 2014 et est utilisé dans plus de dix secteurs, y compris les grandes et moyennes entreprises traditionnelles, les agences gouvernementales et de nombreuses entreprises Internet.
AnalyticDB for MySQL est un entrepôt de données cloud-native, conçu avec soin selon le concept et la tendance de l'unification des technologies de base de données et de big data.
Architecture technique
AnalyticDB for MySQL utilise une architecture cloud-native avec découplage du calcul et du stockage, ainsi qu'une hiérarchisation des données chaudes et froides. Il prend en charge l'écriture de données en temps réel à haut débit et assure une forte cohérence des données, tout en gérant des charges de travail mixtes combinant des requêtes à haute concurrence et un traitement par lots à haut débit.
AnalyticDB for MySQL combine les avantages du calcul distribué, du calcul élastique et du cloud computing, apportant des améliorations significatives en matière d'évolutivité, de facilité d'utilisation, de fiabilité et de sécurité. Il répond pleinement aux exigences des entrepôts de données en temps réel pour différents scénarios, prend en charge un accès concurrentiel à plus grande échelle, des capacités de lecture et d'écriture plus rapides, ainsi qu'une gestion plus intelligente des charges de travail de requêtes hybrides. Cette approche permet une utilisation plus fine des ressources et une réduction des coûts, vous permettant ainsi de vous concentrer sur votre activité et sur la valeur de vos données.
En termes de déploiement matériel, AnalyticDB for MySQL prend en charge les puces Intel et AMD ainsi que le jeu d'instructions x86.
Enterprise Edition et Basic Edition
L'Enterprise Edition assure la récupération des services en quelques secondes, prend en charge le déploiement inter-zones et offre la détection automatique des pannes, leur suppression ainsi que la reconstruction des réplicas. Grâce au stockage à trois réplicas et aux sauvegardes complètes et incrémentielles, elle garantit une fiabilité des données de niveau financier. Elle fournit également des outils complémentaires pour la migration des données, la synchronisation, la gestion, l'intégration et la sécurité des données, afin que vous puissiez vous concentrer sur votre activité.
La Basic Edition utilise une architecture à réplica unique et propose les mêmes fonctionnalités que l'Enterprise Edition. Toutefois, comme le stockage sous-jacent ne comporte qu'un seul réplica, elle n'offre pas de haute disponibilité. Elle convient aux scénarios commerciaux qui n'exigent pas une haute disponibilité des données et recherchent un stockage de données chaudes à faible coût.
L'Enterprise Edition et la Basic Edition présentent les architectures suivantes :
Couche d'accès
La couche d'accès est constituée de nœuds coordinateurs Multi-Master évolutifs linéairement. Elle gère l'accès aux protocoles, l'analyse et l'optimisation SQL, le partitionnement des écritures en temps réel, ainsi que la planification des données et des requêtes.
Cette couche améliore l'efficacité du développement grâce à des unités de facturation unifiées, des métadonnées et des autorisations centralisées, des langages de développement uniques et des liens de transmission unifiés.
Couche de calcul
Le moteur de calcul propriétaire propose les modes MPP et BSP. Le mode MPP est un mode de calcul en flux continu et ne convient pas aux scénarios de traitement hors ligne à haut débit et à faible coût. Le mode BSP divise les tâches via un graphe acyclique dirigé (DAG) et les planifie par lots. Il prend en charge le calcul de données à grande échelle avec des ressources limitées et permet l'écriture des données calculées sur disque. Le moteur de calcul peut basculer automatiquement de mode : si une requête ne peut pas être terminée dans un délai donné en mode MPP, le système passe automatiquement en mode BSP.
Le moteur de calcul Spark open source est également fourni pour répondre à des scénarios plus complexes de traitement hors ligne et d'apprentissage automatique. La couche de calcul Spark et la couche de stockage sont interconnectées, ce qui vous permet d'utiliser les ressources de la couche de calcul pour traiter les données de la couche de stockage. La création et la configuration des groupes de ressources Spark s'en trouvent simplifiées. Grâce à l'accélération matérielle fournie par les GPU et les FPGA, nous obtenons un meilleur rapport qualité-prix.
Le moteur de stockage propriétaire est un moteur distribué, en temps réel, fortement cohérent et hautement disponible, construit sur un stockage partagé. Les données sont écrites en parallèle en temps réel grâce au partitionnement des données et à la technologie Multi-Raft, tandis que les données chaudes et froides sont séparées via une stratégie de stockage hiérarchisé, réduisant efficacement les coûts. Combiné à un stockage hybride ligne-colonne et à une indexation intelligente, le moteur offre d'excellentes performances.
Couche de stockage
Une seule copie des données complètes suffit pour servir à la fois les scénarios hors ligne et en ligne.
Les scénarios d'analyse en ligne exigent que les données soient placées sur des supports de stockage haute performance pour améliorer les performances, tandis que les scénarios hors ligne nécessitent des supports de stockage à faible coût pour réduire les dépenses de stockage. Pour répondre aux exigences de différents scénarios, une copie des données complètes est d'abord stockée sur des supports de stockage à haut débit et à faible coût. Les scénarios de traitement hors ligne à faible coût lisent et écrivent directement les données sur ces supports, ce qui réduit les coûts de stockage et d'E/S tout en garantissant un haut débit. Les données en temps réel sont ensuite stockées sur des disques cloud ESSD pour garantir des performances en temps réel au niveau des lignes. Parallèlement, des index sont construits sur l'ensemble des données et l'accès aux données est accéléré via la mise en cache, afin de répondre aux scénarios d'analyse en ligne haute performance avec une latence inférieure à 100 millisecondes.
Le stockage d'entrepôt de données intégré est ouvert aux systèmes externes et ne verrouille pas vos données. Il fournit une couche API de stockage unifiée et le format d'accès aux données Arrow. Il prend en charge l'accès aux données internes avec des moteurs de calcul open source tels que Spark et Presto, et offre une prise en charge complète pour les écosystèmes de lac de données tels qu'Iceberg, Hudi, Delta Lake et Paimon.
Éditions historiques
Data Warehouse Edition
La Data Warehouse Edition est principalement utilisée pour traiter les données dans des scénarios d'analyse en ligne haute performance.
La Data Warehouse Edition présente l'architecture suivante :
Couche d'accès
La couche d'accès est constituée de nœuds coordinateurs Multi-Master évolutifs linéairement. Elle gère l'accès aux protocoles, l'analyse et l'optimisation SQL, le partitionnement des écritures en temps réel, ainsi que la planification des données et des requêtes.
Moteur de calcul
Le moteur de calcul intègre des capacités d'exécution distribuée MPP et DAG. Couplé à un optimiseur intelligent, il prend en charge des charges de travail mixtes SQL complexes et à haute concurrence. Grâce à l'infrastructure cloud-native, les nœuds de calcul prennent en charge la planification élastique et peuvent monter en puissance en quelques minutes, voire en quelques secondes, selon les besoins métier, permettant ainsi une utilisation efficace des ressources.
Moteur de stockage
Le moteur de stockage est un moteur distribué, en temps réel, fortement cohérent et hautement disponible, construit sur le protocole Raft. Il atteint le parallélisme grâce au partitionnement des données et à Multi-Raft, réduit les coûts via le stockage hiérarchisé des données chaudes et froides, et offre d'excellentes performances grâce au stockage hybride ligne-colonne et à l'indexation intelligente.
Sur la base de cette architecture à trois couches, le service assure la récupération en quelques secondes, prend en charge le déploiement inter-zones et offre la détection automatique des pannes, leur suppression ainsi que la reconstruction des réplicas. Grâce au stockage à trois réplicas et aux sauvegardes complètes et incrémentielles, il garantit une fiabilité des données de niveau financier. Il fournit également des outils complémentaires pour la migration des données, la synchronisation, la gestion, l'intégration et la sécurité des données, afin que vous puissiez vous concentrer sur votre activité.
Data Lakehouse Edition
Basée sur la Data Warehouse Edition, l'édition intégrée au lac de données qui répond à la fois au traitement hors ligne à faible coût et à l'analyse en ligne haute performance est appelée Data Lakehouse Edition. La Data Lakehouse Edition est entièrement améliorée sur les cinq aspects du pipeline de données complet : collecte, stockage, calcul, gestion et utilisation.
La Data Lakehouse Edition présente l'architecture suivante :
Source de données
Le pipeline de données AnalyticDB Pipeline Service (APS) peut ingérer des données provenant de bases de données, de journaux et de plateformes big data à faible coût et en un clic.
Couche d'accès
La couche d'accès améliore l'efficacité du développement grâce à des unités de facturation unifiées, des métadonnées et des autorisations centralisées, des langages de développement uniques et des liens de transmission unifiés.
Couche de stockage + Couche de calcul
Elle prend en charge le moteur de calcul propriétaire XIHE et le moteur de stockage XUANWU, ainsi que le moteur de calcul Spark open source intégré et le moteur de stockage Hudi. Les capacités open source vous offrent des scénarios d'analyse de données plus riches. Les moteurs propriétaires et open source peuvent s'interconnecter, offrant ainsi une expérience plus unifiée.
-
Couche de stockage : une seule copie des données complètes suffit pour servir à la fois les scénarios hors ligne et en ligne.
Les scénarios d'analyse en ligne exigent que les données soient placées sur des supports de stockage haute performance pour améliorer les performances, tandis que les scénarios hors ligne nécessitent des supports de stockage à faible coût pour réduire les dépenses de stockage. Pour répondre aux exigences de différents scénarios, une copie des données complètes est d'abord stockée sur des supports de stockage à haut débit et à faible coût. Les scénarios de traitement hors ligne à faible coût lisent et écrivent directement les données sur ces supports, ce qui réduit les coûts de stockage et d'E/S tout en garantissant un haut débit. Les données en temps réel sont ensuite stockées sur des unités d'E/S élastiques (EIU) distinctes pour garantir des performances en temps réel au niveau des lignes. Parallèlement, des index sont construits sur l'ensemble des données et l'accès aux données est accéléré via la mise en cache, afin de répondre aux scénarios d'analyse en ligne haute performance avec une latence inférieure à 100 millisecondes.
-
Couche de calcul : le moteur de calcul XIHE sélectionne intelligemment le mode de calcul. Le moteur de calcul Spark open source répond à une variété de scénarios.
Le moteur de calcul XIHE et le moteur de calcul Spark constituent ensemble la pierre angulaire de la couche de calcul d'AnalyticDB for MySQL. Ils se complètent mutuellement pour garantir les hautes performances requises par l'analyse en ligne, tout en couvrant un large éventail de scénarios de traitement hors ligne et d'analyse avancée, offrant ainsi une solution d'entrepôt de données cloud tout-en-un.
Le moteur de calcul XIHE propose les modes MPP et BSP. Le mode MPP est un mode de calcul en flux continu et ne convient pas aux scénarios de traitement hors ligne à haut débit et à faible coût. Le mode BSP divise les tâches via un DAG et les planifie par lots. Il prend en charge le calcul de données à grande échelle avec des ressources limitées et permet l'écriture des données calculées sur disque. Le moteur de calcul XIHE peut basculer automatiquement de mode : si une requête ne peut pas être terminée dans un délai donné en mode MPP, le système passe automatiquement en mode BSP.
Le moteur de calcul Spark open source ajouté dans la Data Lakehouse Edition peut répondre à des scénarios plus complexes de traitement hors ligne et d'apprentissage automatique. Dans la Data Lakehouse Edition, la couche de calcul Spark et la couche de stockage sont interconnectées, ce qui vous permet d'utiliser les ressources de la couche de calcul pour traiter les données de la couche de stockage. La création et la configuration des groupes de ressources Spark s'en trouvent simplifiées.