Tous les produits
Search
Centre de documentation

AnalyticDB:Synchronize data using Zero-ETL

Dernière mise à jour :Aug 10, 2026

La construction et la maintenance de pipelines ETL pour transférer des données de PolarDB for MySQL vers AnalyticDB for MySQL génèrent une surcharge opérationnelle et retardent l'analyse. 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 en continu 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 où résident les données transactionnelles d'origine.
Cluster de destination Cluster AnalyticDB for MySQL où les données répliquées sont disponibles pour l'analytique.
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 additionnel.

  • Agrégation multi-sources : Synchronisez les données de plusieurs clusters PolarDB for MySQL vers un seul cluster AnalyticDB for MySQL pour une analytique 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 totales réservées 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 permet d'exécuter 3 + 3 × [(48 − 24) ÷ 50] = 3 + 3 × 0 = 3 tâches.

Le mode de comptage des ACU varie selon l'édition du cluster :
Édition Data Lakehouse : ACU = ACU des ressources de calcul réservées + ACU des ressources de stockage réservées.
Édition Data Warehouse (mode élastique) : ACU = cœurs des ressources de calcul + cœurs des ressources d'E/S élastiques.
Édition Data Warehouse (mode réservé) : ACU = cœurs des 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 depuis la console Data Transmission Service (DTS).

Prérequis

Avant de commencer, assurez-vous de disposer 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 : Attacher la stratégie d'accès complet à AnalyticDB for MySQL

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

Étape 2 : Créer et attacher 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 attachez-la à l'utilisateur RAM. Pour obtenir des instructions sur la création de stratégies personnalisées, consultez la rubrique 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, localisez 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 ceux du cluster de destination :

    Si vous sélectionnez SSL-encrypted , activez d'abord le chiffrement SSL pour le cluster PolarDB for MySQL. Consultez la rubrique 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 vérification préalable terminée avec succès, cliquez sur Start.

    Si la vérification préalable échoue, examinez les détails de l'erreur et vérifiez que tous les prérequis sont satisfaits : 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 Nom, la Source/Destination et l'État 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 la rubrique 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 la rubrique 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 la rubrique Utiliser zero-ETL pour synchroniser des données.