+ HowtoClickHouse
This commit is contained in:
parent
59741f5d9f
commit
0300d7ce31
|
@ -0,0 +1,88 @@
|
|||
---
|
||||
categories: databases
|
||||
title: Howto ClickHouse
|
||||
...
|
||||
|
||||
- Documentation : [https://clickhouse.com/docs/](https://clickhouse.com/docs/)
|
||||
- Code : [https://github.com/ClickHouse/ClickHouse](https://github.com/ClickHouse/ClickHouse)
|
||||
- Licence : [Apache 2.0](https://github.com/ClickHouse/ClickHouse/blob/master/LICENSE)
|
||||
- Language : C++
|
||||
- Rôle Ansible : (à venir)
|
||||
|
||||
**ClickHouse** est un système de gestion de base de données (SGBD) de la catégorie dite «orientée colonnes» (*column-oriented*). À l'instar des [autres systèmes comparables](https://en.wikipedia.org/wiki/Comparison_of_OLAP_servers), il est conçu d'abord pour le traitement analytique en ligne (*On-Line Analytical Processing, OLAP*). «En ligne» veut dire ici «temps réel».
|
||||
|
||||
# Requis
|
||||
|
||||
Les [requis](https://clickhouse.com/docs/en/operations/requirements) du système selon la documentation officielle :
|
||||
|
||||
- Processeurs : architecture x86_64 avec SSE 4.2 (AArch64 et PowerPC64LE possible en compilant soi-même depuis les sources) ; 16 cœurs à 2600 MHz est préférable à 8 cœurs à 3600 MHz, Turbo Boost et hyper-threading sont recommandés
|
||||
- Mémoire vive : 4 Go de RAM minimum ; calculer la quantité requise en estimant la taille des données temporaires des opérations comme GROUP BY, DISTINCT, JOIN.
|
||||
- Partition ou fichier d'échange : à désactiver en production
|
||||
- Espace de stockage : 2 Go minimum pour l'installation
|
||||
- Réseau : 10 Gbps ou supérieur recommandé
|
||||
|
||||
La documentation fournit plusieurs [recommandations d'usage](https://clickhouse.com/docs/en/operations/tips) et on peut même trouver des [résultats de tests de performance](https://benchmark.clickhouse.com/hardware/) de diverses configurations matérielles.
|
||||
|
||||
# Installation
|
||||
|
||||
[Procédure](https://clickhouse.com/docs/en/getting-started/install/#install-from-deb-packages) d'installation pour Debian et Ubuntu tirée de la documentation officielle :
|
||||
|
||||
~~~
|
||||
# apt-get install -y apt-transport-https ca-certificates dirmngr
|
||||
# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754
|
||||
|
||||
# echo "deb https://packages.clickhouse.com/deb stable main" | tee \
|
||||
/etc/apt/sources.list.d/clickhouse.list
|
||||
# apt-get update
|
||||
|
||||
# apt-get install -y clickhouse-server clickhouse-client
|
||||
|
||||
# service clickhouse-server start
|
||||
$ clickhouse-client # ou "clickhouse-client --password" si un mot de passe a été configuré.
|
||||
~~~
|
||||
|
||||
Note 1 : il est possible de changer `stable` par `lts` dans la troisième ligne de la procédure ci-haut.
|
||||
|
||||
Note 2 : les paquets binaires précompilés (.deb, .rpm, .tgz) nécessitent le support des instructions SSE 4.2 côté CPU, ce qui peut être vérifié par la commande suivante : `grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"`
|
||||
|
||||
Note 3 : Une version de 2018 (18.16.1) est disponible directement dans Debian 10 et 11.
|
||||
|
||||
# Configuration
|
||||
|
||||
Avec les paquets pour Debian et Ubuntu, la configuration passe par des fichiers installés là où on les attend :
|
||||
|
||||
~~~
|
||||
/etc/clickhouse-server/config.xml
|
||||
/etc/clickhouse-server/users.xml
|
||||
/etc/clickhouse-server/config.d/
|
||||
/etc/clickhouse-server/user.d/
|
||||
/etc/clickhouse-client/config.xml
|
||||
/lib/systemd/system/clickhouse-server.service
|
||||
/var/log/clickhouse-server/
|
||||
~~~
|
||||
|
||||
Les données sont par défaut dans ce répertoire :
|
||||
|
||||
~~~
|
||||
/var/lib/clickhouse
|
||||
~~~
|
||||
|
||||
La documentation sur la [configuration](https://clickhouse.com/docs/en/operations/configuration-files) nous apprend qu'il est possible d'utiliser `.yaml` au lieu de `.xml` et qu'une bonne pratique est de supplanter ou d'étendre la configuration via `config.d` and `users.d`.
|
||||
|
||||
# Mise à jour
|
||||
|
||||
~~~
|
||||
# apt-get update
|
||||
# apt-get install clickhouse-client clickhouse-server
|
||||
# service clickhouse-server restart
|
||||
~~~
|
||||
|
||||
# Utilisation
|
||||
|
||||
ClickHouse parle le language SQL. Un [tutoriel](https://clickhouse.com/docs/en/tutorial) permet d'apprendre les bases (créer un nouveau tableau, y insérer un grand ensemble de données et tester quelques requêtes).
|
||||
|
||||
Plusieurs [interfaces](https://clickhouse.com/docs/en/interfaces) sont disponibles, notamment en ligne de commande (`clickhouse-client`) et via HTTP (`http://localhost:8123/play`)
|
||||
|
||||
# Sauvegarde et restauration
|
||||
|
||||
Des exemples de [sauvegarde et de restoraution](https://clickhouse.com/docs/en/operations/backup) sont proposés dans la documentation officielle.
|
Loading…
Reference in New Issue