Vue d’ensemble
MergeTree via S3BackedMergeTree. Ce moteur de table vous permet de tirer parti de l’évolutivité et des avantages économiques de S3 tout en conservant les performances d’insertion et de requête du moteur MergeTree.
Veuillez noter que la mise en place et la gestion d’une architecture dissociant stockage et calcul sont plus complexes que celles de déploiements ClickHouse standard. Bien que ClickHouse autogéré permette de séparer le stockage et le calcul comme décrit dans ce guide, nous recommandons d’utiliser ClickHouse Cloud, qui vous permet d’exploiter cette architecture avec ClickHouse sans configuration grâce au moteur de table SharedMergeTree.
Ce guide suppose que vous utilisez ClickHouse version 22.8 ou ultérieure.
1
Utiliser S3 comme disque pour ClickHouse
Créer un disque
Créez un nouveau fichier dans le répertoireconfig.d de ClickHouse pour y stocker la configuration du stockage :BUCKET, ACCESS_KEY_ID et SECRET_ACCESS_KEY par les informations du bucket AWS dans lequel vous souhaitez stocker vos données :region ou envoyer un header HTTP personnalisé, vous trouverez la liste des paramètres correspondants ici.Vous pouvez également remplacer access_key_id et secret_access_key par ce qui suit, afin de tenter d’obtenir les identifiants à partir des variables d’environnement et des métadonnées Amazon EC2 :2
Créer une table basée sur S3
Pour vérifier que le disque S3 est correctement configuré, nous pouvons essayer de créer une table et de l’interroger.Créez une table en spécifiant la nouvelle politique de stockage S3 :Notez que nous n’avons pas eu besoin d’indiquer le moteur comme étant Vous devriez voir le résultat suivant :Insérons maintenant quelques lignes dans notre nouvelle table :Vérifions que nos lignes ont bien été insérées :Dans la console AWS, si vos données ont bien été insérées dans S3, vous devriez voir que ClickHouse a créé de nouveaux fichiers dans le bucket que vous avez spécifié.Si tout a fonctionné correctement, vous utilisez maintenant ClickHouse avec un stockage et un calcul séparés !
S3BackedMergeTree. ClickHouse convertit automatiquement le type de moteur en interne s’il détecte que la table utilise S3 pour le stockage.Vérifiez que la table a été créée avec la bonne policy :3
Mise en place de la réplication pour la tolérance aux pannes (facultatif)
Pour la tolérance aux pannes, vous pouvez utiliser plusieurs nœuds de serveur ClickHouse répartis sur plusieurs régions AWS, avec un bucket S3 pour chaque nœud.La réplication avec des disques S3 peut être réalisée à l’aide du moteur de table
ReplicatedMergeTree. Consultez le guide suivant pour plus de détails :