AnalyticDB for MySQL propose une fonctionnalité zero-ETL qui vous permet de créer une connexion entre RDS for MySQL et AnalyticDB for MySQL. Cette fonctionnalité facilite la gestion de la synchronisation des données depuis une seule console afin d'intégrer le traitement transactionnel à l'analyse des données.
Présentation
À l'ère du big data, les entreprises gèrent souvent des données dispersées sur différents systèmes et plateformes. Pour exploiter efficacement ces données, elles s'appuient généralement sur des outils ETL (Extract, Transform, Load) pour centraliser leur gestion.
Le processus ETL extrait les données des systèmes métier en amont, les transforme et les nettoie, puis les charge dans un entrepôt de données. L'objectif est de consolider les données distribuées dans un entrepôt cible pour permettre des analyses approfondies et faciliter la prise de décisions commerciales.
Les processus ETL traditionnels présentent souvent les inconvénients suivants :
Coûts accrus en ressources : Différentes sources de données peuvent nécessiter différents outils ETL. La mise en place de pipelines de données ETL engendre des coûts supplémentaires.
Complexité système accrue : Vous devez maintenir vous-même les outils ETL, ce qui augmente la complexité opérationnelle et détourne l'attention du développement des applications.
Latence des données : Certains processus ETL impliquent des mises à jour par lots périodiques. Dans les applications quasi temps réel, cela peut retarder la génération des résultats analytiques.
Pour répondre à ces défis, Alibaba Cloud propose la fonctionnalité zero-ETL. Elle vous permet de créer rapidement une tâche de synchronisation de données entre un système de traitement transactionnel en ligne (OLTP) et un système de traitement analytique en ligne (OLAP). Cette fonctionnalité extrait, transforme et charge automatiquement les données du système OLTP vers l'entrepôt de données. Elle simplifie ainsi la gestion des données, intègre le traitement transactionnel à l'analytique et vous permet de vous concentrer sur l'analyse centrale des données.
Avantages
Facilité d'utilisation : Il n'est pas nécessaire de créer et de maintenir des pipelines de données complexes pour l'ETL. Pour créer une tâche de synchronisation de données en temps réel, il suffit de sélectionner la source et la destination. Cela vous libère pour vous concentrer sur le développement d'applications.
Gratuité : Les liens zero-ETL n'entraînent aucun frais supplémentaire. Vous pouvez analyser gratuitement les données en amont dans AnalyticDB for MySQL.
Agrégation multi-sources : Utilisez les tâches zero-ETL pour synchroniser les données de plusieurs instances vers un seul cluster AnalyticDB for MySQL en temps réel, créant ainsi une vue unifiée pour une analyse globale.
Synchronisation prise en charge
Synchronisation des données de RDS for MySQL vers AnalyticDB for MySQL.
Synchronisation des données de PolarDB for MySQL vers AnalyticDB for MySQL. Pour plus d'informations, consultez la rubrique Synchroniser des données depuis PolarDB for MySQL.
Prérequis
Votre cluster AnalyticDB for MySQL et votre instance RDS for MySQL doivent se trouver dans la même région.
Vous devez disposer de comptes de base de données pour le cluster AnalyticDB for MySQL et l'instance RDS for MySQL.
Facturation
Les tâches zero-ETL sont gratuites.
Notes d'utilisation
La fonctionnalité zero-ETL est disponible uniquement dans les régions suivantes : Chine (Pékin), Chine (Hangzhou), Chine (Shanghai), Chine (Shenzhen), Chine (Zhangjiakou), Chine (Qingdao), Chine (Guangzhou), Chine (Hong Kong), Singapour, États-Unis (Silicon Valley) et États-Unis (Virginie).
-
Si le nombre de tâches zero-ETL dans votre cluster AnalyticDB for MySQL atteint la limite, vous ne pouvez pas créer de nouvelles tâches. Vous pouvez utiliser DTS pour créer de nouvelles tâches de synchronisation de données ou supprimer les tâches zero-ETL inutilisées afin de libérer de la capacité. Les limites sont les suivantes :
Si le total des ACU réservés du cluster est inférieur à 24, vous pouvez créer une tâche zero-ETL.
-
Si le total des ACU réservés du cluster est supérieur ou égal à 24, vous pouvez créer
3 + 3 * floor((Total ACUs - 24) / 50)tâches zero-ETL.Le résultat de
floor((Total ACUs - 24) / 50)est arrondi à l'entier inférieur le plus proche. Par exemple, si un cluster dispose de 48 ACU, le calcul est3 + 3 * floor((48 - 24) / 50), soit3 + 3 * floor(0.48). Cela se simplifie en3 + 3 * 0, ce qui vous permet de créer 3 tâches zero-ETL.
RemarquePour un cluster Data Lakehouse Edition, le total des ACU réservés correspond à la somme des ACU de calcul réservés et des ACU de stockage réservés.
Pour un cluster Data Warehouse Edition, un cœur équivaut à un ACU. Pour un cluster en mode élastique, le total des ACU réservés correspond à la somme des cœurs pour les ressources de calcul et les ressources d'E/S élastiques. Pour un cluster en mode réservé, le total des ACU réservés correspond au nombre de cœurs pour les ressources de calcul.
Préparatifs
Créer un rôle de service lié pour AnalyticDB for MySQL
Accédez à la page Role dans la console RAM.
Vérifiez si un rôle lié au service nommé AliyunServiceRoleForAnalyticDBForMySQL existe déjà. Sinon, créez le rôle.
Dans le volet de navigation de gauche, cliquez sur Create Role.
Dans la boîte de dialogue Create Role, sélectionnez Alibaba Cloud Service et cliquez sur Next.
Pour le type de rôle, sélectionnez Service-Linked Role, puis sélectionnez AnalyticDB for MySQL dans la liste déroulante des services.
Cliquez sur Finish. Revenez à la liste des rôles et vérifiez que le rôle lié au service a bien été créé.
Accorder des autorisations à un utilisateur RAM
Un utilisateur RAM a besoin des deux types d'autorisations suivants pour créer et gérer des tâches zero-ETL.
Accorder des autorisations AnalyticDB for MySQL
Un utilisateur RAM doit disposer de l'autorisation de gestion pour AnalyticDB for MySQL, AliyunADBFullAccess, afin de créer et de gérer les liens Zero-ETL pour AnalyticDB for MySQL. Pour obtenir des instructions, consultez la rubrique Gérer les autorisations des utilisateurs RAM.
Accorder des autorisations zero-ETL
Un utilisateur RAM doit disposer des autorisations nécessaires pour créer des liens pour les instances source et de destination (AnalyticDB for MySQL) afin de créer et de gérer les liens Zero-ETL. Vous pouvez créer une stratégie d'autorisation personnalisée qui permet à un utilisateur RAM de créer des liens pour toutes les instances ou uniquement pour des instances spécifiées de la source de données et de AnalyticDB for MySQL, puis attacher cette stratégie d'autorisation personnalisée à l'utilisateur RAM.
Voici des exemples de scripts pour les stratégies d'autorisation personnalisées :
Autoriser toutes les instances RDS for MySQL et tous les clusters AnalyticDB for MySQL
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "dts:*",
"Resource": [
"acs:adb:*:*:*",
"acs:rds:*:*:*",
]
},
{
"Effect": "Allow",
"Action": [
"dts:DescribeRegions",
"dts:DescribeConfigRelations",
"dts:DescribeSrcLinkConfig",
"dts:DescribeDestLinkConfig",
"dts:DescribeLinkConfig"
],
"Resource": [
"acs:dts:*:*:*"
]
}
]
}
Accorder des autorisations à une instance RDS for MySQL et un cluster AnalyticDB for MySQL spécifiques
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "dts:*",
"Resource": [
"acs:adb:*:*:dbcluster/am-2zeod8ax4b9a****",
"acs:rds:*:*:dbinstance/rm-2ze6fs8ouh43****",
]
},
{
"Effect": "Allow",
"Action": [
"dts:DescribeRegions",
"dts:DescribeConfigRelations",
"dts:DescribeSrcLinkConfig",
"dts:DescribeDestLinkConfig",
"dts:DescribeLinkConfig"
],
"Resource": "acs:dts:*:*:*"
}
]
}
Procédure
Connectez-vous à la console AnalyticDB for MySQL. Dans le coin supérieur gauche de la console, sélectionnez une région. Dans le volet de navigation de gauche, cliquez sur Clusters. Recherchez le cluster que vous souhaitez gérer et cliquez sur son ID.
-
Accédez à la page de la fonctionnalité zero-ETL. Le point d'entrée varie selon l'édition du cluster.
Pour un cluster Enterprise Edition, Basic Edition ou Data Lakehouse Edition : Dans le volet de navigation de gauche, choisissez .
Pour un cluster Data Warehouse Edition : Dans le volet de navigation de gauche, choisissez .
-
Cliquez sur Create Zero-ETL Task. Sur la page Create Zero-ETL Task, configurez les informations de la base de données source et de la base de données de destination.
-
Configurez les informations de la base de données source :
Base de données source
Description
Task Name
Le nom de la tâche zero-ETL.
Database Type
Sélectionnez RDS for MySQL.
Access Method
Seule l'option Alibaba Cloud Instance est prise en charge.
Instance Region
La région où se trouve l'instance RDS for MySQL.
RDS Instance ID
L'ID de l'instance RDS for MySQL.
Database Account
Le compte de base de données pour l'instance RDS for MySQL.
Database Password
Le mot de passe du compte de base de données de l'instance RDS for MySQL.
Encryption
La méthode de connexion à l'instance RDS for MySQL. Les options incluent la connexion non chiffrée et la connexion sécurisée SSL.
RemarqueSi vous sélectionnez SSL-encrypted, vous devez d'abord activer le chiffrement SSL pour l'instance RDS for MySQL. Pour plus d'informations, consultez la rubrique Utiliser un certificat cloud pour activer rapidement le chiffrement SSL.
-
Configurez les informations de la base de données de destination :
Base de données de destination
Description
Database Type
Actuellement, seule l'option AnalyticDB for MySQL 3.0 est prise en charge comme destination.
Access Method
Seule l'option Alibaba Cloud Instance est prise en charge.
Instance Region
La région où se trouve le cluster AnalyticDB for MySQL.
Instance ID
L'ID du cluster AnalyticDB for MySQL.
Database Account
Le compte de base de données pour le cluster AnalyticDB for MySQL.
Database Password
Le mot de passe du compte de base de données du cluster AnalyticDB for MySQL.
-
-
Une fois les paramètres configurés, cliquez sur Test Connectivity and Proceed. Sur la page de configuration, définissez les paramètres suivants :
Paramètre
Description
DDL and DML Operations to Be Synchronized
Sélectionnez les opérations DML et DDL à synchroniser. Toutes les opérations sont sélectionnées par défaut.
Source Objects et Selected Objects
Les objets source dans la base de données et les objets à synchroniser.
Advanced Settings (Optional)
Configurez les intervalles de nouvelle tentative en cas d'indisponibilité de la base de données et d'autres problèmes potentiels.
-
Une fois les paramètres définis, cliquez sur Next: Configure Database and Table Fields et configurez les informations suivantes :
Configuration
Description
Database Name
Sélectionnez une base de données existante.
Table Name
Sélectionnez une table existante.
Primary Key Column
La colonne de clé primaire de la table sélectionnée.
Distribution Key
La colonne de clé de distribution de la table sélectionnée.
Type
Le type de table. Les options incluent la table partitionnée et la table répliquée.
Definition Status
Une fois les champs de la base de données et de la table configurés, le statut passe de Non défini à Défini.
Après avoir configuré tous les paramètres, cliquez sur Next: Save Task Settings and Precheck.
-
Si la pré-vérification réussit, cliquez sur Start pour lancer la tâche zero-ETL.
Sur la page Zero-ETL, vous pouvez consulter les informations relatives à la tâche, notamment son ID/Name, sa Source/Destination et son Status.
Surveillance et alertes zero-ETL
Après avoir créé et démarré une tâche zero-ETL, vous pouvez définir des règles d'alerte dans la console CloudMonitor pour surveiller son état en temps réel. Suivez les étapes ci-dessous :
Connectez-vous à la console Cloud Monitor.
-
Consultez les informations de surveillance.
Dans le volet de navigation de gauche, choisissez .
Placez le curseur sur la carte AnalyticDB for MySQL et cliquez sur AnalyticDB for mysql 3.0 - ZeroETL Latency.
Cliquez sur un ID de cluster pour afficher les informations de surveillance des tâches zero-ETL de ce cluster.
-
Créez une règle d'alerte.
Dans le volet de navigation de gauche, cliquez sur .
-
Cliquez sur Create Alert Rule. Dans le panneau Create Alert Rule, configurez une règle d'alerte pour la tâche zero-ETL. Pour plus d'informations, consultez la rubrique Créer une règle d'alerte.
RemarquePour le paramètre Product, sélectionnez AnalyticDB for mysql 3.0 - ZeroETL Latency.
-
Créez une politique d'abonnement.
Dans le volet de navigation de gauche, cliquez sur .
-
Cliquez sur Create a subscription policy. Sur la page Create a subscription policy, configurez la politique d'abonnement pour la tâche zero-ETL. Pour plus d'informations, consultez la rubrique Créer un abonnement aux événements.
RemarqueProduct : Sélectionnez Analyticdb for mysql 3.0.
event types : Sélectionnez Abnormal ou Restore.
Event Name : Sélectionnez zero_etl_job_abnormal ou zero_etl_job_restore.