OceanBase met à disposition un service de transmission de données qui prend en charge les échanges entre un système de gestion de base de données relationnelle (SGBDR) homogène ou hétérogène et la base de données OceanBase. Ce service offre des capacités de migration en ligne des données existantes ainsi que de synchronisation en temps réel des données incrémentielles.
Fonctionnalités
Le service de transmission de données fournit une plateforme de gestion centralisée et visualisée. Grâce à une configuration simple, vous pouvez migrer vos données en temps réel. L'objectif est de faciliter la migration et la synchronisation des données depuis des bases de données homogènes ou hétérogènes vers OceanBase Database, tout en minimisant les coûts et les risques.
-
Migration de données : une tâche de migration de données est ponctuelle. Une fois la tâche terminée, les ressources qu'elle occupait sont libérées. Créez une tâche de migration pour transférer des données entre des sources homogènes ou hétérogènes dans des scénarios tels que la mise à niveau de bases de données, la migration de données entre instances, le partitionnement de bases de données ou leur mise à l'échelle.
Les tâches de migration constituent l'unité de base de la fonctionnalité de migration. Lors de la création d'une tâche, vous pouvez spécifier le niveau de migration, allant de la table à la base de données entière. Pour plus d'informations, consultez la rubrique Migration de données.
RemarqueLes tâches de migration de données prennent uniquement en charge le mode de facturation au paiement à l'utilisation. Vous pouvez utiliser ces tâches gratuitement jusqu'à nouvel ordre. Pour en savoir plus, reportez-vous à la section Facturation du service de transmission de données.
-
Synchronisation de données : il s'agit d'une opération continue. Une fois la tâche créée, les données sont synchronisées en permanence afin de garantir la cohérence entre la source et la cible, ainsi que le flux en temps réel des données pour les systèmes métier critiques. Créez un projet de synchronisation pour répliquer les données entre différentes sources en temps réel, par exemple pour assurer la haute disponibilité multisite, la reprise après sinistre distante, l'agrégation de données ou l'entreposage de données en temps réel. Consultez la rubrique Synchronisation de données pour plus de détails.
RemarqueLes tâches de synchronisation de données prennent uniquement en charge le mode de facturation par abonnement. Pour plus d'informations, voir Facturation du service de transmission de données.
Types de migration pris en charge
Abréviations
|
Type d'instance |
Abréviation |
|
Instance ApsaraDB RDS |
RDS |
|
Instance PolarDB for MySQL |
PolarDB |
|
Base de données autonome dans un VPC |
VPC |
|
Base de données autonome avec une adresse IP publique |
Réseau public |
|
OceanBase Database en mode compatible MySQL |
OB_MySQL |
|
OceanBase Database en mode compatible Oracle |
OB_Oracle |
|
Instance serverless OceanBase Database en mode compatible MySQL |
Instance serverless OB_MySQL |
|
Instance serverless OceanBase Database en mode compatible Oracle |
Instance serverless OB_Oracle |
Migration de données
Actuellement, le service de transmission de données ne permet pas de migrer des données d'une base de données Oracle vers OceanBase en mode compatible MySQL, ni d'une base de données MySQL vers OceanBase en mode compatible Oracle.
Pour connaître les opérations DDL prises en charge lors de la synchronisation incrémentielle, reportez-vous aux rubriques du chapitre Opérations DDL prises en charge pour la synchronisation et limitations.
|
Tâche de migration de données |
Migration du schéma |
Migration complète |
Synchronisation incrémentielle des opérations DML |
Synchronisation incrémentielle des opérations DDL |
Vérification complète |
Incrément inverse |
Table sans clé primaire |
|
MySQL (RDS/PolarDB/VPC/réseau public) -> OB_MySQL (instance de cluster/instance serverless/instance de locataire) |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
OB_MySQL (instance de cluster/instance serverless) -> MySQL (RDS/PolarDB/VPC/réseau public) |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
OB_MySQL (instance de cluster/VPC/instance serverless) -> OB_MySQL (instance de cluster/instance serverless) |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
OB_MySQL (instance de cluster/instance serverless) -> OB_MySQL (VPC) |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
Oracle (réseau public/VPC) -> OB_Oracle (instance de cluster) |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
OB_Oracle (instance de cluster) -> Oracle (VPC) |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
OB_Oracle (instance de cluster/VPC) -> OB_Oracle (instance de cluster) |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
OB_Oracle (instance de cluster) -> OB_Oracle (VPC) |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
OB_Oracle (instance de cluster) -> MySQL (RDS/PolarDB/VPC/réseau public) |
Non pris en charge |
Non pris en charge |
Pris en charge |
Non pris en charge |
Non pris en charge |
Non pris en charge |
Pris en charge |
|
TiDB -> OB_MySQL (instance de cluster/instance serverless) |
Pris en charge |
Pris en charge |
Pris en charge |
Non pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
PolarDB-X 1.0 -> OB_MySQL (instance de cluster/instance serverless) |
Non pris en charge |
Pris en charge |
Pris en charge |
Non pris en charge |
Pris en charge |
Non pris en charge |
Pris en charge |
|
PolarDB-X 2.0 -> OB_MySQL (instance de cluster/instance serverless) |
Pris en charge |
Pris en charge |
Pris en charge |
Non pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
PostgreSQL (instance RDS) -> OB_Oracle (instance de cluster/VPC) |
Pris en charge |
Pris en charge |
Pris en charge |
Non pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Types de migration
Type de migration | Description |
Migration du schéma | Les définitions des objets de données, telles que les tables, les index, les contraintes, les commentaires et les vues, sont migrées de la base de données source vers la base de données cible. Les tables temporaires sont automatiquement exclues. Si la base de données source n'est pas une base OceanBase, le service de transmission de données effectue automatiquement la conversion des types de données et l'adaptation de la syntaxe SQL selon le mode de compatibilité de la base OceanBase cible, puis réplique les données vers cette dernière. |
Migration complète | Les données existantes sont migrées des tables de la base source vers les tables correspondantes de la base cible. Sur la page Full Migration, vous pouvez filtrer les objets par base de données source et cible, ou sélectionner View Objects with Errors pour identifier les éléments qui bloquent la progression globale de la migration. Il est possible de consulter les onglets Tables, Table Indexes et Full Load Performance. Le statut d'une tâche de migration complète passe à « Terminé » uniquement lorsque les objets de table et leurs index ont été migrés. |
Synchronisation incrémentielle | Dès le démarrage de la synchronisation incrémentielle, le service de transmission de données réplique les modifications (ajouts, modifications ou suppressions) effectuées dans la base source vers les tables correspondantes de la base cible. Lorsque les services écrivent continuellement des données dans la source, le module d'extraction des données incrémentielles est activé pour récupérer ces données depuis l'instance source, les analyser, les encapsuler et les stocker. Ensuite, le service lance la migration complète. Une fois la tâche de migration complète achevée, le module de relecture des données incrémentielles commence à extraire les données depuis le module d'extraction. Après filtrage, mappage et conversion, ces données sont synchronisées avec la base de données cible. |
Vérification complète | Après l'achèvement des migrations de données complètes et incrémentielles, le service de transmission de données lance automatiquement une tâche de vérification complète pour comparer les tables de données entre la source et la cible. Vous pouvez également déclencher manuellement des tâches de vérification personnalisées durant le processus de synchronisation incrémentielle. Sur la page Full Verification, vous avez accès au statut global, à l'heure de début, à l'heure de fin, au temps total écoulé, au nombre estimé total de lignes, au nombre de lignes migrées, au trafic en temps réel et au taux de requêtes par seconde (RPS) de la tâche de vérification. |
Basculement avant | Le basculement avant représente un processus standardisé et abstrait de coupure traditionnelle du système, sans impliquer la modification des connexions applicatives. Cette étape englobe une série de tâches exécutées pour préparer le basculement applicatif au sein d'une tâche de migration de données. Assurez-vous que l'intégralité du processus de basculement avant est terminée avant de rediriger les connexions applicatives vers la cible. Ce basculement est obligatoire pour la migration de données. Le service de transmission de données garantit la finalisation de la migration des données avant pendant cette phase, et vous permet d'activer le composant d'incrément inverse selon vos besoins métier. Le processus de basculement avant comprend les opérations suivantes :
|
Incrément inverse | Dans les scénarios de basculement métier, une fois la migration terminée, vous pouvez démarrer une tâche de synchronisation incrémentielle dans le sens inverse avant de basculer la base de données métier. Cette tâche synchronise en temps réel les données incrémentielles de la base cible vers la base source. |
Synchronisation de données
Pour obtenir des informations sur les opérations DDL prises en charge lors de la synchronisation incrémentielle, reportez-vous aux rubriques dédiées aux tâches de synchronisation de données.
|
Tâche de synchronisation de données |
Synchronisation du schéma |
Synchronisation complète |
Synchronisation incrémentielle des opérations DML |
Synchronisation incrémentielle des opérations DDL |
Table sans clé primaire |
|
OB_MySQL (instance de cluster) -> OB_MySQL (instance de cluster/VPC/instance serverless) |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
OB_MySQL (VPC) -> OB_MySQL (instance de cluster/instance serverless) |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
OB_MySQL (instance de cluster/instance serverless) -> ADB (instance Alibaba Cloud) |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Non pris en charge |
|
OB_Oracle (instance de cluster/VPC) -> OB_Oracle (instance serverless) |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
OB_MySQL (instance de cluster/VPC) -> OB_Oracle (instance de cluster/VPC) |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
OB_Oracle (instance de cluster/VPC) -> OB_MySQL (instance de cluster/VPC) |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
PostgreSQL (RDS) -> OB_Oracle (instance de cluster) |
Pris en charge |
Pris en charge |
Pris en charge |
Non pris en charge |
Pris en charge |
|
OB_MySQL (instance de cluster/instance serverless) -> DataHub (réseau public/instance Alibaba Cloud) |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
OB_Oracle (instance de cluster) -> DataHub (réseau public/instance Alibaba Cloud) |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
OB_MySQL (instance de cluster/instance serverless) -> Kafka (réseau public/VPC/instance Alibaba Cloud) |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
OB_Oracle (instance de cluster) -> Kafka (réseau public/VPC/instance Alibaba Cloud) |
Non pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
OB_MySQL (instance de cluster/instance serverless) -> RocketMQ (instance Alibaba Cloud) |
Non pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
Pris en charge |
|
OB_Oracle (instance de cluster) -> RocketMQ (instance Alibaba Cloud) |
Non pris en charge |
Pris en charge |
Pris en charge |
Non pris en charge |
Pris en charge |
Versions de bases de données prises en charge
Fonctionnalité | Version d'OceanBase Database | Version des autres bases de données |
Migration de données | V1,4.79, V2,2.30, V2,2.52, V2,2.76, V2,2.77, V3,1.x, V3,2.x, V4,0.x, V4,1.x, V4,2.1.10, V4,2.2.1, V4,2.3.0, V4,2.4.0, V4,2.5.0, V4,3.0.1, V4,3.1.0, V4,3.2.1, V4,3.3.1, V4,3.4.1 et V4,3.5.0 |
|
Synchronisation de données | V1,4.79, V2,2.30, V2,2.52, V2,2.76, V2,2.77, V3,1.x, V3,2.x, V4,0.x, V4,1.x, V4,2.1.10, V4,2.2.1, V4,2.3.0, V4,2.4.0, V4,2.5.2, V4,3.0.1, V4,3.1.0, V4,3.2.1, V4,3.3.1, V4,3.4.1 et V4,3.5.0 |
|