All Products
Search
Document Center

AnalyticDB:Use zero-ETL to synchronize data

Last Updated:Mar 28, 2026

Zero-ETL lets you sync data from ApsaraDB for MongoDB to AnalyticDB for MySQL in real time—no pipelines to build or maintain.

How it works

Traditional extract, transform, load (ETL) processes require separate tools per data source, add operational overhead, and introduce latency that makes near-real-time analytics impractical.

Zero-ETL removes these constraints. Select a source MongoDB instance and a destination AnalyticDB for MySQL cluster, and the feature handles continuous data extraction, transformation, and loading—so you can focus on analysis rather than infrastructure.

Supported synchronization paths

AnalyticDB for MySQL supports zero-ETL synchronization from three sources:

Billing

Zero-ETL tasks are free.

Limits

  • Supported regions: China (Beijing), China (Hangzhou), China (Shanghai), China (Shenzhen), China (Zhangjiakou), China (Qingdao), China (Guangzhou), China (Hong Kong), Singapore, US (Silicon Valley), and US (Virginia).

  • Task limits per cluster: The maximum number of zero-ETL tasks you can create in the AnalyticDB for MySQL console depends on the cluster's total reserved resources, measured in AnalyticDB compute units (ACUs): If you reach the limit, create additional tasks in the Data Transmission Service (DTS) console, or delete unused tasks in the AnalyticDB for MySQL console.

    • ACUs < 24: 1 task maximum.

    • ACUs >= 24: Maximum tasks = 3 + 3 × [(Total ACUs - 24) / 50], rounding down the bracketed value. Example: A cluster with 48 ACUs gives [(48 - 24) / 50] = 0.48, rounded down to 0, so the maximum is 3 tasks.

    How total ACUs are counted varies by cluster edition: - Data Lakehouse Edition: Reserved computing ACUs + reserved storage ACUs. - Data Warehouse Edition: 1 ACU = 1 core. - Elastic mode: computing resource cores + elastic I/O resource cores. - Reserved mode: computing resource cores only.
  • MongoDB architecture: Only replica set architecture is supported.

Before you begin

Make sure you have:

  • An AnalyticDB for MySQL cluster and an ApsaraDB for MongoDB instance in the same region.

  • Database accounts created for both the cluster and the instance.

Set up permissions

Complete these steps before creating a zero-ETL task. All steps use the RAM console.

  1. Create a service-linked role for AnalyticDB for MySQL.

  2. Grant a RAM user permissions to manage AnalyticDB for MySQL.

  3. Grant a RAM user permissions to create zero-ETL tasks.

Step 1: Create a service-linked role for AnalyticDB for MySQL

  1. Log on to the RAM console. In the left-side navigation pane, choose Identities > Roles.

  2. Check whether a role named AliyunServiceRoleForAnalyticDBForMySQL exists. If it does not, create it:

    1. Click Create Role in the upper-left corner.

    2. Select Alibaba Cloud Service and enter a Principal Name.

    3. Click OK and complete Security Verification.

Step 2: Grant a RAM user permissions to manage AnalyticDB for MySQL

Attach the AliyunADBFullAccess policy to the RAM user. For details, see Grant permissions to a RAM user.

Step 3: Grant a RAM user permissions to create zero-ETL tasks

Create a custom policy that allows the RAM user to create data synchronization tasks, then attach it to the user. For details on creating custom policies, see Create custom policies.

Choose one of the following policy templates based on the scope of access you want to grant.

Grant access to all ApsaraDB for MongoDB instances and all AnalyticDB for MySQL clusters:

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

Grant access to a specific ApsaraDB for MongoDB instance and a specific AnalyticDB for MySQL cluster:

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

Replace am-2zeod8ax4b9a**` with your AnalyticDB for MySQL cluster ID and `dds-t4n8aaa4dcdb** with your ApsaraDB for MongoDB instance ID.

Create a zero-ETL task

  1. Log on to the AnalyticDB for MySQL console. In the upper-left corner, select a region. In the left-side navigation pane, click Clusters, then click the cluster ID.

  2. Go to the zero-ETL configuration page for your cluster edition:

    • Enterprise Edition, Basic Edition, or Data Lakehouse Edition: Choose Data Ingestion > Database Data Synchronization.

    • Data Warehouse Edition: Choose Data Transmission Service > Zero-ETL.

  3. Click Create Zero-ETL Task. On the Configure Source and Destination Databases step, configure the source instance: Then configure the destination cluster:

    For Migration Method: - Oplog pulls logs at high speed, resulting in low incremental sync latency. Oplog is enabled by default on ApsaraDB for MongoDB instances and self-managed MongoDB databases. Use Oplog unless your source requires change streams. - ChangeStream is required if the source is an Amazon DocumentDB instance (non-elastic cluster). This option is only available when change streams are enabled on the source.
    ParameterDescription
    Task NameA name for the zero-ETL task.
    Database TypeSelect MongoDB.
    Access MethodAutomatically set to Alibaba Cloud Instance.
    Instance RegionThe region of the ApsaraDB for MongoDB instance.
    ArchitectureOnly ReplicaSet is supported.
    Migration MethodSelect the incremental sync method: Oplog (recommended) or ChangeStream. See the note below.
    Instance IDThe ID of the ApsaraDB for MongoDB instance.
    Authentication DatabaseThe database the account belongs to. Defaults to admin.
    Database AccountThe database account of the ApsaraDB for MongoDB instance.
    Database PasswordThe password for the database account.
    EncryptionNon-encrypted or SSL-encrypted. If you select SSL-encrypted, first enable SSL encryption on the instance.
    ParameterDescription
    Database TypeAutomatically set to AnalyticDB for MySQL 3.0.
    Access MethodAutomatically set to Alibaba Cloud Instance.
    Instance RegionThe region of the AnalyticDB for MySQL cluster.
    Instance IDThe ID of the AnalyticDB for MySQL cluster.
    Database AccountThe database account of the AnalyticDB for MySQL cluster.
    Database PasswordThe password for the database account.
  4. Click Test Connectivity and Proceed. On the Configure Zero-ETL step, configure the following:

    ParameterDescription
    DDL and DML Operations to Be SynchronizedThe DML operations to sync: INSERT, UPDATE, and DELETE. All are selected by default.
    Source Objects and Selected ObjectsThe source objects to synchronize.
    Advanced Settings (Optional)Retry intervals for failed connections and other issues between the source and destination.
  5. Click Next: Save Task Settings and Precheck.

  6. After the precheck completes successfully, click Start.

The task appears on the zero-ETL configuration page, where you can track its Name, Source/Destination, and Status.

Monitor zero-ETL tasks

After starting a task, set up monitoring and alerts in CloudMonitor.

View monitoring metrics

  1. Log on to the Cloud Monitor console.

  2. In the left-side navigation pane, choose Cloud Service Monitoring > Cloud Service Monitoring.

  3. Hover over the AnalyticDB for MySQL card and click AnalyticDB for mysql 3.0 - ZeroETL Latency.

  4. Click a cluster ID to view its zero-ETL task monitoring data.

Create an alert rule

  1. In the left-side navigation pane, choose Alerts > Alert Rules.

  2. Click Create Alert Rule and configure the rule parameters. For details, see Create an alert rule.

    Set Product to AnalyticDB for mysql 3.0 - ZeroETL Latency.

Create a subscription policy

  1. In the left-side navigation pane, choose Event Center > Event Subscription.

  2. Click Create Subscription Policy and configure the following parameters: For details, see Manage event subscription policies.

    • Products: Select AnalyticDB for MySQL V3.0.

    • Event Type: Select Abnormal or Restore.

    • Event Name: Select zero_etl_job_abnormal or zero_etl_job_restore.