Tous les produits
Search
Centre de documentation

AnalyticDB:Synchronize data using Zero-ETL

Dernière mise à jour :Oct 09, 2026

La construction et la maintenance de pipelines ETL pour transférer des données de PolarDB for MySQL vers AnalyticDB for MySQL engendrent une surcharge opérationnelle et retardent l'analyse des données. Zero-ETL élimine ces contraintes en répliquant continuellement les données de PolarDB for MySQL vers AnalyticDB for MySQL, sans code de pipeline, sans outils tiers et sans coût supplémentaire.

Concepts clés

Terme Définition
Tâche Zero-ETL Tâche de synchronisation gérée qui réplique continuellement les modifications DML et DDL d'un cluster source PolarDB for MySQL vers un cluster de destination AnalyticDB for MySQL.
Cluster source Cluster PolarDB for MySQL à partir duquel les données transactionnelles sont extraites.
Cluster de destination Cluster AnalyticDB for MySQL dans lequel les données répliquées sont disponibles pour l'analyse.
ACU Unité de calcul AnalyticDB. Cette unité de ressource sert à calculer le nombre de tâches zero-ETL qu'un cluster peut exécuter simultanément.

Sources prises en charge

Zero-ETL prend en charge les chemins de synchronisation de données suivants :

Avantages

  • Aucune configuration de pipeline : Sélectionnez les clusters source et de destination ; la synchronisation démarre automatiquement. Aucun code ETL ni outil tiers n'est requis.

  • Aucun coût supplémentaire : Les tâches Zero-ETL sont gratuites. L'analyse des données synchronisées dans AnalyticDB for MySQL n'entraîne aucun frais supplémentaire.

  • Agrégation multi-sources : Synchronisez les données de plusieurs clusters PolarDB for MySQL vers un seul cluster AnalyticDB for MySQL pour une analyse unifiée.

Régions prises en charge

Zero-ETL est disponible 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).

Limites des tâches

Le nombre maximal de tâches zero-ETL par cluster AnalyticDB for MySQL dépend des ressources réservées totales du cluster :

Total des ACU réservés Nombre maximal de tâches zero-ETL
Moins de 24 ACU 1
24 ACU ou plus 3 + 3 × [(Total ACU − 24) ÷ 50] (arrondi à l'entier inférieur)

Exemple : Un cluster disposant de 48 ACU donne 3 + 3 × [(48 − 24) ÷ 50] = 3 + 3 × 0 = 3 tâches.

La méthode de comptage des ACU varie selon l'édition du cluster :
Édition Data Lakehouse : ACU = ACU de ressources de calcul réservées + ACU de ressources de stockage réservées.
Édition Data Warehouse (mode élastique) : ACU = cœurs de ressources de calcul + cœurs de ressources d'E/S élastiques.
Édition Data Warehouse (mode réservé) : ACU = cœurs de ressources de calcul.

Si un cluster atteint sa limite de tâches, supprimez les tâches zero-ETL inutilisées dans la console AnalyticDB for MySQL, ou créez des tâches supplémentaires directement dans la console Data Transmission Service (DTS).

Prérequis

Avant de commencer, assurez-vous que vous disposez des éléments suivants :

Configurer les autorisations

Créer un rôle lié au service pour AnalyticDB for MySQL

  1. Connectez-vous à la console Resource Access Management (RAM). Dans le volet de navigation de gauche, choisissez Create Zero-ETL Task > Roles.

  2. Vérifiez si un rôle lié au service nommé AliyunServiceRoleForAnalyticDBForMySQL existe. S'il n'existe pas, créez-le :

    1. Cliquez sur Create Role.

    2. À l'étape Select role type, sélectionnez Alibaba Cloud Service et cliquez sur Next.

    3. À l'étape Configure role, définissez Role type sur Service linked role, puis sélectionnez AnalyticDB for MySQL dans la liste déroulante Select service.

    4. Cliquez sur OK et vérifiez que le rôle apparaît dans la liste.

Accorder à un utilisateur RAM l'autorisation de gérer les tâches zero-ETL

Un utilisateur RAM a besoin de deux ensembles d'autorisations pour créer et gérer des tâches zero-ETL.

Étape 1 : Joindre la stratégie d'accès complet à AnalyticDB for MySQL

Joignez la stratégie AliyunADBFullAccess à l'utilisateur RAM. Pour obtenir des instructions, consultez Accorder des autorisations à un utilisateur RAM.

Étape 2 : Créer et joindre une stratégie personnalisée pour Zero-ETL

Créez une stratégie personnalisée qui accorde des autorisations DTS sur les clusters source et de destination, puis joignez-la à l'utilisateur RAM. Pour obtenir des instructions sur la création de stratégies personnalisées, consultez Créer des stratégies personnalisées.

Utilisez l'un des modèles de stratégie suivants :

Accorder des autorisations pour toutes les instances PolarDB for MySQL et tous les clusters AnalyticDB for MySQL

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "dts:*",
            "Resource": [
                "acs:adb:*:*:*",
                "acs:polardb:*:*:*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "dts:DescribeRegions",
                "dts:DescribeConfigRelations",
                "dts:DescribeSrcLinkConfig",
                "dts:DescribeDestLinkConfig",
                "dts:DescribeLinkConfig"
            ],
            "Resource": [
                "acs:dts:*:*:*"
            ]
        }
    ]
}

Accorder des autorisations pour des instances PolarDB for MySQL et des clusters AnalyticDB for MySQL spécifiques

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "dts:*",
            "Resource": [
                "acs:adb:*:*:dbcluster/am-2zeod8ax4b9a****",
                "acs:polardb:*:*:dbcluster/pc-bp13jqn4a26b0****"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "dts:DescribeRegions",
                "dts:DescribeConfigRelations",
                "dts:DescribeSrcLinkConfig",
                "dts:DescribeDestLinkConfig",
                "dts:DescribeLinkConfig"
            ],
            "Resource": "acs:dts:*:*:*"
        }
    ]
}

Remplacez am-2zeod8ax4b9a** par l'ID de votre cluster AnalyticDB for MySQL et pc-bp13jqn4a26b0** par l'ID de votre cluster PolarDB for MySQL.

Créer une tâche zero-ETL

  1. Connectez-vous à la console AnalyticDB for MySQL. Dans le coin supérieur gauche, sélectionnez votre région. Dans le volet de navigation de gauche, cliquez sur Clusters. Sur la page Clusters, cliquez sur l'onglet correspondant à l'édition de votre cluster, recherchez le cluster et cliquez sur son ID.

  2. Accédez à la page de configuration zero-ETL :

    • Enterprise Edition, Basic Edition ou Data Lakehouse Edition : Dans le volet de navigation de gauche, choisissez Data Ingestion > Database Data Synchronization.

    • Data Warehouse Edition : Dans le volet de navigation de gauche, choisissez Data Transmission Service > Zero-ETL.

  3. Cliquez sur Create Zero-ETL Task. Sur la page Create Zero-ETL Task, configurez les paramètres du cluster source, puis les paramètres du cluster de destination :

    Si vous sélectionnez SSL-encrypted , activez d'abord le chiffrement SSL pour le cluster PolarDB for MySQL. Consultez Configurer le chiffrement SSL .
    Paramètre Description
    Task name Nom de la tâche zero-ETL.
    Database type Moteur de base de données source. Sélectionnez PolarDB for MySQL.
    Access method Défini automatiquement sur Alibaba Cloud Instance.
    Instance region Région où réside le cluster PolarDB for MySQL.
    PolarDB cluster ID ID du cluster PolarDB for MySQL.
    Database account Compte de base de données pour le cluster PolarDB for MySQL.
    Database password Mot de passe du compte de base de données.
    Encryption Méthode de chiffrement de la connexion. Sélectionnez Non-encrypted ou SSL-encrypted.
    Paramètre Description
    Database type Défini automatiquement sur AnalyticDB for MySQL 3.0.
    Access method Défini automatiquement sur Alibaba Cloud Instance.
    Instance region Région où réside le cluster AnalyticDB for MySQL.
    Instance ID ID du cluster AnalyticDB for MySQL.
    Database account Compte de base de données pour le cluster AnalyticDB for MySQL.
    Database password Mot de passe du compte de base de données.
  4. Cliquez sur Test Connectivity and Proceed. Configurez les paramètres de synchronisation :

    Paramètre Description
    DDL and DML operations to be synchronized Opérations DML (INSERT, UPDATE, DELETE) et DDL (CREATE, ALTER, DROP, TRUNCATE) à synchroniser. Toutes les opérations sont sélectionnées par défaut.
    Source objects and selected objects Bases de données et tables à synchroniser.
    Advanced settings (optional) Intervalles de nouvelle tentative en cas d'échec de connexion et autres erreurs sur les clusters source et de destination.
  5. Cliquez sur Next: Configure Database and Table Fields. Configurez les paramètres de mappage des tables :

    Paramètre Description
    Database name Nom de la base de données sélectionnée.
    Table name Nom de la table sélectionnée.
    Primary key column Colonne de clé primaire de la table.
    Distribution key Colonne de clé de distribution de la table.
    Type Type de table : table partitionnée ou table répliquée.
    Definition status État de configuration de la table. Passe de Undefined à Defined après la configuration des champs de la table.
  6. Cliquez sur Next: Save Task Settings and Precheck.

  7. Une fois la pré-vérification terminée avec succès, cliquez sur Start.

    Si la pré-vérification échoue, examinez les détails de l'erreur et vérifiez que tous les prérequis sont remplis : la journalisation binaire est activée sur le cluster PolarDB for MySQL, les comptes de base de données existent sur les deux clusters et l'utilisateur RAM dispose des autorisations requises.

La tâche zero-ETL apparaît sur la page de configuration zero-ETL, où vous pouvez consulter le Name (nom), la Source/Destination (source/destination) et le Status (statut) de la tâche.

Surveiller les tâches zero-ETL et définir des règles d'alerte

Après avoir démarré une tâche zero-ETL, configurez la surveillance et les alertes dans CloudMonitor.

Afficher les données de surveillance :

  1. Connectez-vous à la console CloudMonitor.

  2. Dans le volet de navigation de gauche, choisissez Cloud Service Monitoring > Cloud Service Monitoring.

  3. Survolez la carte AnalyticDB for MySQL et cliquez sur AnalyticDB for mysql 3,0 - ZeroETL Latency.

  4. Cliquez sur l'ID du cluster pour afficher les détails de surveillance de vos tâches zero-ETL.

Créer une règle d'alerte :

  1. Dans le volet de navigation de gauche, choisissez Alerts > Alert Rules.

  2. Cliquez sur Create Alert Rule et configurez les paramètres d'alerte. Définissez Product sur AnalyticDB for mysql 3,0 - ZeroETL Latency. Pour plus de détails, consultez Créer une règle d'alerte.

Créer une politique d'abonnement :

  1. Dans le volet de navigation de gauche, choisissez Event Center > Event Subscription.

  2. Cliquez sur Create Subscription Policy et configurez les paramètres d'abonnement. Pour plus de détails, consultez Gérer les politiques d'abonnement aux événements (recommandé).

    • Products : Sélectionnez AnalyticDB for MySQL V3.0.

    • Event type : Sélectionnez Abnormal ou Restore.

    • Event name : Sélectionnez zero_etl_job_abnormal ou zero_etl_job_restore.

Étapes suivantes

Pour synchroniser des données d'ApsaraDB RDS for MySQL vers AnalyticDB for MySQL, consultez Utiliser Zero-ETL pour synchroniser des données.