Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Compatibilité Cloud

Ce guide donne un aperçu de ce à quoi vous attendre, sur les plans fonctionnel et opérationnel, dans ClickHouse Cloud. Bien que ClickHouse Cloud repose sur la distribution ClickHouse open-source, il peut y avoir certaines différences d’architecture et d’implémentation. Vous pourriez trouver intéressant et utile, pour le contexte, ce billet de blog sur la manière dont nous avons conçu ClickHouse Cloud.

Architecture de ClickHouse Cloud

ClickHouse Cloud réduit considérablement la complexité opérationnelle et le coût d’exploitation de ClickHouse à grande échelle. Inutile de dimensionner votre déploiement à l’avance, de configurer la réplication pour assurer la haute disponibilité, de répartir manuellement vos données en segments, d’augmenter la capacité de vos serveurs lorsque votre charge de travail augmente, ou de la réduire lorsque vous ne les utilisez pas — nous nous en chargeons pour vous.

Ces avantages découlent des choix architecturaux à la base de ClickHouse Cloud :

  • La capacité de calcul et le stockage sont dissociés et peuvent donc être mis à l’échelle automatiquement de manière indépendante, ce qui vous évite de surprovisionner le stockage ou la capacité de calcul dans des configurations d’instance statiques.
  • Le stockage hiérarchisé sur stockage objet et la mise en cache multiniveau offrent une évolutivité pratiquement illimitée et un bon rapport prix-performances, ce qui vous évite de dimensionner votre capacité de stockage à l’avance et de vous soucier de coûts de stockage élevés.
  • La haute disponibilité est activée par défaut et la réplication est gérée de manière transparente, ce qui vous permet de vous concentrer sur le développement de vos applications ou l’analyse de vos données.
  • La mise à l’échelle automatique pour les charges de travail continues et variables est activée par défaut, ce qui vous évite de dimensionner votre service à l’avance, d’augmenter la capacité de vos serveurs lorsque votre charge de travail augmente, ou de réduire manuellement leur capacité lorsque l’activité diminue
  • La mise en veille transparente pour les charges de travail intermittentes est activée par défaut. Nous mettons automatiquement en pause vos ressources de calcul après une période d’inactivité et les redémarrons de manière transparente lorsqu’une nouvelle requête arrive, ce qui vous évite de payer pour des ressources inactives.
  • Les contrôles avancés de mise à l’échelle permettent de définir un maximum d’auto-scaling pour mieux maîtriser les coûts, ou un minimum d’auto-scaling afin de réserver des ressources de calcul pour les applications ayant des exigences de performance spécifiques.

Fonctionnalités

ClickHouse Cloud donne accès à un ensemble sélectionné de fonctionnalités de la version open source de ClickHouse. Les tableaux ci-dessous décrivent certaines fonctionnalités actuellement désactivées dans ClickHouse Cloud.

Moteurs de base de données et moteurs de table

ClickHouse Cloud est, par défaut, un service à haute disponibilité et répliqué, basé sur la famille de moteurs de table SharedMergeTree. Lorsque vous créez une table avec un moteur standard de la famille MergeTree, Cloud le remplace automatiquement par le moteur Shared* correspondant. Vous n’avez pas à ajouter vous-même le préfixe Shared ou Replicated.

Vous indiquez Cloud utilise
MergeTree (ou aucun moteur) SharedMergeTree
ReplacingMergeTree SharedReplacingMergeTree
SummingMergeTree SharedSummingMergeTree
AggregatingMergeTree SharedAggregatingMergeTree
CollapsingMergeTree SharedCollapsingMergeTree
VersionedCollapsingMergeTree SharedVersionedCollapsingMergeTree
GraphiteMergeTree SharedGraphiteMergeTree

Les moteurs Replicated* sont convertis en leurs équivalents Shared*. Cette substitution est visible dans SHOW CREATE TABLE, qui affiche le moteur Shared* même si votre instruction spécifiait la variante non préfixée.

Les moteurs de table suivants sont également pris en charge et utilisés tels quels. Le moteur de table MySQL pris en charge est distinct du moteur de base de données MySQL non pris en charge :

  • URL
  • View
  • MaterializedView
  • GenerateRandom
  • Null
  • Buffer
  • Memory
  • IcebergS3 et IcebergAzure
  • Deltalake
  • Hudi
  • MySQL
  • MongoDB
  • NATS
  • RabbitMQ
  • PostgreSQL
  • S3
  • Kafka

Les moteurs de table expérimentaux PaimonS3 et PaimonAzure peuvent être activés sur certains services ClickHouse Cloud. Contactez le Support pour confirmer leur disponibilité.

Interfaces

ClickHouse Cloud prend en charge HTTPS, les interfaces natives et le MySQL wire protocol. D’autres interfaces, comme Postgres, seront bientôt prises en charge.

Dictionaries

Les dictionnaires sont un moyen courant d’accélérer les recherches dans ClickHouse. ClickHouse Cloud prend actuellement en charge les dictionnaires issus de PostgreSQL, MySQL, de serveurs ClickHouse distants et locaux, de Redis, de MongoDB et de sources HTTP.

Requêtes fédérées

Nous prenons en charge les requêtes fédérées ClickHouse pour la communication entre clusters dans le cloud, ainsi que pour la communication avec des clusters ClickHouse externes autogérés. ClickHouse Cloud prend actuellement en charge les requêtes fédérées à l’aide des moteurs d’intégration suivants :

  • IcebergS3 et IcebergAzure
  • PaimonS3 et PaimonAzure (expérimental ; contactez le Support pour connaître la disponibilité)
  • Deltalake
  • Hudi
  • MySQL
  • MongoDB
  • NATS
  • RabbitMQ
  • PostgreSQL
  • S3

Les requêtes fédérées avec certains moteurs de base de données et moteurs de table externes, comme SQLite, ODBC, JDBC, Redis, HDFS et Hive, ne sont pas encore prises en charge.

Fonctions définies par l’utilisateur

Les fonctions définies par l’utilisateur dans ClickHouse Cloud sont actuellement en bêta publique.

Comportement des paramètres

Cela signifie :

  • Les paramètres de session (définis via l'instruction SET) ne sont pas transmis au contexte d'exécution des UDFs
  • Les paramètres du profil utilisateur ne sont pas hérités par les UDFs
  • Les paramètres définis au niveau de la requête ne s'appliquent pas lors de l'exécution des UDFs

Fonctionnalités expérimentales

Les fonctionnalités expérimentales sont désactivées dans les services ClickHouse Cloud afin de garantir la stabilité des déploiements de services.

Collections nommées

Les collections nommées créées avec DDL peuvent être activées sur certains services ClickHouse Cloud. Contactez le Support pour confirmer leur disponibilité. Les collections nommées définies dans des fichiers de configuration ne sont pas disponibles, car les utilisateurs ne peuvent pas modifier les fichiers de configuration du serveur dans ClickHouse Cloud.

Valeurs par défaut et considérations opérationnelles

Voici les paramètres par défaut des services ClickHouse Cloud. Dans certains cas, ces paramètres sont définis de manière fixe afin de garantir le bon fonctionnement du service ; dans d’autres, ils peuvent être ajustés.

Limites opérationnelles

max_parts_in_total: 10,000

La valeur par défaut du paramètre max_parts_in_total pour les tables MergeTree a été abaissée de 100 000 à 10 000. Cette modification s’explique par le fait que nous avons observé qu’un grand nombre de data parts peut entraîner un démarrage lent des services dans le cloud. Un grand nombre de parts indique généralement une clé de partitionnement trop granulaire, généralement choisie par inadvertance et à éviter. Cette nouvelle valeur par défaut permettra de détecter ces cas plus tôt.

max_concurrent_queries: 1,000

Ce paramètre serveur a été augmenté de 100 à 1000 par rapport à la valeur par défaut afin de permettre davantage de requêtes concurrentes. Cela se traduit par nombre de répliques * 1,000 requêtes concurrentes pour un service. Un service à réplique unique prend en charge jusqu’à 1000 requêtes concurrentes, quel que soit le niveau. Les services à plusieurs répliques des niveaux Scale et Enterprise prennent en charge jusqu’à 1000 requêtes concurrentes par réplique.

max_table_size_to_drop: 1,000,000,000,000

Ce paramètre a été augmenté par rapport à 50 Go afin de permettre la suppression de tables/partitions jusqu’à 1 To.

Paramètres système

ClickHouse Cloud est optimisé pour des charges de travail variables ; c’est pourquoi la plupart des paramètres système ne sont pas configurables à l’heure actuelle. Nous ne pensons pas qu’il soit nécessaire d’ajuster les paramètres système pour la plupart des utilisateurs, mais si vous avez des questions sur le réglage avancé du système, veuillez contacter ClickHouse Cloud Support.

Administration avancée de la sécurité

Dans le cadre de la création du service ClickHouse, nous créons une base de données par défaut, ainsi que l'utilisateur par défaut, qui dispose d'autorisations étendues sur cette base de données. Cet utilisateur initial peut créer des utilisateurs supplémentaires et leur attribuer des autorisations sur cette base de données. En revanche, la possibilité d'activer dans la base de données les fonctionnalités de sécurité suivantes à l'aide de l'authentification Kerberos, LDAP ou par certificat SSL X.509 n'est pas prise en charge pour le moment.

Liste des fonctionnalités non prises en charge

Les tableaux suivants répertorient les fonctionnalités et procédures autogérées signalées comme non prises en charge dans ClickHouse Cloud. Chaque entrée précise la fonctionnalité non prise en charge, même lorsque la page source correspondante couvre également des fonctionnalités prises en charge.

Infrastructure et opérations gérées

Fonctionnalité non prise en charge Documentation
Déploiement et configuration autogérés de ClickHouse Keeper Guide Keeper, Connexions ZooKeeper sécurisées
Provisionnement manuel de certificats TLS et configuration du serveur Provisionnement ACME, Configuration TLS
Configuration manuelle des niveaux de stockage chaud/tiède/froid avec TTL Guide
Exécution de tests de performances matérielles autogérés Guide
Application des recommandations opérationnelles pour les déploiements autogérés Guide

Authentification et sécurité

Fonctionnalité non prise en charge Documentation
Authentification HTTP externe Référence
Authentification Kerberos externe Référence
Authentification LDAP et mappage des rôles Configuration, Authentificateur
Authentification par certificat X.509 Authentification des utilisateurs, Authentificateur HTTP externe

Interfaces et intégrations

Fonctionnalité non prise en charge Documentation
Interface du protocole PostgreSQL Référence
Interface SSH avec PTY Référence
Moteur de réplication MaterializedPostgreSQL Guide ClickPipes, Guide du connecteur, Moteur de base de données, Moteur de table
Moteur de table ODBC Référence
Intégration au stockage d'objets MinIO compatible S3 Guide
Intégration au stockage d'objets Tigris compatible S3 Guide

Moteurs de base de données et de tables

Fonctionnalité non prise en charge Documentation
Moteur de base de données MySQL Référence
Moteur de table EmbeddedRocksDB Référence
Moteur de table HDFS Référence
Moteur de table Hive Référence
Moteur de table JDBC Référence
Moteur de table Redis pour les requêtes fédérées Référence
Moteur de table SQLite Référence
Moteur de table TimeSeries Référence
Moteur de table YTsaurus Référence
Moteurs de table de la famille Log (Log, StripeLog et TinyLog) Présentation de la famille, Log, StripeLog, TinyLog

Dictionnaires et configuration du serveur

Fonctionnalité non prise en charge Documentation
Collections nommées et instructions CREATE NAMED COLLECTION et ALTER NAMED COLLECTION Vue d’ensemble, Créer, Modifier
Configuration des dictionnaires à partir d’un fichier Référence
Dictionnaires geobase intégrés Référence
Sources de dictionnaires YAMLRegExpTree locales Guide des layouts, Référence des sources
Source de dictionnaire YTsaurus Référence
Dictionnaires de tokenisation japonaise configurés sur le serveur Référence

Formats de données et codecs

Fonctionnalité non prise en charge Documentation
Format CapnProto utilisant des fichiers de schéma côté serveur Référence des formats, Guide
Formats Protobuf, ProtobufList et ProtobufSingle utilisant des fichiers de schéma côté serveur Guide, ProtobufList, ProtobufSingle
Codecs ZSTD_QAT et DEFLATE_QPL obsolètes ZSTD_QAT, DEFLATE_QPL

Fonctions et fonctionnalités expérimentales

Fonctionnalité non prise en charge Documentation
Fonctions expérimentales de traitement du langage naturel Référence
Transactions expérimentales multi-instructions avec commit et rollback Guide
Fonctions expérimentales d’introspection des transactions transactionID, transactionLatestSnapshot, transactionOldestSnapshot
Fonctions de fenêtre temporelle pour WindowView Référence
WindowView expérimental Référence
Fonctions définies par l’utilisateur en WebAssembly Vue d’ensemble, Guide
Fonctions définies par l’utilisateur exécutables pilotées par un driver Référence
Fonction de table filesystem sur des fichiers locaux au serveur Référence

Administration et contrôle d’accès

Fonctionnalité non prise en charge Documentation
Opérations sur les statistiques des colonnes avec ALTER TABLE Référence
Usurpation d’identité d’utilisateur avec EXECUTE AS Référence
Privilèges spécifiques aux moteurs de table GRANT, Paramètre du serveur
Raccourci pour le privilège GRANT ALL Référence
Arrêt du serveur avec SYSTEM SHUTDOWN Référence
Démarrage et arrêt des récupérations en arrière-plan avec des instructions SYSTEM SYSTEM STOP FETCHES, SYSTEM START FETCHES
Démarrage et arrêt des fusions en arrière-plan avec des instructions SYSTEM SYSTEM STOP MERGES, SYSTEM START MERGES
Démarrage et arrêt des fusions TTL en arrière-plan avec des instructions SYSTEM SYSTEM STOP TTL MERGES, SYSTEM START TTL MERGES

Feuille de route

Nous évaluons la demande pour de nombreuses autres fonctionnalités dans ClickHouse Cloud. Si vous avez des retours ou souhaitez demander une fonctionnalité spécifique, veuillez soumettre votre demande ici.

Navigation