Descripción general
MergeTree mediante S3BackedMergeTree. Este motor de tabla le permite aprovechar la escalabilidad y las ventajas de costo de S3, al tiempo que mantiene el rendimiento de inserción y consulta del engine MergeTree.
Tenga en cuenta que implementar y gestionar una arquitectura con separación de almacenamiento y cómputo es más complejo que los despliegues estándar de ClickHouse. Aunque ClickHouse autogestionado permite separar almacenamiento y cómputo, como se explica en esta guía, recomendamos usar ClickHouse Cloud, que le permite utilizar ClickHouse con esta arquitectura sin necesidad de configuración mediante el motor de tabla SharedMergeTree.
Esta guía asume que está usando ClickHouse versión 22.8 o superior.
1
Usar S3 como disco de ClickHouse
Crear un disco
Cree un nuevo archivo en el directorioconfig.d de ClickHouse para guardar la configuración de almacenamiento:BUCKET, ACCESS_KEY_ID y SECRET_ACCESS_KEY por los datos del bucket de AWS donde quieras almacenar tus datos:región o enviar una cabecera HTTP personalizada, puede consultar la lista de opciones de configuración pertinentes aquí.También puede reemplazar access_key_id y secret_access_key por lo siguiente, que intentará obtener credenciales de las variables de entorno y de los metadatos de Amazon EC2:2
Crear una tabla con respaldo en S3
Para comprobar que hemos configurado correctamente el disco S3, podemos intentar crear una tabla y hacer una consulta sobre ella.Cree una tabla especificando la nueva política de almacenamiento de S3:Tenga en cuenta que no fue necesario especificar el engine como Debería ver el siguiente resultado:Ahora, vamos a insertar algunas filas en nuestra nueva tabla:Verifiquemos que se hayan insertado nuestras filas:En la consola de AWS, si sus datos se insertaron correctamente en S3, debería ver que ClickHouse ha creado nuevos archivos en el bucket que especificó.Si todo funcionó correctamente, ahora está usando ClickHouse con almacenamiento y cómputo separados.
S3BackedMergeTree. ClickHouse convierte automáticamente el tipo de engine internamente si detecta que la tabla usa S3 como almacenamiento.Compruebe que la tabla se creó con la política correcta:3
Implementación de la replicación para tolerancia a fallos (opcional)
Para la tolerancia a fallos, puede usar varios nodos de servidor de ClickHouse distribuidos en varias regiones de AWS, con un bucket de S3 para cada nodo.La replicación con discos S3 se puede lograr usando el motor de tabla
ReplicatedMergeTree. Consulte la siguiente guía para obtener más detalles: