Tous les produits
Search
Centre de documentation

OpenSearch:PolarDB data source configuration

Dernière mise à jour :Aug 10, 2026

PolarDB est un service de base de données en ligne prêt à l'emploi, stable, fiable et évolutif proposé par Alibaba Cloud (En savoir plus sur PolarDB).

Avant de commencer

  • OpenSearch prend en charge PolarDB for MySQL 5.6, 5,7 et 8,0.

  • Le cluster PolarDB doit appartenir au même compte Alibaba Cloud que celui utilisé pour la console OpenSearch.

  • Le cluster PolarDB doit se trouver dans la même région que l'application OpenSearch.

  • La journalisation binaire (binlog) est désactivée par défaut sur les nouveaux clusters PolarDB, ce qui empêche l'enregistrement de la source de données. Activez la binlog pour continuer. Pour ce faire, définissez le paramètre **loose_polar_log_bin sur ON_WITH_GTID.** Le paramètre binlog_row_image est défini sur FULL par défaut et ne nécessite aucune modification.

  • OpenSearch prend en charge les instances clonées.

  • Le cluster PolarDB doit être un cluster en lecture/écriture.

Fonctionnalités

  • Extrayez les données complètes depuis les tables de base de données spécifiées, manuellement ou selon une planification.

  • Fusionnez horizontalement les données provenant de plusieurs tables sources. Les tables sources doivent avoir des schémas identiques et des configurations de plugin de source de données identiques, et leurs valeurs de clé primaire doivent être uniques. Les valeurs de clé primaire en double écrasent les enregistrements existants. Cette fonctionnalité prend en charge deux scénarios principaux :

    • Une table d'application est configurée avec une seule source de données contenant plusieurs tables sources.

    • Une table d'application est configurée avec plusieurs sources de données, chacune contenant une ou plusieurs tables sources.

  • OpenSearch prend en charge les plugins de transformation de champs de source de données.

  • Méthodes de synchronisation des données prises en charge :

  • Utilisez des conditions de filtre pour la synchronisation complète des données.

  • Utilisez le caractère générique (*) pour faire correspondre les noms des tables de base de données.

Important
  • Lorsque vous sélectionnez automatic synchronization, OpenSearch utilise un service interne pour s'abonner à la binlog de votre base de données afin de synchroniser les données incrémentielles. Des opérations utilisateur, telles que la suppression de tables de base de données, la modification des autorisations d'accès, la purge des fichiers binlog ou la modification du mot de passe de la base de données, peuvent interrompre ce processus d'abonnement. Cette interruption peut empêcher OpenSearch de synchroniser les données incrémentielles, et OpenSearch n'est pas responsable des incohérences de données qui en résulteraient. Avant d'effectuer de telles opérations, assurez-vous de bien comprendre les conséquences potentielles et de prendre les précautions nécessaires.

  • Si vous sélectionnez automatic synchronization, OpenSearch garantit la stabilité du service de synchronisation, mais ne garantit pas une latence spécifique. Si votre activité est sensible à la latence de synchronisation, nous vous recommandons d'utiliser une **instance d'abonnement aux données DTS (Synchronisation en temps réel DTS)**.

Limites

  • Les clusters PolarDB prennent uniquement en charge le mode binlog **full. Pour activer ce mode, définissez loose_polar_log_bin sur ON_WITH_GTID.** Le paramètre binlog_row_image est défini sur FULL par défaut et ne nécessite aucune modification.

  • Seuls PolarDB for MySQL 5.6, 5,7 et 8,0 sont pris en charge.

  • Le cluster PolarDB doit appartenir au compte Alibaba Cloud que vous utilisez pour vous connecter à la console OpenSearch.

  • Le cluster PolarDB doit se trouver dans la même région que l'application OpenSearch.

  • Vous ne pouvez pas pousser de données incrémentielles à l'aide d'un SDK ou d'une API vers des applications Standard Edition qui utilisent une source de données PolarDB.

  • Pour les applications Standard Edition, les conditions de filtre ne sont pas prises en charge pour les sources de données PolarDB.

  • La syntaxe **REPLACE INTO** n'est pas prise en charge.

  • Les commandes **TRUNCATE et DROP ne sont pas prises en charge. Utilisez la commande DELETE** pour supprimer des données.

  • Le mot de passe d'accès PolarDB ne doit pas contenir le caractère %. Sinon, la tâche de réindexation échoue.

  • OpenSearch ne prend pas en charge la fusion de colonnes provenant de tables sources ayant des schémas différents.

  • Définissez loose_max_statement_time et connect_timeout sur 0. Une fois la synchronisation complète des données déclenchée par une réindexation ou une modification hors ligne terminée, vous pouvez rétablir les paramètres à leurs valeurs précédentes.

Notes d'utilisation

  • Si une source de données, telle qu'une instance RDS ou PolarDB, est associée à une instance Distributed Relational Database Service (DRDS) à laquelle vous souhaitez connecter OpenSearch, spécifiez le nom réel de la base de données shardée dans la configuration de la source de données. Une base de données DRDS est divisée en une base de données fantôme et huit shards, et les données sont écrites de manière aléatoire sur les shards.

  • Les clusters PolarDB permettent de basculer entre les endpoints internes et publics. OpenSearch ne facture pas les frais de trafic pour la récupération des données depuis PolarDB.

  • OpenSearch extrait les données complètes uniquement depuis la base de données principale. Nous vous recommandons de planifier la réindexation et les importations de données complètes pendant les heures creuses.

  • Le système convertit automatiquement les valeurs des types **datetime et timestamp des tables PolarDB en millisecondes. Définissez le type de champ correspondant dans la table d'application sur TIMESTAMP**.

  • Le processus de synchronisation exclut les documents qui ne répondent pas aux conditions de filtre des données complètes. Si un document avec la même valeur de clé primaire existe dans la table d'application, il est également supprimé.

  • Si aucune donnée incrémentielle n'est générée par la source de données pendant 15 jours consécutifs ou plus, la synchronisation des données peut échouer. Pour résoudre ce problème, effectuez une réindexation ou une modification hors ligne manuelle.

  • Si le chiffrement SSL est activé sur le cluster PolarDB, assurez-vous que le certificat SSL est valide. Un certificat expiré provoque des erreurs de connexion. Mettez à jour le certificat avant son expiration.

  • Vous ne pouvez pas configurer de source de données PolarDB dans la région Qingdao.

  • Pour synchroniser les données depuis une source de données PolarDB, ajoutez les blocs d'adresses IP du serveur OpenSearch à la liste d'autorisation IP de votre instance RDS ou PolarDB. Le tableau suivant répertorie la liste d'autorisation IP pour chaque région.

    |
    **Région**
    |
    **Adresse IP**
    | | --- | --- | |
    Hangzhou
    |
    100.104.190.128/26,100.104.241.128/26
    | |
    Pékin
    |
    100.104.16.192/26,100.104.179.0/26
    | |
    Shanghai
    |
    100.104.37.0/26,100.104.46.0/26
    | |
    Shenzhen
    |
    100.104.87.192/26,100.104.132.192/26
    | |
    Zhangjiakou
    |
    100.104.155.192/26,100.104.238.64/26
    | |
    Allemagne
    |
    100.104.127.0/26,100.104.35.192/26
    | |
    États-Unis
    |
    100.104.193.128/26,100.104.119.128/26
    | |
    Singapour
    |
    100.104.58.192/26,100.104.74.192/26
    |



































Autorisation du compte

  • Lors de la connexion à une source de données PolarDB, autorisez l'accès au cluster et fournissez un compte ainsi qu'un mot de passe. Choisissez vos identifiants de compte avec soin lors de la configuration initiale.

  • Vérifiez les autorisations du compte : le compte doit disposer de l'autorisation d'afficher toutes les tables de la base de données, ce qui est une exigence du service DTS en amont. Cela garantit que le compte peut exécuter `show create table *.*`. Des autorisations insuffisantes peuvent entraîner l'échec de la synchronisation en temps réel.

  • Minimisez les modifications des autorisations du compte : la modification des identifiants du compte peut perturber les tâches en temps réel en cours et affecter la création de nouvelles versions d'application. Si vous modifiez le mot de passe du compte, supprimez la configuration de la source de données, puis créez-en une nouvelle.

FAQ

  • Que faire si la réindexation reste bloquée après la configuration d'une source de données PolarDB ? Créez une table de test dans la même base de données que votre table source. Écrivez ou mettez à jour un à deux enregistrements par minute pour assurer la génération continue de la binlog pendant le processus de réindexation.

  • Après avoir réglé les paiements en retard pour une application Advanced Edition, déclenchez une réindexation manuelle pour reprendre la synchronisation des données.

  • Le mot de passe d'accès au cluster PolarDB ne doit pas contenir le caractère %. Sinon, la tâche de réindexation échoue avec l'erreur Illegal hex characters in escape (%) pattern.

  • Le système exige que les valeurs de clé primaire dans une table d'application soient uniques. Si les valeurs de clé primaire sont dupliquées dans un scénario de sharding de table, les données seront écrasées. Utilisez le plugin de source de données StringCatenateExtractor pour fusionner plusieurs valeurs de champ. Les champs sources sont pk,$table, où pk est le champ de clé primaire de la table du cluster PolarDB et $table est une variable système par défaut représentant le nom de la table de base de données correspondante. Le caractère de concaténation est -, qui peut être personnalisé.

Par exemple, si la table du cluster PolarDB est my_table_0 et que la valeur du champ de clé primaire est 123456, la nouvelle valeur de clé primaire après concaténation est 123456-my_table_0.

  • Pour filtrer les données en fonction d'un champ **date ou datetime** dans la table de base de données, utilisez le format complet de date et d'heure dans les conditions de filtre. Pour un champ nommé createtime, une condition valide est createtime>'2018-03-01 00:00:00'. L'utilisation d'un format abrégé comme createtime>'2018-3-1 00:00:00' provoquera une erreur.

Configuration d'une source de données PolarDB****

  • Configurez une source de données PolarDB lorsque vous créez une application.

  • Pour une application existante, modifiez la source de données en effectuant une modification hors ligne sur la page des détails de l'application.

Procédure

1. Lors de la création ou de la modification d'une application, accédez à l'étape Data Source. Ajoutez ou modifiez une source de données, sélectionnez PolarDB, puis cliquez sur New Database.

2. Après avoir saisi les informations de la source de données PolarDB, cliquez sur Connect.

|
Paramètre
|
Description
| | --- | --- | |
ID du cluster
|
L'ID du cluster PolarDB. Vous pouvez obtenir l'ID depuis la console PolarDB. Ce paramètre est sensible à la casse. Exemple : `pc-uf6c056ny9tiaj1l7`
| |
Nom de la base de données
|
Le nom de la base de données à laquelle se connecter au sein de l'instance. Ce paramètre n'est pas sensible à la casse.
| |
Nom d'utilisateur
|
Le compte de base de données utilisé pour récupérer le schéma de la table et les données complètes. Ce paramètre est sensible à la casse.
| |
Mot de passe
|
Le mot de passe du compte spécifié.
|

OpenSearch tente de se connecter et fournit un retour d'information basé sur le résultat :

|
Message
|
Actions
| | --- | --- | |
Ce cluster PolarDB n'existe pas dans la région actuelle pour l'utilisateur actuel.
|
Vérifiez que l'ID du cluster est correct et assurez-vous que le cluster PolarDB se trouve dans la même région que l'application OpenSearch. Si le problème persiste, soumettez un ticket.
| |
Échec de la connexion au service de base de données.
|
Vérifiez que les détails de connexion PolarDB, y compris l'ID du cluster, le nom de la base de données, le nom d'utilisateur et le mot de passe, sont corrects.
| |
Cette table n'existe pas dans le cluster PolarDB actuel.
|
Vérifiez que le nom de la table est correct et confirmez que la table existe dans la base de données PolarDB.
| |
Problème avec les éléments de configuration du cluster PolarDB.
|
Accédez à la page **Parameter Settings** dans la console PolarDB, modifiez les éléments de configuration pertinents, puis réessayez.
|

3. Après vous être connecté à la source de données PolarDB, sélectionnez les tables de données.

Dans la liste Data tables à gauche, cochez la case d'une table souhaitée et cliquez sur le bouton >> pour l'ajouter à la liste Selected à droite.

  • Sélectionnez ou saisissez le nom de la table à accéder dans la base de données. Le nom est sensible à la casse.

  • La correspondance par caractère générique pour les tables shardées est prise en charge, par exemple table_* pour correspondre à table_a, table_b, etc.

4. Si la connexion réussit, configurez les champs. OpenSearch récupère automatiquement les champs de la table. Pour plus d'informations sur les plugins de source de données, consultez la rubrique Utilisation des plugins de traitement des données.

Pour ajouter un plugin de source de données, cliquez sur le bouton + dans la colonne Content conversion pour le mappage de champ correspondant. Après avoir terminé le mappage des champs, cliquez sur OK.

5. Configurez les conditions de filtre pour la source de données PolarDB (non prises en charge pour Standard Edition), définissez la méthode de synchronisation des données, puis cliquez sur Finish pour terminer la configuration de la structure de l'application.

La méthode de synchronisation des données propose trois options : Automatic synchronization, DTS data subscription instance et No automatic synchronization.

  • Une application OpenSearch peut être configurée avec plusieurs sources de données, mais leurs structures de table et leurs configurations doivent être identiques.

  • Si la console indique que la synchronisation automatique n'est pas prise en charge, utilisez la synchronisation en temps réel DTS.

  • Les conditions de filtre pour une source de données PolarDB garantissent que seuls les enregistrements répondant aux critères spécifiés sont synchronisés. Pour des informations détaillées sur la configuration, consultez la rubrique Conditions de filtre pour une source de données.