QUOTAS en ClickHouse CloudLas QUOTAS son compatibles con ClickHouse Cloud, pero deben crearse mediante la sintaxis DDL. El enfoque de configuración XML que se documenta a continuación no es compatible.
- Imponen restricciones sobre un conjunto de consultas que pueden ejecutarse durante un período de tiempo, en lugar de limitar una sola consulta.
- Contabilizan los recursos consumidos en todos los servidores remotos para el procesamiento distribuido de consultas.
queries – El número total de solicitudes.
query_selects – El número total de solicitudes SELECT.
query_inserts – El número total de solicitudes de inserción.
errors – El número de consultas que generaron una excepción.
result_rows – El número total de filas devueltas como resultado.
result_bytes - El tamaño total de las filas devueltas como resultado.
read_rows – El número total de filas de origen leídas de las tablas para ejecutar la consulta en todos los servidores remotos.
read_bytes - El tamaño total leído de las tablas para ejecutar la consulta en todos los servidores remotos.
written_bytes - El tamaño total de una operación de escritura.
execution_time – El tiempo total de ejecución de la consulta, en segundos (tiempo real transcurrido).
failed_sequential_authentications - El número total de errores de autenticación secuenciales.
queries_per_normalized_hash – El número máximo de ejecuciones de una misma consulta normalizada. Las consultas normalizadas son consultas en las que los literales se reemplazan por marcadores de posición, por lo que SELECT 1 y SELECT 2 se consideran la misma consulta normalizada. Este límite se controla de forma independiente para cada patrón de consulta normalizada distinto.
Si se supera el límite durante al menos un intervalo de tiempo, se lanza una excepción con un mensaje que indica qué restricción se ha superado, para qué intervalo y cuándo comienza el nuevo intervalo (cuándo se pueden volver a enviar consultas).
Las QUOTAS pueden usar la función de “clave de QUOTA” para hacer un seguimiento de los recursos de varias claves de forma independiente. Este es un ejemplo de ello:
<keyed_by_normalized_query_hash />:
SELECT number FROM numbers(1) y SELECT number FROM numbers(2) comparten el mismo bucket (porque tienen la misma forma normalizada), pero SELECT number, number FROM numbers(1) usa un bucket distinto.
La QUOTA se asigna a los usuarios en la sección ‘users’ de la configuración. Consulte la sección “Derechos de acceso”.
Para el procesamiento distribuido de consultas, las cantidades acumuladas se almacenan en el servidor que realiza la solicitud. Por lo tanto, si el usuario cambia a otro servidor, la QUOTA allí “volverá a empezar”.
Cuando se reinicia el servidor, las QUOTAS se restablecen.