AnalyticDB for MySQL Data Warehouse Edition prend en charge deux modes d'exécution des requêtes : Interactive et Batch. Combinez ces modes avec la fonctionnalité de groupe de ressources pour gérer des charges de travail mixtes.
Prérequis
Votre cluster doit appartenir à la gamme de produits Data Warehouse Edition.
Contexte
AnalyticDB for MySQL est un service cloud d'Alibaba qui fournit un traitement analytique en ligne (OLAP) en temps réel et à haute concurrence pour des ensembles de données massifs. Il permet une analyse multidimensionnelle instantanée et l'exploration métier. Le moteur d'exécution d'AnalyticDB for MySQL s'appuie sur une architecture hybride MPP DAG et sur le calcul en mémoire pour atteindre des vitesses élevées. Les charges de travail des requêtes analytiques sont variées, allant des requêtes analytiques en temps réel à faible latence aux requêtes ETL (Extract-Transform-Load) à haut débit. Le calcul entièrement en mémoire permet une faible latence pour les requêtes analytiques en temps réel. En revanche, les requêtes ETL sont moins sensibles à la latence et privilégient un débit plus élevé ainsi que des coûts de traitement réduits.
Pour répondre à ces différentes exigences, AnalyticDB for MySQL Data Warehouse Edition introduit un nouveau mode d'exécution Batch en plus du mode d'exécution Interactive original, entièrement basé sur la mémoire. Par rapport au mode Interactive, le mode Batch exécute les tâches de requête par lots. Si la mémoire est insuffisante, les données sont déversées de manière adaptative sur le disque, ce qui réduit les coûts de calcul et augmente la capacité de traitement des données.
Mode Interactive
Lorsqu'AnalyticDB for MySQL reçoit une requête, l'optimiseur l'analyse et génère un plan d'exécution. Le moteur d'exécution reçoit ce plan, génère des tâches distribuées selon la logique du plan, puis planifie et gère ces tâches.
En mode Interactive, toutes les tâches distribuées d'une requête sont planifiées et exécutées simultanément. Chaque tâche s'exécute entièrement en mémoire et les données circulent entre les tâches en amont et en aval via un pipeline.
Scénarios applicables : Idéal pour les requêtes analytiques en temps réel sensibles à la latence.
Mode Batch
En mode Batch, le moteur d'exécution planifie les tâches par lots en fonction de leurs dépendances. Pendant le calcul, si la mémoire est insuffisante, une tâche déverse adaptativement les données sur le disque afin d'augmenter la capacité de traitement des données. Les résultats intermédiaires sont également écrits sur le disque. Lorsque les tâches en aval sont planifiées, elles lisent les données intermédiaires depuis le disque pour le calcul.
Scénarios applicables : Idéal pour les requêtes de longue durée qui traitent de grandes quantités de données, telles que les jobs ETL (Extract-Transform-Load).
Mode d'exécution par défaut
|
Edition |
Product series |
Default mode |
Batch mode support |
|
Data Warehouse Edition |
Reserved |
Interactive |
No |
|
Elastic |
Yes |
Changement de mode d'exécution
-
Changez le mode d'exécution pour une instance :
-
Pour basculer l'instance en mode Interactive :
set adb_config query_type=interactive -
Pour basculer l'instance en mode Batch :
set adb_config query_type=batchRemarqueNous vous recommandons de ne pas changer le mode d'exécution en Batch au niveau de l'instance. Définissez plutôt le mode Batch au niveau de la requête ou du groupe de ressources.
-
-
Changez le mode d'exécution pour une requête :
/* query_type=batch|interactive*/ SELECT * FROM test_table;
Charges de travail mixtes
La fonctionnalité de groupe de ressources dans AnalyticDB for MySQL offre des capacités multi-locataires au sein d'une instance. En combinant les modes d'exécution des requêtes avec les groupes de ressources, vous pouvez définir un mode d'exécution spécifique pour chaque groupe de ressources. Cela permet à une seule instance de gérer des charges de travail mixtes. Pour plus d'informations, consultez la rubrique Groupes de ressources.