Tutorial

Comment installer et utiliser Clickhouse sur Debian 10

Data AnalysisDatabasesDebian 10

L'auteur a choisi le Free and Open Source Fund pour recevoir une donation dans le cadre du programme Write for DOnations.

Introduction

ClickHouse est une base de données analytique open-source, orientée colonne, créée par Yandex pour les cas d'utilisation de données OLAP et de mégadonnées. Le support de ClickHouse pour le traitement des requêtes en temps réel le rend approprié aux applications qui nécessitent des résultats d'analyse en moins d'une seconde. Le langage de requêtes de ClickHouse est un dialecte de SQL qui offre de puissantes capacités de requête déclarative tout en offrant une familiarité et une courbe d'apprentissage plus courte à l'utilisateur final.

Les bases de données orientées colonnes stockent les enregistrements en blocs groupés par colonnes au lieu de lignes. En ne chargement pas de données pour les colonnes absentes de la requête, les bases de données orientées colonnes passent moins de temps à lire des données tout en complétant les requêtes. Par conséquent, ces bases de données peuvent calculer et retourner des résultats beaucoup plus vite que les systèmes traditionnels basés sur les lignes pour certaines charges de travail (opérations de type OLAP, par exemple).

Les systèmes de traitement analogique en ligne OnLine Analytics Processing (OLAP) permettent d'organiser de grandes quantités de données et d'effectuer des requêtes complexes. Ils sont capables de gérer des pétaoctets de données et de retourner rapidement les résultats des requêtes. De cette manière, l'OLAP est utile pour travailler dans des domaines tels que la science des données et les analyses d'entreprise.

Dans ce tutoriel, vous allez installer le serveur de base de données et le client ClickHouse sur votre machine. Vous utiliserez le SGBD pour des tâches typiques et autoriserez éventuellement l'accès à distance depuis un autre serveur, afin de pouvoir vous connecter à la base de données depuis une autre machine. Ensuite, vous testerez ClickHouse en modélisant et en interrogeant des exemples de données de visites de sites web.

Conditions préalables

  • Un Debian 10 avec un utilisateur non root avec sudo activé et une configuration de pare-feu. Vous pouvez suivre le tutoriel de configuration initiale du serveur pour créer l'utilisateur et configurer le pare-feu.
  • (Facultatif) Un Debian 10 secondaire, un utilisateur non root avec sudo activé et une configuration de pare-feu. Vous pouvez suivre le tutoriel de configuration initiale du serveur.

Étape 1 - Installation de ClickHouse

Dans cette section, vous allez installer le serveur et les programmes clients ClickHouse en utilisant apt.

Tout d'abord, lancez SSH sur votre serveur en exécutant :

  • ssh sammy@your_server_ip

dirmngr est un serveur de gestion de certificats et de clés. Il est requis pour l'ajout et la vérification des clés de dépôt à distance. Installez-le en l'exécutant :

  • sudo apt install dirmngr

Yandex gère un référentiel APT qui dispopse de la dernière version de ClickHouse. Ajoutez la clé GPG du référentiel afin de pouvoir télécharger en toute sécurité les paquets ClickHouse validés :

  • sudo apt-key adv --keyserver keyserver.ubuntu.com --recv E0C56BD4

Vous verrez un résultat similaire à celui qui suit :

Output
Executing: /tmp/apt-key-gpghome.JkkcKnBAFY/gpg.1.sh --keyserver keyserver.ubuntu.com --recv E0C56BD4 gpg: key C8F1E19FE0C56BD4: public key "ClickHouse Repository Key <milovidov@yandex-team.ru>" imported gpg: Total number processed: 1 gpg: imported: 1

La sortie confirme que la vérification et l'ajout de clé ont bien été effectués.

Ajoutez le référentiel à votre liste de référentiels APT en exécutant :

  • echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" | sudo tee /etc/apt/sources.list.d/clickhouse.list

Ici, vous avez extrait la sortie echo du sudo tee pour que cette sortie puisse être imprimée dans un fichier détenu par l'utilisateur root.

Maintenant, exécutez apt update pour mettre à jour vos packages :

  • sudo apt update

Les packages clickhouse-server et clickhouse-client sont maintenant disponibles pour l'installation.

Depuis la version 19.13.3 de ClickHouse, certaines configurations d'OpenSSL 1.1.1 telles que MinProtocol et CipherVersion ne sont pas lues correctement. Pour remédier à cette incompatibilité, modifiez le fichier de configuration OpenSSL et commentez la ligne ssl_conf = ssl_sect dans /etc/ssl/openssl.cnf.

Modifiez le fichier de configuration en exécutant :

  • sudo nano /etc/ssl/openssl.cnf

Ensuite, commentez la ligne contenant ssl_conf = ssl_sect, de sorte qu'elle ressemble au fichier suivant :

/etc/ssl/openssl.cnf
...

tsa_name        = yes   # Must the TSA name be included in the reply?
                # (optional, default: no)
ess_cert_id_chain   = no    # Must the ESS cert id chain be included?
                # (optional, default: no)
ess_cert_id_alg     = sha1  # algorithm to compute certificate
                # identifier (optional, default: sha1)
[default_conf]
#ssl_conf = ssl_sect

[ssl_sect]
...

Maintenant que la configuration OpenSSL a été patchée, vous êtes prêt à installer les packages serveur et client de ClickHouse. Installez-les avec :

  • sudo apt install clickhouse-server clickhouse-client

Lors de l'installation, il vous sera également demandé de définir un mot de passe pour l'utilisateur par défaut de ClickHouse.

Vous avez installé avec succès le serveur et le client ClickHouse. Vous êtes maintenant prêt à démarrer le service de base de données et à vous assurer qu'il fonctionne correctement.

Étape 2 - Démarrage du service

Le package clickhouse-server que vous avez installé dans la section précédente crée un service systemd, qui effectue des actions telles que le démarrage, l'arrêt et le redémarrage du serveur de base de données. systemd est un système init pour Linux qui permet d'initialiser et de gérer des services. Dans cette section, vous allez démarrer le service et vérifier qu'il fonctionne correctement.

Lancez le service clickhouse-server en exécutant :

  • sudo service clickhouse-server start

La commande précédente n'affichera aucune sortie. Pour vérifier que le service fonctionne correctement, exécutez :

  • sudo service clickhouse-server status

Vous verrez une sortie semblable à ce qui suit :

Output
● clickhouse-server.service - ClickHouse Server (analytic DBMS for big data) Loaded: loaded (/etc/systemd/system/clickhouse-server.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2018-12-22 07:23:20 UTC; 1h 9min ago Main PID: 27101 (ClickHouse-serv) Tasks: 34 (limit: 1152) CGroup: /system.slice/ClickHouse-server.service └─27101 /usr/bin/ClickHouse-server --config=/etc/ClickHouse-server/config.xml

La sortie indique que le serveur est en cours d'exécution.

Vous avez réussi à démarrer le serveur ClickHouse et vous pourrez maintenant utiliser le programme CLI clickhouse-client pour vous connecter au serveur.

Étape 3 - Création de bases de données et de tables

Dans ClickHouse, vous pouvez créer et supprimer des bases de données en exécutant des déclarations SQL directement dans l'invite de la base de données interactive. Les instructions consistent en des commandes qui suivent une syntaxe particulière et qui ordonnent au serveur de la base de données d'effectuer une opération demandée en même temps que les données requises. Vous créez des bases de données en utilisant la syntaxe CREATE DATABASE table_name. Pour créer une base de données, commencez une session client en exécutant la commande suivante :

  • clickhouse-client --password

Il vous sera demandé d'entrer le mot de passe que vous avez défini pendant l'installation. Entrez-le pour démarrer correctement la session client.

La commande précédente vous connectera à l'invite du client où vous pouvez exécuter des instructions SQL ClickHouse pour effectuer des actions telles que :

  • Créer, mettre à jour et supprimer des bases de données, des tables, des index, des partitions et des vues.

  • Exécuter des requêtes pour récupérer des données qui sont éventuellement filtrées et regroupées selon diverses conditions.

Dans cette étape, avec le client ClickHouse prêt à l'insertion de données, vous allez créer une base de données et une table. Aux fins de ce tutoriel, vous allez créer une base de données nommée test, et à l'intérieur de celle-ci vous allez créer une table nommée <^>visits<^> qui effectue le suivi de la durée des visites sur le site web.

Maintenant que vous êtes à l'intérieur de l'invite de commande ClickHouse, créez votre base de données test en exécutant :

  • CREATE DATABASE test;

Vous verrez la sortie suivante qui montre que vous avez créé la base de données :

Output
CREATE DATABASE test Ok. 0 rows in set. Elapsed: 0.003 sec.

Une table ClickHouse est semblable aux tables d'autres bases de données relationnelles ; elle contient une collection de données connexes dans un format structuré. Vous pouvez spécifier des colonnes avec leurs types, ajouter des lignes de données et exécuter différentes sortes de requêtes sur des tables.

La syntaxe de création de tables dans ClickHouse suit cette structure :

CREATE TABLE table_name
(
    column_name1 column_type [options],
    column_name2 column_type [options],
    ...
) ENGINE = engine

Les valeurs table_name et column_name peuvent être n'importe quel identifiant ASCII valide. ClickHouse prend en charge un large éventail de types de colonnes, dont les plus courants sont :

  • UIntra64 : utilisé pour le stockage de valeurs entières dans la plage 0 à 1844674407709551615.

  • Float64 : utilisé pour le stockage des nombres à virgule flottante tels que 2039.23, 10.5, etc.

  • Ring : utilisé pour le stockage de caractères de longueur variable. Il ne nécessite pas d'attribut de longueur maximale puisqu'il peut stocker des longueurs arbitraires.

  • Date : utilisé pour le stockage des dates au format YYYY-MM-DD

  • DateTime : utilisé pour le stockage de dates couplées avec les heures et suit le format YYYY-MM-DD HH:MM:SS.

Après les définitions de la colonne, vous spécifiez le moteur utilisé pour le tableau. Dans ClickHouse, les moteurs déterminent la structure physique des données sous-jacentes, les capacités d'interrogation de la table, ses modes d'accès simultanés et la prise en charge des index.  Différents types de moteurs sont adaptés à différentes exigences d'application. Le type de moteur le plus couramment utilisé et le plus applicable est MergeTree.

Maintenant que vous avez un bon aperçu de la création de table, vous allez créer une table. Commencez par confirmer la base de données que vous allez modifier :

  • USE test;

Vous verrez la sortie suivante montrant que vous avez passé à la base de données test à partir de la base de données par défaut :

Output
USE test Ok. 0 rows in set. Elapsed: 0.001 sec.

La suite de ce guide vous permettra d'exécuter des instructions dans le contexte de cette base de données.

Créez votre table visits en exécutant cette commande :

  • CREATE TABLE visits (
  • id UInt64,
  • duration Float64,
  • url String,
  • created DateTime
  • ) ENGINE = MergeTree()
  • PRIMARY KEY id
  • ORDER BY id;

Voici une ventilation de ce que fait la commande. Vous créez un table nommé visits qui comporte quatre colonnes :

  • id : la colonne de la clé primaire. De même que les autres systèmes RDBMS, une colonne de clés primaire de ClickHouse identifie une ligne ; chaque ligne devrait avoir une valeur unique pour cette colonne.

  • duration : colonne float utilisée pour enregistrer la durée de chaque visite en secondes. Les colonnes float peuvent stocker des valeurs décimales telles que 12.50.

  • url : colonne string qui stocke l'URL visite, comme http://example.com.

  • created : colonne date and time qui suit quand une visite a eu lieu.

Après les définitions de colonne, vous spécifiez MergeTree comme moteur de stockage pour la table. La famille de moteurs MergeTree est recommandée pour les bases de données de production en raison de sa prise en charge optimisée des grandes insertions en temps réel, de sa robustesse globale et de sa prise en charge des requêtes. En outre, les moteurs MergeTree prennent en charge le tri des lignes par clé primaire, le partitionnement des lignes, ainsi que la réplication et l'échantillonnage des données.

Si vous avez l'intention d'utiliser ClickHouse pour archiver des données qui ne sont pas souvent interrogées ou pour stocker des données temporaires, vous pouvez utiliser la famille de moteurs Log pour une optimisation dans ce cas d'utilisation.

Après avoir défini les colonnes, vous définirez d'autres options au niveau de la table. La clause PRIMARY KEY définit id comme la colonne clé primaire et la clause ORDER BY stockera les valeurs triées selon la colonne id. Une clé primaire identifie de manière unique une ligne et est utilisée pour accéder efficacement à une seule ligne et pour colocaliser efficacement les lignes.

Lorsque vous exécuterez l'instruction create, vous verrez la sortie suivante :

Output
CREATE TABLE visits ( id UInt64, duration Float64, url String, created DateTime ) ENGINE = MergeTree() PRIMARY KEY id ORDER BY id Ok. 0 rows in set. Elapsed: 0.010 sec.

Dans cette section, vous avez créé une base de données et une table pour suivre les données de visite de site web. Dans l'étape suivante, vous allez insérer des données dans la table, mettre à jour les données existantes et supprimer ces données.

Étape 4 — Insertion, mise à jour et suppression des données et des colonnes

Dans cette étape, vous utiliserez votre table visits pour insérer, mettre à jour et supprimer des données. La commande suivante est un exemple de syntaxe permettant d'insérer des lignes dans une table ClickHouse :

INSERT INTO table_name VALUES (column_1_value, column_2_value, ....);

Maintenant, insérez quelques lignes d'exemple de données de visite de site web dans votre table visits en exécutant chacune des instructions suivantes :

  • INSERT INTO visits VALUES (1, 10.5, 'http://example.com', '2019-01-01 00:01:01');
  • INSERT INTO visits VALUES (2, 40.2, 'http://example1.com', '2019-01-03 10:01:01');
  • INSERT INTO visits VALUES (3, 13, 'http://example2.com', '2019-01-03 12:01:01');
  • INSERT INTO visits VALUES (4, 2, 'http://example3.com', '2019-01-04 02:01:01');

Vous verrez la sortie suivante pour chaque instruction d'insertion.

Output
INSERT INTO visits VALUES Ok. 1 rows in set. Elapsed: 0.004 sec.

La sortie de chaque ligne montre que vous l'avez insérée avec succès dans la table visits.

Vous allez maintenant ajouter une colonne supplémentaire à la table visits. Lorsque vous ajoutez ou supprimez des colonnes de tables existantes, ClickHouse prend en charge la syntaxe ALTER.

Par exemple, la syntaxe basique pour ajouter une colonne à une table est la suivante :

ALTER TABLE table_name ADD COLUMN column_name column_type;

Ajoutez une colonne nommée location qui va enregistrer l'emplacement des visites d'un site web en exécutant l'instruction suivante :

  • ALTER TABLE visits ADD COLUMN location String;

Vous verrez une sortie semblable à ce qui suit :

Output
ALTER TABLE visits ADD COLUMN location String Ok. 0 rows in set. Elapsed: 0.014 sec.

La sortie montre que vous avez bien ajouté la colonne location.

À partir de la version 19.13.3, ClickHouse ne permet pas de mettre à jour et de supprimer des lignes individuelles de données, en raison de contraintes de mise en œuvre. Toutefois, ClickHouse prend en charge les mises à jour et les suppressions en vrac et dispose d'une syntaxe SQL distincte pour ces opérations, afin de mettre en évidence leur utilisation non standard.

La syntaxe suivante est un exemple de mise à jour en vrac des lignes :

ALTER TABLE table_name UPDATE  column_1 = value_1, column_2 = value_2 ...  WHERE  filter_conditions;

Vous allez exécuter l'instruction suivante pour mettre à jour la colonne url de toutes les lignes qui ont une durée inférieure à 15. Saisissez-la dans l'invite d'exécution de la base de données :

  • ALTER TABLE visits UPDATE url = 'http://example2.com' WHERE duration < 15;

La sortie de l'instruction de mise à jour en bloc sera la suivante :

Output
ALTER TABLE visits UPDATE url = 'http://example2.com' WHERE duration < 15 Ok. 0 rows in set. Elapsed: 0.003 sec.

La sortie montre que votre requête de mise à jour a bien été effectuée. Le 0 rows in set dans la sortie indique que la requête n'a renvoyé aucune ligne ; ce sera le cas pour toute requête de mise à jour et de suppression.

L'exemple de syntaxe pour la suppression en bloc de lignes est similaire à la mise à jour des lignes et présente la structure suivante :

ALTER TABLE table_name DELETE WHERE filter_conditions;

Pour tester la suppression de données, exécutez l'instruction suivante pour supprimer toutes les lignes qui ont une durée inférieure à 5 :

  • ALTER TABLE visits DELETE WHERE duration < 5;

La sortie de l'instruction de suppression en bloc sera similaire à :

Output
ALTER TABLE visits DELETE WHERE duration < 5 Ok. 0 rows in set. Elapsed: 0.003 sec.

La sortie confirme que vous avez supprimé les lignes avec une durée inférieure à cinq secondes.

Pour supprimer des colonnes de votre table, la syntaxe devrait suivre cet exemple de structure :

ALTER TABLE table_name DROP COLUMN column_name;

Supprimez la colonne location que vous avez précédemment ajoutée en exécutant ce qui suit :

  • ALTER TABLE visits DROP COLUMN location;

La sortie DROP COLUMN confirmant que vous avez supprimé la colonne sera la suivante :

Output
ALTER TABLE visits DROP COLUMN location String Ok. 0 rows in set. Elapsed: 0.010 sec.

Maintenant que vous avez bien inséré, mis à jour et supprimé des lignes et des colonnes dans votre table visits, vous allez passer à l'interrogation de données dans la prochaine étape.

Étape 5 - Interrogation de données

Le langage de requête de ClickHouse est un dialecte SQL personnalisé avec des extensions et des fonctions adaptées aux charges de travail d'analyse. Dans cette étape, vous allez exécuter des requêtes de sélection et d'agrégation pour récupérer des données et des résultats de votre table visits.

Les requêtes de sélection vous permettent de récupérer des lignes et des colonnes de données filtrées par des conditions que vous spécifiez, ainsi que des options telles que le nombre de lignes à retourner. Vous pouvez sélectionner des lignes et des colonnes de données en utilisant la syntaxe SELECT. La syntaxe de base pour les requêtes SELECT est :

SELECT func_1(column_1), func_2(column_2) FROM table_name WHERE filter_conditions row_options;

Exécutez l'instruction suivante pour récupérer des valeurs url et de durée pour les lignes où l’url est http://example.com.

  • SELECT url, duration FROM visits WHERE url = 'http://example2.com' LIMIT 2;

Vous verrez le résultat suivant :

Output
SELECT url, duration FROM visits WHERE url = 'http://example2.com' LIMIT 2 ┌─url─────────────────┬─duration─┐ │ http://example2.com │ 10.5 │ └─────────────────────┴──────────┘ ┌─url─────────────────┬─duration─┐ │ http://example2.com │ 13 │ └─────────────────────┴──────────┘ 2 rows in set. Elapsed: 0.013 sec.

La sortie a renvoyé deux lignes qui correspondent aux conditions que vous avez spécifiées. Maintenant que vous avez sélectionné des valeurs, vous pouvez passer à l'exécution des requêtes d'agrégation.

Les requêtes d'agrégation sont des requêtes qui opèrent sur un ensemble de valeurs et renvoient des valeurs de sortie uniques. Dans les bases de données analytiques, ces requêtes sont fréquemment exécutées et sont bien optimisées par la base de données. Certaines fonctions agrégées prises en charge par ClickHouse sont :

  • count : renvoie le nombre de lignes correspondant aux conditions spécifiées.

  • sum : renvoie la somme des valeurs des colonnes sélectionnées.

  • avg : renvoie la moyenne des valeurs des colonnes sélectionnées.

Certaines fonctions agrégées spécifiques à ClickHouse-specific comprennent :

  • uniq : renvoie un nombre approximatif de lignes distinctes assorties.

  • topK : renvoie un tableau des valeurs les plus fréquentes d'une colonne spécifique en utilisant un algorithme d'approximation.

Pour démontrer l'exécution des requêtes d'agrégation, vous calculerez la durée totale des visites en exécutant la requête sum :

  • SELECT SUM(duration) FROM visits;

Vous verrez un résultat similaire à celui qui suit :

Output
SELECT SUM(duration) FROM visits ┌─SUM(duration)─┐ │ 63.7 │ └───────────────┘ 1 rows in set. Elapsed: 0.010 sec.

Maintenant, calculez les deux premières URL en exécutant :

  • SELECT topK(2)(url) FROM visits;

Vous verrez un résultat similaire à celui qui suit :

Output
SELECT topK(2)(url) FROM visits ┌─topK(2)(url)──────────────────────────────────┐ │ ['http://example2.com','http://example1.com'] │ └───────────────────────────────────────────────┘ 1 rows in set. Elapsed: 0.010 sec.

Maintenant que vous avez interrogé avec succès votre table visits, vous allez supprimer des tables et des bases de données lors de la prochaine étape.

Étape 6 — Suppression de tables et de bases de données

Dans cette section, vous allez supprimer votre table visits et la base de données test.

La syntaxe de suppression de table suit cet exemple :

DROP TABLE table_name;

Pour supprimer la table <^>visits<^>, exécutez l'instruction suivante :

  • DROP TABLE visits;

Vous verrez la sortie suivante déclarant que vous avez bien supprimé la table :

output
DROP TABLE visits Ok. 0 rows in set. Elapsed: 0.005 sec.

Vous pouvez supprimer des bases de données en utilisant la syntaxe DROP database table_name. Pour supprimer la base de données test, exécutez l'instruction suivante :

  • DROP DATABASE test;

La sortie obtenue montre que vous avez bien supprimé la base de données.

Output
DROP DATABASE test Ok. 0 rows in set. Elapsed: 0.003 sec.

Vous avez supprimé des tables et des bases de données lors de cette étape. Maintenant que vous avez créé, mis à jour et supprimé des bases de données, des tables et des données dans votre instance ClickHouse, vous allez activer l'accès à distance à votre serveur de base de données dans la section suivante.

Étape 7 — Configuration des règles de pare-feu (facultatif)

Si vous avez l'intention de n'utiliser ClickHouse que localement avec des applications fonctionnant sur le même serveur, ou si vous n'avez pas de pare-feu activé sur votre serveur, vous n'avez pas besoin de suivre cette section. Si, au contraire, vous vous connectez à distance au serveur de base de données ClickHouse, vous devez suivre cette étape.

Actuellement, votre serveur est doté d'un pare-feu qui désactive l'accès de votre adresse IP publique à tous les ports. Vous allez exécuter les deux étapes suivantes pour autoriser l'accès à distance :

  • Modifiez la configuration de ClickHouse et autorisez-le à écouter toutes les interfaces.

  • Ajoutez une règle de pare-feu autorisant les connexions entrantes au port 8123 (qui est le port HTTP exécuté par le serveur ClickHouse).

Si vous vous trouvez dans l'invite de la base de données, quittez-la en tapant CTRL+D.

Modifiez le fichier de configuration en exécutant :

  • sudo nano /etc/clickhouse-server/config.xml

Ensuite, décommentez la ligne contenant <!-- <listen_host>0.0.0</listen_host> -->, comme dans le fichier suivant :

/etc/clickhouse-server/config.xml
...
 <interserver_http_host>example.yandex.ru</interserver_http_host>
    -->

    <!-- Listen specified host. use :: (wildcard IPv6 address), if you want to accept connections both with IPv4 and IPv6 from everywhere. -->
    <!-- <listen_host>::</listen_host> -->
    <!-- Same for hosts with disabled ipv6: -->
    <listen_host>0.0.0.0</listen_host>

    <!-- Default values - try listen localhost on ipv4 and ipv6: -->
    <!--
    <listen_host>::1</listen_host>
    <listen_host>127.0.0.1</listen_host>
    -->
...

Sauvegardez le fichier et quittez. Pour que la nouvelle configuration soit appliquée, redémarrez le service en exécutant :

  • sudo service clickhouse-server restart

Vous ne verrez aucune sortie de cette commande. Le serveur de ClickHouse écoute sur le port 8123 pour les connexions HTTP et sur le port 9000 pour les connexions du client-clickhouse. Autorisez l'accès aux deux ports pour l'adresse IP de votre deuxième serveur avec la commande suivante :

  • sudo ufw allow from second_server_ip/32 to any port 8123
  • sudo ufw allow from second_server_ip/32 to any port 9000

Vous verrez la sortie suivante pour les deux commandes, qui montre que vous avez activé l'accès aux deux ports :

Output
Rule added

ClickHouse sera maintenant accessible depuis l'IP que vous avez ajoutée. N'hésitez pas à ajouter des IP supplémentaires tels que l'adresse de votre machine locale, si nécessaire.

Pour vérifier que vous pouvez vous connecter au serveur ClickHouse depuis la machine distante, suivez d'abord les étapes de l'Étape 1 de ce tutoriel sur le deuxième serveur et assurez-vous que le clickhouse-client y est installé.

Maintenant que vous vous êtes connecté au deuxième serveur, lancez une session client en exécutant :

  • clickhouse-client --host your_server_ip --password

Vous verrez la sortie suivante qui montre que vous vous êtes bien connecté au serveur :

Output
ClickHouse client version 19.13.3.26 (official build). Password for user (default): Connecting to your_server_ip:9000 as user default. Connected to ClickHouse server version 19.13.3 revision 54425. hostname :)

Dans cette étape, vous avez activé l'accès à distance à votre serveur de base de données ClickHouse en ajustant vos règles de pare-feu.

Conclusion

Vous avez mis en place avec succès une instance de base de données ClickHouse sur votre serveur et vous avez créé une base de données et une table, ajouté des données, effectué des requêtes et supprimé la base de données. Dans la documentation de ClickHouse, vous pouvez lire leurs analyses comparatives par rapport à d'autres bases de données analytiques commerciales et open-source, ainsi que des documents de référence généraux.

Les autres caractéristiques offertes par ClickHouse comprennent le traitement distribué des requêtes sur plusieurs serveurs pour améliorer les performances et protéger contre la perte de données en stockant les données sur différentes partitions.

0 Comments

Creative Commons License