Tous les produits
Search
Centre de documentation

Lindorm:Migration RDS

Dernière mise à jour :Aug 11, 2026

Cette rubrique explique comment synchroniser les données complètes et incrémentielles depuis une instance ApsaraDB RDS.

Important

La fonctionnalité de migration RDS a été retirée le 10 mars 2023. Les instances LTS achetées après cette date ne peuvent pas utiliser cette fonctionnalité. Les instances LTS achetées avant le 10 mars 2023 peuvent continuer à l'utiliser.

Cas d'utilisation

  • Archivez les données historiques d'ApsaraDB RDS pour réduire les coûts.

  • Migrez la totalité des données d'ApsaraDB RDS vers Lindorm.

Prérequis

  • Votre instance LTS a été achetée avant le 10 mars 2023.

  • Connectez-vous à la console LTS. Pour plus d'informations, consultez Accès aux tâches de synchronisation.

  • Assurez-vous que la connectivité réseau est établie entre LTS, le cluster de destination ApsaraDB for HBase et l'instance source ApsaraDB RDS. Cette étape n'est pas nécessaire s'ils sont tous déployés dans le même cloud privé virtuel (VPC).

Fonctionnalités

  • Synchronisez les données complètes et incrémentielles d'ApsaraDB RDS vers une instance de modèle de table large Lindorm compatible avec l'accès HBase.

  • Transformez les données d'ApsaraDB RDS lors de la migration. Pour plus d'informations, consultez Configurations.

  • Synchronisez les données de plusieurs tables ApsaraDB RDS.

Limites

  • La source de données pour la synchronisation complète doit être MySQL.

  • La source de données pour la synchronisation incrémentielle doit être Data Transmission Service (DTS).

  • La source de données de destination peut être Lindorm avec accès SQL ou une instance de modèle de table large Lindorm compatible avec l'accès HBase.

Procédure

  1. Dans la console LTS, choisissez Data Import > RDS Migration.

  2. Cliquez sur Create a task.

  3. Sélectionnez la source de données ApsaraDB RDS, la source de données Data Transmission Service (DTS) et la source de données de destination.

    Saisissez un nom pour la tâche dans le champ Task Name. Dans la section Select Tables, sélectionnez les tables que vous souhaitez synchroniser, puis cliquez sur Generate Configuration. Dans la section Operations, sélectionnez les options requises, telles que Schema Migration, Incremental Data Synchronization et Historical Data Migration. Une fois la configuration terminée, cliquez sur Create.

  4. Cliquez sur Edit pour afficher ou modifier la configuration par défaut. Pour plus d'informations, consultez Configurations.

  5. Sélectionnez les tables à synchroniser, puis cliquez sur Generate Configurations.

    Remarque
    • La tâche de migration RDS migre d'abord les données historiques. Une fois cette migration terminée, la tâche démarre la synchronisation des données incrémentielles.

    • Lorsque vous migrez des données vers une instance Lindorm compatible avec Cassandra Query Language (CQL), le système génère par défaut une configuration où les colonnes de destination correspondent aux colonnes source d'ApsaraDB RDS en termes de nom et de type. Vous pouvez modifier manuellement la configuration pour changer les noms et les mappages de colonnes. Pour plus de détails, consultez Configurations.

    • Lorsque vous migrez des données vers une instance ApsaraDB for HBase ou Lindorm, le système génère par défaut une famille de colonnes nommée f. Le système mappe les colonnes de la table ApsaraDB RDS vers les colonnes de la famille de colonnes f. La clé de ligne est générée en concaténant les chaînes de clé primaire de la table source ApsaraDB RDS.

    • Par défaut, la configuration générée ignore les opérations de suppression de la base de données source ApsaraDB RDS. Si vous souhaitez répliquer les suppressions, vous devez modifier manuellement la configuration. Pour plus de détails, consultez Configurations.

  6. Cliquez sur Create.

Configurations

Le code suivant fournit un exemple de configuration pour la synchronisation des données vers une table SQL. Pour plus de détails sur la syntaxe, consultez le Manuel de référence Jtwig.

{
    "reader": {
        "querySql": [
            "select * from dts.cluster where id < 1000",// Query for full data synchronization. Each statement corresponds to one read thread.
      "select * from dts.cluster where id >= 1000"// We recommend splitting the query to improve performance and reduce the cost of retries.
        ]
    },
    "writer": {
        "columns": [
            {
                "name": "id", // The name of the column in the destination table.
                "value": "id",// The name of the column in the source table.
                "isPk": true , // Specifies whether the column is a primary key.
                "type": "BIGINT" // Optional. If you do not specify this parameter, the data type of the destination column is the same as that of the source ApsaraDB RDS column.
            },
      {
                "name": "cluster_id",
                "value": "cluster_id",
                "isPk": false
            },
      {
                "name": "id_and_cluster",
                "value": "{{concat(id, cluster_id)}}",// Jtwig expressions are supported for data transformation.
                "isPk": true
            },
        ],
        "config": {
            "skipDelete": true // Skips delete operations.
        },
     "table": {
         "name": "dts.cluster", // The name of the Lindorm table. Use a period (.) as a separator.
         "parameter": {
             "compression": "ZSTD"
        }
    },
    "sourceTable": "dts.cluster" 
    }
}

Le code suivant fournit un exemple de configuration pour la synchronisation des données à l'aide de l'API HBase.

{
    "reader": {
        "querySql": [
            "select * from dts.cluster where id < 1000",// Query for full data synchronization. Each statement corresponds to one read thread.
      "select * from dts.cluster where id >= 1000"// We recommend splitting the query to improve performance and reduce the cost of retries.
        ]
    },
    "writer": {
        "columns": [
            {
                "name": "f:id",// The name of the column in the destination table.
                "value": "id", // The name of the column in the source table.
        "isPk": false // This parameter is ignored and does not affect synchronization.
            },
            {
                "name": "f:cluster_id",
                "value": "cluster_id",
                "isPk": false
            },
      {
        "name": "f:id_and_cluster",
                "value": "{{concat(id, cluster_id)}}",// Jtwig expressions are supported for data transformation.
       }
        ],
        "rowkey": {
            "value": "id" // Defines the columns from the ApsaraDB RDS table that compose the row key in the HBase model. Jtwig syntax is supported.
        },
        "config": {
            "skipDelete": true// Skips delete operations.
        },
        "table": {
            "name": "dts:cluster",// The name of the table in Lindorm or ApsaraDB for HBase.
            "parameter": {
                "compression": "ZSTD",// The compression algorithm for the new table in Lindorm or ApsaraDB for HBase. We recommend using ZSTD.
        "split":["1", "5", "9", "b"] // Specifies the split keys to pre-split the new table.
            }
        },
        "sourceTable": "dts.cluster"
    }
}