Skip to main content
Vous pouvez utiliser ClickHouse, ou plus précisément clickhouse-local, comme outil ETL pour migrer des données de votre système de base de données actuel vers ClickHouse Cloud, à condition que ce système dispose soit d’un moteur de table d’intégration ou d’une fonction de table fournis par ClickHouse, soit d’un JDBC driver ou d’un ODBC driver fourni par l’éditeur. Nous appelons parfois cette méthode de migration une méthode “pivot”, car elle utilise un point de passage intermédiaire pour déplacer les données de la base de données source vers la base de données de destination. Par exemple, cette méthode peut être nécessaire si, pour des raisons de sécurité, seules les connexions sortantes sont autorisées depuis un réseau privé ou interne. Dans ce cas, vous devez extraire les données de la base de données source avec clickhouse-local, puis les envoyer vers une base de données ClickHouse de destination, clickhouse-local servant alors de point de pivot. ClickHouse fournit des moteurs de table d’intégration et des fonctions de table (qui créent des moteurs de table d’intégration à la volée) pour MySQL, PostgreSQL, MongoDB et SQLite. Pour tous les autres systèmes de base de données courants, un JDBC driver ou un ODBC driver est disponible auprès de l’éditeur du système.

Qu’est-ce que clickhouse-local ?

En règle générale, ClickHouse s’exécute sous forme de cluster, où plusieurs instances du moteur de base de données ClickHouse fonctionnent de manière distribuée sur différents serveurs. Sur un serveur unique, le moteur de base de données ClickHouse s’exécute dans le cadre du programme clickhouse-server. L’accès à la base de données (chemins, utilisateurs, sécurité, …) est configuré à l’aide d’un fichier de configuration du serveur. L’outil clickhouse-local vous permet d’utiliser le moteur de base de données ClickHouse de manière isolée, sous la forme d’un utilitaire en ligne de commande, pour un traitement SQL ultrarapide des données sur un grand nombre d’entrées et de sorties, sans avoir à configurer ni à démarrer un serveur ClickHouse.

Installation de clickhouse-local

Vous avez besoin d’une machine hôte pour clickhouse-local disposant d’un accès réseau à la fois à votre système de base de données source actuel et à votre service cible ClickHouse Cloud. Sur cette machine hôte, téléchargez la version appropriée de clickhouse-local en fonction du système d’exploitation de votre ordinateur :
  1. La manière la plus simple de télécharger clickhouse-local localement consiste à exécuter la commande suivante :
  1. Exécutez clickhouse-local (cela affichera simplement sa version) :
ImportantLes exemples de ce guide utilisent les commandes Linux pour exécuter clickhouse-local (./clickhouse-local). Pour exécuter clickhouse-local sur Mac, utilisez ./clickhouse local.
Ajoutez le système distant à l’IP Access List de votre service ClickHouse CloudPour que la fonction remoteSecure puisse se connecter à votre service ClickHouse Cloud, l’adresse IP du système distant doit être autorisée dans l’IP Access List. Développez Manage your IP Access List sous cette astuce pour plus d’informations.
Dans la liste de vos services ClickHouse Cloud, choisissez le service avec lequel vous allez travailler, puis ouvrez Settings. Si l’IP Access List ne contient pas l’adresse IP ou la plage d’adresses du système distant qui doit se connecter à votre service ClickHouse Cloud, vous pouvez résoudre le problème avec Add IPs :
Vérifiez si le service autorise le trafic provenant de votre adresse IP dans l’IP Access List
Ajoutez l’adresse IP individuelle ou la plage d’adresses devant se connecter à votre service ClickHouse Cloud. Modifiez le formulaire selon vos besoins, puis cliquez sur Save.
Ajoutez votre adresse IP actuelle à l’IP Access List dans ClickHouse Cloud

Exemple : migration de MySQL vers ClickHouse Cloud avec un moteur de table d’intégration

Nous utiliserons le moteur de table d’intégration (créé à la volée par la fonction de table mysql) pour lire les données de la base de données MySQL source, et nous utiliserons la fonction de table remoteSecure pour écrire les données dans une table de destination sur votre service ClickHouse Cloud.

Dans le service ClickHouse Cloud de destination :

Créez la base de données de destination :

Créez une table de destination avec un schéma équivalent à celui de la table MySQL :

Le schéma de la table de destination ClickHouse Cloud et celui de la table source MySQL doivent correspondre (les noms et l’ordre des colonnes doivent être identiques, et les types de données des colonnes doivent être compatibles).

Sur la machine hôte de clickhouse-local :

Lancez clickhouse-local avec la requête de migration :

Aucune donnée n’est stockée localement sur la machine hôte clickhouse-local. Les données sont plutôt lues depuis la table source MySQL, puis immédiatement écrites dans la table de destination du service ClickHouse Cloud.
Dernière modification le 23 juillet 2026