AnalyticDB for MySQL Enterprise Edition, Basic Edition et Data Lakehouse Edition ainsi que Data Warehouse Edition prennent tous en charge la fonctionnalité d'orchestration des tâches de DMS pour orchestrer, planifier, gérer et surveiller les tâches AnalyticDB for MySQL. Cette rubrique explique comment utiliser DMS pour le développement et la planification des tâches.
Informations générales
-
Défis : planification des événements
La planification traditionnelle des événements de base de données, telle que le planificateur d'événements MySQL, est puissante mais présente plusieurs limites :
Barrière à l'entrée élevée : les utilisateurs doivent maîtriser une syntaxe SQL spécifique pour définir les événements (
CREATE EVENTetALTER EVENT) et ne peuvent pas configurer les événements via une interface simple.Forte dépendance au noyau de la base de données : le noyau doit prendre en charge et activer le planificateur d'événements.
Limité à une seule base de données : la planification ne s'effectue que pour une seule base de données et ne peut pas être coordonnée avec d'autres bases de données ou outils.
Suivi difficile : les utilisateurs ne peuvent pas consulter l'état d'exécution, l'historique d'exécution ni la durée d'exécution des événements planifiés.
Maintenance complexe : les utilisateurs ne peuvent pas suspendre ni relancer les événements, et les événements ayant échoué ne peuvent pas être récupérés.
Absence de notifications : l'état d'exécution des événements (succès ou échec) ne peut pas être envoyé proactivement aux utilisateurs par SMS, e-mail ou via d'autres canaux.
-
Solution : orchestration des tâches DMS
La fonctionnalité d'orchestration des tâches de DMS résout les problèmes mentionnés ci-dessus. Elle ne repose pas sur la capacité de planification des événements du noyau de la base de données. Il s'agit plutôt d'un système indépendant d'orchestration et de planification des tâches externe. Ses principales caractéristiques sont les suivantes :
Prise en charge de plusieurs moteurs de base de données (MySQL, Oracle, PostgreSQL, SQL Server, etc.) et de divers outils de l'écosystème (migration de données, sauvegarde, analyse inter-bases de données, etc.) pour permettre des workflows inter-bases de données et inter-produits.
Mise à disposition d'une interface d'édition visuelle permettant de créer des tâches de planification par glisser-déposer et via des configurations simples.
Prise en charge de plusieurs mécanismes de notification tels que DingTalk, SMS et e-mail.
Prise en charge de diverses opérations de maintenance telles que la suspension, l'arrêt et la relance.
Exemple de données
Dans cet exemple, le nom de la base de données est adb_test. Trois tables sont créées dans cette base de données : orders, finish_orders et large_finish_orders.
create database adb_test;
create table orders(
order_id bigint not null comment'order ID',
order_status varchar not null comment'order state',
total_price decimal(15,2) not null comment'total price',
order_date date not null comment'orderdate',
PRIMARY KEY (order_id)
);
create table finish_orders(
order_id bigint not null comment'order ID',
total_price decimal(15,2) not null comment'order state',
order_date date not null comment'total price',
PRIMARY KEY (order_id)
);
create table large_finish_orders(
order_id bigint not null comment'order ID',
total_price decimal(15,2) not null comment'order state',
order_date date not null comment'total price',
PRIMARY KEY (order_id)
);
Vue d'ensemble
Cette rubrique utilise un cluster AnalyticDB for MySQL Data Warehouse Edition comme exemple pour décrire le processus de planification des tâches. Vous utilisez la fonctionnalité d'orchestration des tâches de DMS pour filtrer les commandes terminées dont le montant est supérieur à 10 000 USD à partir de la table orders d'une base de données AnalyticDB for MySQL.
|
Étape |
Description |
|
Créez un flux de tâches. |
|
|
À cette étape, créez les deux nœuds de tâche suivants dans le flux de tâches cible :
|
|
|
Activez la tâche cible et configurez-la pour qu'elle s'exécute périodiquement. |
Étape 1 : Créer un flux de tâches
Connectez-vous à la console AnalyticDB for MySQL. Dans le coin supérieur gauche, sélectionnez la région où se trouve le cluster. Dans le volet de navigation de gauche, cliquez sur Clusters. Recherchez le cluster cible et cliquez sur son ID.
-
Dans le volet de navigation de gauche, choisissez .
RemarqueSi vous vous connectez pour la première fois à une base de données de cluster AnalyticDB for MySQL via DMS (nouvelle version) pour utiliser la fonctionnalité de gestion des actifs de données, vous devez d'abord saisir les informations de connexion à la base de données. Pour plus d'informations, consultez la section Se connecter à une base de données.
Si vous vous êtes déjà connecté à une base de données de cluster AnalyticDB for MySQL et que le mode de contrôle du cluster est défini sur Flexible Management ou Stable Change, mais que vous n'avez pas sélectionné Remember Password lors de la saisie des informations de connexion, vous devrez entrer le mot de passe du compte de la base de données cible dans la boîte de dialogue qui s'affiche après avoir accédé à la console DMS avant de pouvoir continuer. Pour plus d'informations sur les modes de contrôle, consultez la section Modes de contrôle.
La fonctionnalité de gestion unifiée des données n'est pas prise en charge pour les clusters AnalyticDB for MySQL dans la région Indonésie (Jakarta).
Dans la barre de menus supérieure, choisissez Integration & Development (DTS).
Dans le volet de navigation de gauche, choisissez .
-
Créez un nouveau flux de tâches. Dans cet exemple, le flux de tâches est nommé Order Filtering.
Cliquez sur Create Task Flow.
Dans la boîte de dialogue New Task Flow, saisissez le Task Flow Name et la Description, puis cliquez sur OK.
Étape 2 : Créer des nœuds de tâche
-
Sur la page d'orchestration des tâches pour Order Filtering, créez et configurez les deux nœuds de tâche suivants :
-
Order Cleansing
Dans le volet de gauche, sélectionnez Single Instance SQL et faites-le glisser vers la zone de travail vide à droite.
Sélectionnez le nœud de tâche nouvellement ajouté et cliquez sur l'icône
pour le renommer Order Cleansing.Double-cliquez sur le nœud de tâche ou cliquez sur l'icône
pour modifier le nœud de tâche.Sélectionnez la base de données cible dans la liste déroulante des bases de données.
-
Dans la boîte de dialogue située sous la base de données cible, saisissez l'instruction de tâche et cliquez sur Save. L'instruction est la suivante :
insert into finish_orders select order_id,total_price,order_date from orders where order_status = 'F';RemarqueSi l'option Auto Save est sélectionnée, l'instruction SQL est enregistrée automatiquement après sa saisie.
-
Large Order Generation
Dans le volet de gauche, sélectionnez Single Instance SQL et faites-le glisser vers la zone de travail vide à droite.
Sélectionnez le nœud de tâche nouvellement ajouté et cliquez sur l'icône
pour le renommer Large Order Generation.Double-cliquez sur le nœud de tâche ou cliquez sur l'icône
pour modifier le nœud de tâche.Sélectionnez la base de données cible dans la liste déroulante des bases de données.
-
Dans la boîte de dialogue située sous la base de données cible, saisissez l'instruction de tâche et cliquez sur Save. L'instruction est la suivante :
insert into large_finish_orders select order_id,total_price,order_date from finish_orders where total_price > 10000;RemarqueSi l'option Auto Save est sélectionnée, l'instruction SQL est enregistrée automatiquement après sa saisie.
-
-
Sur la zone de travail du flux de tâches, placez le curseur sur le nœud
Order Cleansing. Cliquez sur le petit cercle situé à droite du nœud et faites glisser une ligne de connexion vers le nœudLarge Order Generationpour créer une dépendance entre les deux nœuds de tâche.
Étape 3 : Configurer la planification du flux de tâches
-
Dans la section Scheduling Settings située sous la zone de travail du flux de tâches, activez l'interrupteur Enable Scheduling et configurez les paramètres pertinents.
RemarqueDans cet exemple, la tâche de planification est configurée pour s'exécuter quotidiennement à 01:00, du 01/02/2023 au 28/02/2023. Vous pouvez également personnaliser la tâche de planification en fonction de vos besoins métier. Pour plus d'informations sur les paramètres de configuration de la planification, consultez la section Configurer la planification.
-
Publiez le flux de tâches.
Cliquez sur Publish dans le coin supérieur gauche de la zone de travail.
Dans la boîte de dialogue Publish, saisissez les informations dans le champ Remarks et cliquez sur OK pour publier le flux de tâches.
-
Confirmez l'état de publication.
Cliquez sur Go to O&M au-dessus de la zone de travail.
-
Sur le côté droit de la page, vérifiez l'publication status du flux de tâches.
Published : le flux de tâches est à l'état publié.
Unpublished : le flux de tâches est à l'état non publié.