Saltar al contenido principal
La tabla del sistema system.merge_tree_settings muestra los SETTINGS de MergeTree establecidos globalmente. Los SETTINGS de MergeTree pueden definirse en la sección merge_tree del archivo de configuración del servidor, o especificarse de forma individual para cada tabla MergeTree en la cláusula SETTINGS de la sentencia CREATE TABLE. Ejemplo de cómo personalizar el SETTING max_suspicious_broken_parts: Configure el valor predeterminado para todas las tablas MergeTree en el archivo de configuración del servidor:
<merge_tree>
    <max_suspicious_broken_parts>5</max_suspicious_broken_parts>
</merge_tree>
Definido para una tabla concreta:
CREATE TABLE tab
(
    `A` Int64
)
ENGINE = MergeTree
ORDER BY tuple()
SETTINGS max_suspicious_broken_parts = 500;
Cambie los SETTINGS de una tabla específica con ALTER TABLE ... MODIFY SETTING:
ALTER TABLE tab MODIFY SETTING max_suspicious_broken_parts = 100;

-- restablecer al valor predeterminado global (valor de system.merge_tree_settings)
ALTER TABLE tab RESET SETTING max_suspicious_broken_parts;

SETTINGS de MergeTree

adaptive_write_buffer_initial_size

Tamaño inicial del búfer de escritura adaptativo

add_implicit_sign_column_constraint_for_collapsing_engine

Si es true, añade una restricción implícita para la columna sign de una tabla CollapsingMergeTree o VersionedCollapsingMergeTree, de modo que solo se permitan valores válidos (1 y -1).

add_minmax_index_for_block_number_column

Cuando está habilitada, se añade un índice min-max implícito (de omisión) para la columna virtual persistente _block_number. Requiere enable_block_number_column = 1 para surtir efecto. El índice se crea solo durante las fusiones, no durante las inserciones: en el momento de la inserción, el número de bloque es provisional e indexaría un valor constante.

add_minmax_index_for_block_offset_column

Cuando se habilita, se añade un índice min-max implícito (omisión) para la columna virtual persistente _block_offset. Requiere enable_block_offset_column = 1 para surtir efecto. El índice se crea solo durante las fusiones, no durante las inserciones.

add_minmax_index_for_numeric_columns

Cuando está activada, se añaden índices min-max (de omisión) a todas las columnas numéricas de la tabla.

add_minmax_index_for_string_columns

Cuando está habilitada, se añaden índices min-max (de omisión) para todas las columnas de cadena de la tabla.

add_minmax_index_for_temporal_columns

Cuando está activada, se añaden índices min-max de omisión para todas las columnas Date, Date32, Time, Time64, DateTime y DateTime64 de la tabla

allow_coalescing_columns_in_partition_or_order_key

Cuando está habilitado, permite usar columnas de coalescencia en una tabla CoalescingMergeTree en la partición o en la clave de ordenación.

allow_commit_order_projection

Habilita las proyecciones con orden de commit que almacenan las columnas virtuales _block_number y _block_offset, preservando el orden de inserción original durante las fusiones. Requiere que enable_block_number_column y enable_block_offset_column estén habilitadas.

allow_experimental_replacing_merge_with_cleanup

Permite fusiones CLEANUP experimentales para ReplacingMergeTree con la columna is_deleted. Cuando está habilitado, permite usar OPTIMIZE ... FINAL CLEANUP para fusionar manualmente todas las partes de una partición en una sola parte y eliminar las filas marcadas como eliminadas. También permite habilitar que estas fusiones se realicen automáticamente en segundo plano con las configuraciones min_age_to_force_merge_seconds, min_age_to_force_merge_on_partition_only y enable_replacing_merge_with_cleanup_for_min_age_to_force_merge.

allow_experimental_reverse_key

Habilita la compatibilidad con el orden descendente en las claves de ordenación de MergeTree. Esta configuración es especialmente útil para el análisis de series temporales y las consultas Top-N, ya que permite almacenar los datos en orden cronológico inverso para optimizar el rendimiento de las consultas. Con allow_experimental_reverse_key habilitado, puede definir órdenes descendentes dentro de la cláusula ORDER BY de una tabla MergeTree. Esto permite usar optimizaciones ReadInOrder más eficientes en lugar de ReadInReverseOrder para consultas descendentes. Ejemplo
CREATE TABLE example
(
time DateTime,
key Int32,
value String
) ENGINE = MergeTree
ORDER BY (time DESC, key)  -- Orden descendente en el campo 'time'
SETTINGS allow_experimental_reverse_key = 1;

SELECT * FROM example WHERE key = 'xxx' ORDER BY time DESC LIMIT 10;
Al usar ORDER BY time DESC en la consulta, se aplica ReadInOrder. Valor predeterminado: false

allow_floating_point_partition_key

Permite usar un número de coma flotante como clave de partición. Valores posibles:
  • 0 — No se permite una clave de partición de coma flotante.
  • 1 — Se permite una clave de partición de coma flotante.

allow_nullable_key

Permite tipos Nullable como claves primarias.

allow_part_offset_column_in_projections

Permite usar la columna ‘_part_offset’ en la consulta SELECT de las proyecciones.

allow_reduce_blocking_parts_task

Tarea en segundo plano que reduce las partes bloqueantes en las tablas shared merge tree. Solo en ClickHouse Cloud

allow_remote_fs_zero_copy_replication

No use esta configuración en producción, ya que no está lista.

allow_summing_columns_in_partition_or_order_key

Cuando está habilitada, permite que las columnas sumadas de una tabla SummingMergeTree se usen en la partición o en la clave de ordenación.

allow_suspicious_indices

Rechaza índices primarios/secundarios y claves de ordenación con la misma expresión

allow_vertical_merges_from_compact_to_wide_parts

Permite las fusiones verticales de partes compactas a anchas. Esta configuración debe tener el mismo valor en todas las réplicas.

alter_column_secondary_index_mode

Configura si se permiten los comandos ALTER que modifican columnas cubiertas por índices secundarios y qué acción debe tomarse si se permiten. De forma predeterminada, estos comandos ALTER están permitidos y los índices se reconstruyen. Valores posibles:
  • rebuild (predeterminado): Reconstruye cualquier índice secundario afectado por la columna en el comando ALTER.
  • throw: Impide cualquier ALTER de columnas cubiertas por índices secundarios explícitos lanzando una excepción. Los índices implícitos quedan excluidos de esta restricción y se reconstruirán.
  • drop: Elimina los índices secundarios dependientes. Las partes nuevas no tendrán los índices, por lo que será necesario MATERIALIZE INDEX para volver a crearlos.
  • compatibility: Mantiene el comportamiento original: throw en ALTER ... MODIFY COLUMN y rebuild en ALTER ... UPDATE/DELETE.
  • ignore: Pensado para uso experto. Dejará los índices en un estado inconsistente, lo que puede dar lugar a resultados de consulta incorrectos.

always_fetch_merged_part

Si es true, esta réplica nunca realiza fusiones de partes y siempre descarga partes fusionadas de otras réplicas. Valores posibles:
  • true, false
Copie siempre los datos en lugar de usar enlaces duros durante operaciones de mutation/replace/detach y así sucesivamente.

apply_patches_on_merge

Si es true, las partes de parche se aplican durante las fusiones

assign_part_uuids

Cuando está habilitado, se asignará un identificador único a cada parte nueva. Antes de habilitarlo, compruebe que todas las réplicas admitan la versión 4 de UUID.

async_block_ids_cache_update_wait_ms

Cuánto tiempo esperará cada iteración de insert a que se actualice async_block_ids_cache

async_insert

Si es true, los datos de la consulta INSERT se almacenan en una cola y luego se escriben en la tabla en segundo plano.

auto_statistics_types

Lista separada por comas de los tipos de estadísticas que se calcularán automáticamente en todas las columnas adecuadas. Tipos de estadísticas compatibles: tdigest, countmin, minmax, nullcount, uniq.

background_task_preferred_step_execution_time_ms

Tiempo objetivo de ejecución de un paso de fusión o mutation. Puede superarse si un paso tarda más

cache_populated_by_fetch

Esta SETTING se aplica únicamente a ClickHouse Cloud.
Cuando cache_populated_by_fetch está deshabilitada (SETTING predeterminada), las nuevas partes de datos se cargan en la caché del sistema de archivos solo cuando se ejecuta una consulta que requiere esas partes. Si está habilitada, cache_populated_by_fetch hace que todos los nodos carguen las nuevas partes de datos desde el almacenamiento en su caché del sistema de archivos, sin necesidad de que una consulta desencadene esa acción. Véase también

cache_populated_by_fetch_filename_regexp

Esta SETTING se aplica solo a ClickHouse Cloud.
Si no está vacío, solo se precargarán en la caché, después de la operación fetch, los archivos que coincidan con esta expresión regular (si cache_populated_by_fetch está habilitado).

check_delay_period

SETTING obsoleta, no tiene ningún efecto.

check_sample_column_is_correct

Habilita la comprobación, al crear la tabla, de que el tipo de dato de una columna para el m uestreo o de la expresión de muestreo sea correcto. El tipo de dato debe ser uno de los tipos de enteros sin signo: UInt8, UInt16, UInt32, UInt64. Valores posibles:
  • true — La comprobación está habilitada.
  • false — La comprobación se deshabilita al crear la tabla.
Valor predeterminado: true. De forma predeterminada, el servidor de ClickHouse comprueba, al crear la tabla, el tipo de dato de una columna para el muestreo o de la expresión de muestreo. Si ya tiene tablas con una expresión de muestreo incorrecta y no quiere que el servidor genere una excepción durante el inicio, establezca check_sample_column_is_correct en false.

clean_deleted_rows

SETTING obsoleta; no tiene efecto.

cleanup_delay_period

Período mínimo para limpiar logs antiguos de la cola, hash de bloques y partes.

cleanup_delay_period_random_add

Añade a cleanup_delay_period un valor distribuido uniformemente entre 0 y x segundos para evitar el efecto de estampida y el posterior DoS de ZooKeeper en caso de haber un número muy elevado de tablas.

cleanup_thread_preferred_points_per_iteration

Tamaño de Batch preferido para la limpieza en segundo plano (los puntos son abstractos, pero 1 punto equivale aproximadamente a 1 bloque insertado).

cleanup_threads

SETTING obsoleta, no tiene ningún efecto.

clone_replica_zookeeper_create_get_part_batch_size

Tamaño del lote para las solicitudes get-part de creación múltiple en ZooKeeper al clonar una réplica.

columns_and_secondary_indices_sizes_lazy_calculation

Calcula de forma diferida los tamaños de las columnas y de los índices secundarios en la primera solicitud en lugar de hacerlo durante la inicialización de la tabla.

columns_to_prewarm_mark_cache

Lista de columnas para precalentar la caché de marcas (si está habilitada). Si está vacío, significa todas las columnas

compact_parts_max_bytes_to_buffer

Solo disponible en ClickHouse Cloud. Número máximo de bytes que se pueden escribir en una sola franja en partes compactas

compact_parts_max_granules_to_buffer

Solo disponible en ClickHouse Cloud. Número máximo de gránulos que se pueden escribir en una sola stripe de partes compactas

compact_parts_merge_max_bytes_to_prefetch_part

Solo disponible en ClickHouse Cloud. Tamaño máximo de una parte compacta para leerla completa en memoria durante la fusión.

compatibility_allow_sampling_expression_not_in_primary_key

Permite crear una tabla con una expresión de muestreo que no forme parte de la clave primaria. Esto solo es necesario para permitir temporalmente la ejecución del servidor con tablas incorrectas por compatibilidad con versiones anteriores.

compress_marks

Las marcas admiten compresión, lo que reduce el tamaño del archivo de marcas y acelera la transmisión por la red.

compress_per_column_in_compact_parts

Controla la disposición física de las partes compactas. Si es true (valor predeterminado), cada columna de un gránulo inicia un nuevo bloque comprimido, lo que permite a ClickHouse omitir la lectura de columnas innecesarias desde disco. Si es false, todas las columnas de un gránulo se empaquetan en el mismo bloque comprimido, lo que mejora la relación de compresión, pero requiere descomprimir más datos durante la lectura. Esto resulta beneficioso para cargas de trabajo que siempre leen todas las columnas (p. ej., proyecciones).

compress_primary_key

La clave primaria admite compresión, lo que reduce el tamaño del archivo de la clave primaria y acelera la transmisión por la red.

concurrent_part_removal_threshold

Activa la eliminación concurrente de partes (consulta max_part_removal_threads) solo si el número de partes de datos inactivas es al menos este valor.

concurrent_part_removal_threshold_for_remote_disk

Igual que concurrent_part_removal_threshold, pero se usa cuando al menos una de las partes que se van a eliminar está almacenada en un disco remoto. El valor predeterminado es más bajo porque cada eliminación de una parte en almacenamiento remoto normalmente requiere una ida y vuelta por la red (por ejemplo, un DELETE HTTP por parte en el almacenamiento de objetos), por lo que una eliminación en serie de tan solo 100 partes puede bloquear un DROP TABLE durante decenas de segundos.

deduplicate_merge_projection_mode

Indica si se permite crear una proyección para una table con un MergeTree no clásico, es decir, que no sea (Replicated, Shared) MergeTree. La opción ignore es solo por compatibilidad y puede dar lugar a respuestas incorrectas. En caso de que se permita, define qué acción realizar al fusionar projections: drop o rebuild. Por tanto, el MergeTree clásico ignorará esta configuración. También controla OPTIMIZE DEDUPLICATE, pero surte efecto en todos los miembros de la familia MergeTree. Al igual que la opción lightweight_mutation_projection_mode, también es a nivel de part. Valores posibles:
  • ignore
  • throw
  • drop
  • rebuild

default_compression_codec

Especifica el códec de compresión predeterminado que se utilizará si no se define ninguno para una columna concreta en la declaración de la tabla. Orden de selección del códec de compresión para una columna:
  1. Códec de compresión definido para la columna en la declaración de la tabla
  2. Códec de compresión definido en default_compression_codec (esta configuración)
  3. Códec de compresión predeterminado definido en la configuración compression Valor predeterminado: una cadena vacía (sin definir).

detach_not_byte_identical_parts

Habilita o deshabilita el desacoplamiento de una parte de datos en una réplica después de una fusión o una mutación, si no es idéntica byte por byte a las partes de datos de otras réplicas. Si está deshabilitada, la parte de datos se elimina. Active esta configuración si desea analizar esas partes más adelante. La configuración es aplicable a las tablas MergeTree con replicación de datos habilitada. Valores posibles:
  • 0 — Las partes se eliminan.
  • 1 — Las partes se desacoplan.

detach_old_local_parts_when_cloning_replica

No elimina las partes locales antiguas al reparar una réplica perdida. Valores posibles:
  • true
  • false

disable_detach_partition_for_zero_copy_replication

Deshabilita la consulta DETACH PARTITION para la replicación sin copia.

disable_fetch_partition_for_zero_copy_replication

Deshabilita la consulta FETCH PARTITION para la replicación sin copia.

disable_freeze_partition_for_zero_copy_replication

Deshabilita la consulta FREEZE PARTITION en la replicación sin copia.

disco

Nombre del disco de almacenamiento. Puede especificarse en lugar de una política de almacenamiento.

distributed_index_analysis_min_indexes_bytes_to_activate

Tamaños mínimos de los índices (de omisión de datos y de clave primaria) en disco (sin comprimir) para activar el análisis distribuido de índices

distributed_index_analysis_min_parts_to_activate

Número mínimo de partes para activar el análisis distribuido de índices

dynamic_serialization_version

Versión de serialización para el tipo de datos Dynamic. Necesaria para la compatibilidad. Valores posibles:
  • v1
  • v2
  • v3

enable_block_number_column

Habilita el almacenamiento de la columna _block_number para cada fila.

enable_block_offset_column

Guarda la columna virtual _block_offset durante las fusiones.

enable_index_granularity_compression

Comprime los valores en memoria de la granularidad del índice, si es posible

enable_max_bytes_limit_for_min_age_to_force_merge

Si las SETTINGS min_age_to_force_merge_seconds y min_age_to_force_merge_on_partition_only deben respetar la SETTING max_bytes_to_merge_at_max_space_in_pool. Valores posibles:
  • true
  • false

enable_mixed_granularity_parts

Habilita o deshabilita la transición al control del tamaño del gránulo mediante la configuración index_granularity_bytes. Antes de la versión 19.11, solo existía la configuración index_granularity para restringir el tamaño del gránulo. La configuración index_granularity_bytes mejora el rendimiento de ClickHouse al seleccionar datos de tablas con filas grandes (decenas o cientos de megabytes). Si tiene tablas con filas grandes, puede habilitar esta configuración en ellas para mejorar la eficiencia de las consultas SELECT.

enable_replacing_merge_with_cleanup_for_min_age_to_force_merge

Indica si se deben usar fusiones CLEANUP para ReplacingMergeTree al fusionar particiones hasta reducirlas a una sola parte. Requiere que allow_experimental_replacing_merge_with_cleanup, min_age_to_force_merge_seconds y min_age_to_force_merge_on_partition_only estén habilitados. Valores posibles:
  • true
  • false

enable_the_endpoint_id_with_zookeeper_name_prefix

Habilita el ID del endpoint con el prefijo de nombre de ZooKeeper para la tabla MergeTree replicada.

enable_vertical_merge_algorithm

Activa el uso del algoritmo de fusión vertical.

enforce_index_structure_match_on_partition_manipulation

Si esta SETTING está habilitada para la tabla de destino de una consulta de manipulación de particiones (ATTACH/MOVE/REPLACE PARTITION), los índices y las proyecciones deben ser idénticos entre la tabla de origen y la de destino. De lo contrario, la tabla de destino puede tener un conjunto de índices y proyecciones que sea un superconjunto del de la tabla de origen.

escape_index_filenames

Antes de la versión 26.1, no escapábamos los símbolos especiales en los nombres de archivo creados para índices secundarios, lo que podía provocar problemas, ya que algunos caracteres en los nombres de los índices podían generar partes dañadas. Esto se añade únicamente por motivos de compatibilidad. No debe cambiarse a menos que esté leyendo partes antiguas con índices que usan caracteres no ASCII en sus nombres.

escape_variant_subcolumn_filenames

Escapar los símbolos especiales en los nombres de archivo creados para las subcolumnas del tipo de datos Variant en partes Wide de la tabla MergeTree. Necesario para mantener la compatibilidad.

exclude_deleted_rows_for_part_size_in_merge

Si está habilitada, al seleccionar las partes que se van a fusionar se usará el tamaño real estimado de las partes de datos (es decir, excluyendo las filas que se hayan eliminado mediante DELETE FROM). Tenga en cuenta que este comportamiento solo se activa para las partes de datos afectadas por DELETE FROM ejecutado después de habilitar esta configuración. Valores posibles:
  • true
  • false
Véase también

exclude_materialize_skip_indexes_on_merge

Excluye la lista proporcionada de índices de omisión, delimitada por comas, para que no se creen ni se almacenen durante las fusiones. No tiene efecto si materialize_skip_indexes_on_merge es false. Los índices de omisión excluidos seguirán creándose y almacenándose mediante una consulta MATERIALIZE INDEX explícita o durante los INSERT, según la configuración de sesión materialize_skip_indexes_on_insert. Ejemplo:
CREATE TABLE tab
(
a UInt64,
b UInt64,
INDEX idx_a a TYPE minmax,
INDEX idx_b b TYPE set(3)
)
ENGINE = MergeTree ORDER BY tuple() SETTINGS exclude_materialize_skip_indexes_on_merge = 'idx_a';

INSERT INTO tab SELECT number, number / 50 FROM numbers(100); -- la configuración no tiene efecto en los INSERTs

-- idx_a será excluido de la actualización durante una fusión en segundo plano o explícita mediante OPTIMIZE TABLE FINAL

-- se pueden excluir múltiples índices proporcionando una lista
ALTER TABLE tab MODIFY SETTING exclude_materialize_skip_indexes_on_merge = 'idx_a, idx_b';

-- configuración predeterminada, ningún índice excluido de actualizarse durante la fusión
ALTER TABLE tab MODIFY SETTING exclude_materialize_skip_indexes_on_merge = '';

execute_merges_on_single_replica_time_threshold

Cuando esta SETTING tiene un valor mayor que cero, solo una réplica inicia la fusión de inmediato, y las demás esperan hasta ese tiempo para descargar el resultado en lugar de realizar las fusiones localmente. Si la réplica elegida no termina la fusión dentro de ese plazo, se aplica el comportamiento estándar. Valores posibles:
  • Cualquier entero positivo.

fault_probability_after_part_commit

Para pruebas. No lo modifique.

fault_probability_before_part_commit

Solo para pruebas. No lo cambie.

finished_mutations_to_keep

Cuántos registros sobre mutaciones ya realizadas se deben conservar. Si es cero, se conservan todos.

force_read_through_cache_for_merges

Forzar la lectura mediante la caché del sistema de archivos para las fusiones

fsync_after_insert

Ejecuta fsync en cada parte insertada. Reduce significativamente el rendimiento de las inserciones; no se recomienda usarlo con partes wide.

fsync_part_directory

Realiza fsync en el directorio de la parte después de todas las operaciones de la parte (escrituras, renombrados, etc.).

in_memory_parts_enable_wal

SETTING obsoleta; no tiene ningún efecto.

in_memory_parts_insert_sync

SETTING obsoleta; no tiene efecto.

inactive_parts_to_delay_insert

Si el número de partes inactivas en una sola partición de la tabla supera el valor de inactive_parts_to_delay_insert, la operación INSERT se ralentiza artificialmente.
Esto es útil cuando el servidor no consigue limpiar las partes con la suficiente rapidez.
Valores posibles:
  • Cualquier entero positivo.

inactive_parts_to_throw_insert

Si el número de partes inactivas en una sola partición supera el valor de inactive_parts_to_throw_insert, INSERT se interrumpe con el siguiente error:
“Demasiadas partes inactivas (N). La limpieza de partes se está realizando de forma significativamente más lenta que los inserts” exception.”
Valores posibles:
  • Cualquier entero positivo.

index_granularity

Número máximo de filas de datos entre las marcas de un índice; es decir, cuántas filas corresponden a un valor de clave primaria.

index_granularity_bytes

Tamaño máximo de los gránulos de datos, en bytes. Para restringir el tamaño del gránulo únicamente por el número de filas, establézcalo en 0 (no recomendado).

initialization_retry_period

Período de reintento para la inicialización de la tabla, en segundos.

kill_delay_period

Configuración obsoleta; no tiene efecto.

kill_delay_period_random_add

Configuración obsoleta; no tiene ningún efecto.

kill_threads

Configuración obsoleta; no tiene ningún efecto.

lightweight_mutation_projection_mode

De forma predeterminada, la eliminación ligera DELETE no funciona en tablas con proyecciones. Esto se debe a que una operación DELETE puede afectar a las filas de una proyección. Por lo tanto, el valor predeterminado es throw. Sin embargo, esta opción puede cambiar ese comportamiento. Con el valor drop o rebuild, las eliminaciones funcionarán con proyecciones. drop eliminaría la proyección, por lo que podría ser rápido en la consulta actual, ya que la proyección se elimina, pero lento en consultas futuras, ya que no habría ninguna proyección adjunta. rebuild reconstruiría la proyección, lo que podría afectar al rendimiento de la consulta actual, pero podría acelerar las consultas futuras. Lo bueno es que estas opciones solo funcionarían a nivel de parte, lo que significa que las proyecciones de la parte que no se vean afectadas permanecerían intactas en lugar de desencadenar alguna acción como drop o rebuild. Valores posibles:
  • throw
  • drop
  • rebuild

load_existing_rows_count_for_old_parts

Si se habilita junto con exclude_deleted_rows_for_part_size_in_merge, el recuento de filas eliminadas de las partes de datos existentes se calculará durante el inicio de la tabla. Tenga en cuenta que esto puede ralentizar la carga de la tabla durante el inicio. Valores posibles:
  • true
  • false
Consulte también

lock_acquire_timeout_for_background_operations

Para operaciones en segundo plano como merges, mutaciones, etc. Indica cuántos segundos se espera antes de que falle la adquisición de bloqueos de tabla.

map_buckets_coefficient

El coeficiente utilizado en map_buckets_strategy sqrt y linear para calcular el número de buckets a partir del tamaño promedio del Map. Para la estrategia sqrt: round(map_buckets_coefficient * sqrt(avg_map_size)). Para la estrategia linear: round(map_buckets_coefficient * avg_map_size). Se ignora cuando map_buckets_strategy es constant.

map_buckets_min_avg_size

El tamaño promedio mínimo de los Map (número de claves por fila) necesario para aplicar la serialización with_buckets. Si el tamaño promedio de los Map es inferior a este valor, se usa un único bucket independientemente de las demás configuraciones de bucket. Un valor de 0 desactiva el umbral y siempre aplica la estrategia de segmentación en buckets. Esta configuración es útil para evitar la sobrecarga de la serialización en buckets en Map pequeños, donde el beneficio es insignificante.

map_buckets_strategy

Controla la estrategia para seleccionar el número de buckets en la serialización with_buckets de Map según el tamaño promedio del mapa. Valores posibles:
  • constant — Usa siempre max_buckets_in_map como número de buckets, independientemente del tamaño promedio del mapa.
  • sqrt — Usa round(map_buckets_coefficient * sqrt(avg_map_size)) como número de buckets, limitado al intervalo [1, max_buckets_in_map].
  • linear — Usa round(map_buckets_coefficient * avg_map_size) como número de buckets, limitado al intervalo [1, max_buckets_in_map].

map_serialization_version

Controla el método de serialización usado para las columnas Map. Valores posibles:
  • basic — Usa la serialización estándar de Map.
  • with_buckets — Divide las claves en buckets durante la serialización. El uso de buckets mejora la lectura de claves individuales de Map.
El número de buckets en la serialización with_buckets viene determinado por max_buckets_in_map y map_buckets_strategy.

map_serialization_version_for_zero_level_parts

Esta configuración permite especificar una versión de serialización distinta de las columnas Map para las partes de nivel cero que se crean durante las inserciones. Puede ser útil mantener la serialización basic en las partes de nivel cero para evitar una degradación del rendimiento durante las inserciones, mientras se usa with_buckets en las partes fusionadas.

marks_compress_block_size

Tamaño del bloque de compresión de las marcas; es el tamaño real del bloque que se va a comprimir.

marks_compression_codec

Codificación de compresión usada por las marks; como las marks son lo bastante pequeñas y están en caché, la compresión predeterminada es ZSTD(3).

materialize_skip_indexes_on_merge

Si esta opción está habilitada, las fusiones crean y almacenan índices de omisión para las partes nuevas. De lo contrario, pueden crearse o almacenarse mediante MATERIALIZE INDEX o durante los INSERTs. Véase también exclude_materialize_skip_indexes_on_merge para un control más preciso.

materialize_statistics_on_merge

Si está habilitada, las fusiones generarán y almacenarán estadísticas para las nuevas partes. De lo contrario, pueden crearse/almacenarse mediante MATERIALIZE STATISTICS o durante los INSERTs

materialize_ttl_recalculate_only

Recalcula la información de TTL solo al ejecutar MATERIALIZE TTL

max_avg_part_size_for_too_many_parts

La comprobación de ‘too many parts’ según ‘parts_to_delay_insert’ y ‘parts_to_throw_insert’ solo estará activa si el tamaño medio de las partes (en la partición correspondiente) no supera el umbral especificado. Si lo supera, los INSERTs no se retrasarán ni se rechazarán. Esto permite tener cientos de terabytes en una sola tabla en un único servidor si las partes se fusionan correctamente en partes más grandes. Esto no afecta a los umbrales de las partes inactivas ni al número total de partes.

max_buckets_in_map

El número máximo de buckets para la serialización Map. Se aplica a la serialización Map with_buckets. El número real de buckets lo determina map_buckets_strategy. El valor máximo permitido es 256.

max_bytes_to_merge_at_max_space_in_pool

El tamaño total máximo de las partes (en bytes) que se fusionarán en una sola parte, si hay suficientes recursos disponibles. Corresponde aproximadamente al tamaño máximo posible de la parte creada por una fusión automática en segundo plano. (0 significa que las fusiones se desactivarán) Valores posibles:
  • Cualquier entero no negativo.
El planificador de fusiones analiza periódicamente los tamaños y la cantidad de partes en las particiones y, si hay suficientes recursos libres en el pool, inicia fusiones en segundo plano. Las fusiones continúan hasta que el tamaño total de las partes de origen es mayor que max_bytes_to_merge_at_max_space_in_pool. Las fusiones iniciadas por OPTIMIZE FINAL ignoran max_bytes_to_merge_at_max_space_in_pool (solo se tiene en cuenta el espacio libre en disco).

max_bytes_to_merge_at_min_space_in_pool

El tamaño total máximo de las partes (en bytes) que se fusionarán en una sola parte, con los recursos mínimos disponibles en el background pool. Valores posibles:
  • Cualquier entero positivo.
max_bytes_to_merge_at_min_space_in_pool define el tamaño total máximo de las partes que pueden fusionarse a pesar de la falta de espacio disponible en disco (en el pool). Esto es necesario para reducir el número de partes pequeñas y la probabilidad de errores Too many parts. Las fusiones reservan espacio en disco duplicando el tamaño total de las partes fusionadas. Por lo tanto, con una cantidad reducida de espacio libre en disco, puede darse una situación en la que haya espacio libre, pero ese espacio ya esté reservado por grandes fusiones en curso, por lo que otras fusiones no pueden iniciarse y el número de partes pequeñas aumenta con cada inserción.

max_cleanup_delay_period

Período máximo para limpiar los logs antiguos de la cola, los hash de bloques y las partes.

max_compress_block_size

El tamaño máximo de los bloques de datos no comprimidos antes de comprimirlos para escribirlos en una tabla. También puede especificar esta configuración en la configuración global (consulte la configuración max_compress_block_size ). El valor especificado al crear la tabla sobrescribe el valor global de esta configuración.

max_concurrent_queries

Número máximo de consultas ejecutadas de forma simultánea relacionadas con la tabla MergeTree. Las consultas seguirán estando limitadas por otras opciones de configuración de max_concurrent_queries. Valores posibles:
  • Entero positivo.
  • 0 — Sin límite.
Valor predeterminado: 0 (sin límite). Ejemplo
<max_concurrent_queries>50</max_concurrent_queries>

max_delay_to_insert

Valor en segundos que se utiliza para calcular el retraso de INSERT si el número de partes activas en una sola partición supera el valor de parts_to_delay_insert. Valores posibles:
  • Cualquier entero positivo.
El retraso (en milisegundos) de INSERT se calcula con la fórmula:
max_k = parts_to_throw_insert - parts_to_delay_insert
k = 1 + parts_count_in_partition - parts_to_delay_insert
delay_milliseconds = pow(max_delay_to_insert * 1000, k / max_k)
Por ejemplo, si una partición tiene 299 partes activas y parts_to_throw_insert = 300, parts_to_delay_insert = 150, max_delay_to_insert = 1, INSERT se retrasa pow( 1 * 1000, (1 + 299 - 150) / (300 - 150) ) = 1000 milisegundos. A partir de la versión 23.1, la fórmula se ha cambiado a:
allowed_parts_over_threshold = parts_to_throw_insert - parts_to_delay_insert
parts_over_threshold = parts_count_in_partition - parts_to_delay_insert + 1
delay_milliseconds = max(min_delay_to_insert_ms, (max_delay_to_insert * 1000)
* parts_over_threshold / allowed_parts_over_threshold)
Por ejemplo, si una partición tiene 224 partes activas y parts_to_throw_insert = 300, parts_to_delay_insert = 150, max_delay_to_insert = 1, min_delay_to_insert_ms = 10, INSERT se retrasa max( 10, 1 * 1000 * (224 - 150 + 1) / (300 - 150) ) = 500 milisegundos.

max_delay_to_mutate_ms

Retraso máximo para mutar una tabla MergeTree en milisegundos, si hay muchas mutaciones sin finalizar

max_digestion_size_per_segment

Configuración obsoleta; no tiene ningún efecto.

max_file_name_length

La longitud máxima del nombre de archivo para conservarlo tal cual, sin aplicar un hash. Solo surte efecto si la opción replace_long_file_name_to_hash está habilitada. El valor de esta opción no incluye la longitud de la extensión del archivo. Por lo tanto, se recomienda configurarlo por debajo de la longitud máxima del nombre de archivo (normalmente, 255 bytes), dejando cierto margen para evitar errores del sistema de archivos.

max_files_to_modify_in_alter_columns

No aplique ALTER si el número de archivos que se van a modificar (eliminar o agregar) es mayor que este ajuste. Valores posibles:
  • Cualquier entero positivo.
Valor predeterminado: 75

max_files_to_remove_in_alter_columns

No se aplica ALTER si el número de archivos que se van a eliminar es mayor que esta configuración. Valores posibles:
  • Cualquier entero positivo.

max_merge_delayed_streams_for_parallel_write

El número máximo de flujos (columnas) que se pueden vaciar en paralelo (equivalente a max_insert_delayed_streams_for_parallel_write para las fusiones). Funciona solo para fusiones verticales.

max_merge_selecting_sleep_ms

Tiempo máximo de espera antes de volver a intentar seleccionar partes para fusionarlas después de que no se haya seleccionado ninguna. Un valor menor hará que las tareas de selección en background_schedule_pool se activen con frecuencia, lo que genera una gran cantidad de solicitudes a ZooKeeper en clústeres a gran escala

max_number_of_merges_with_ttl_in_pool

Cuando hay más fusiones con entradas TTL en el pool de las especificadas, no se asignan nuevas fusiones con TTL. Esto deja hilos libres para las fusiones normales y evita “Too many parts”

max_number_of_mutations_for_replica

Limita el número de mutaciones de partes por réplica al valor especificado. Cero significa que no hay límite en el número de mutaciones por réplica (la ejecución puede seguir estando limitada por otros ajustes).

max_part_loading_threads

Configuración obsoleta; no tiene ningún efecto.

max_part_removal_threads

Configuración obsoleta; no tiene ningún efecto.

max_partitions_to_read

Limita el número máximo de particiones a las que se puede acceder en una consulta. El valor de la configuración especificado al crear la tabla puede sobrescribirse con una configuración a nivel de consulta. Valores posibles:
  • Cualquier entero positivo.
También puede especificar la configuración de complejidad de consulta max_partitions_to_read a nivel de consulta / sesión / perfil.

max_parts_in_total

Si el número total de partes activas en todas las particiones de una tabla supera el valor de max_parts_in_total, la operación INSERT se interrumpe con la excepción Too many parts (N). Valores posibles:
  • Cualquier entero positivo.
Un gran número de partes en una tabla reduce el rendimiento de las consultas de ClickHouse y aumenta el tiempo de inicio de ClickHouse. La mayoría de las veces, esto es consecuencia de un diseño incorrecto (errores al elegir una estrategia de particionamiento: particiones demasiado pequeñas).

max_parts_to_merge_at_once

Cantidad máxima de partes que pueden fusionarse a la vez (0: deshabilitado). No afecta a la consulta OPTIMIZE FINAL.

max_postpone_time_for_failed_mutations_ms

El tiempo máximo de aplazamiento de las mutaciones fallidas.

max_postpone_time_for_failed_replicated_fetches_ms

El tiempo máximo de aplazamiento para los fetches replicados fallidos.

max_postpone_time_for_failed_replicated_merges_ms

El tiempo máximo de aplazamiento para las fusiones replicadas fallidas.

max_postpone_time_for_failed_replicated_tasks_ms

El tiempo máximo durante el que se pospone una tarea replicada fallida. Este valor se usa si la tarea no es de tipo fetch, merge o mutation.

max_projections

El número máximo de proyecciones de MergeTree.

max_replicated_fetches_network_bandwidth

Limita la velocidad máxima del intercambio de datos por la red, en bytes por segundo, para las descargas replicadas. Esta configuración se aplica a una tabla concreta, a diferencia de la configuración max_replicated_fetches_network_bandwidth_for_server, que se aplica al servidor. Puede limitar tanto la red del servidor como la de una tabla concreta, pero para ello el valor de la configuración a nivel de tabla debe ser inferior al de nivel de servidor. De lo contrario, el servidor solo tiene en cuenta la configuración max_replicated_fetches_network_bandwidth_for_server. La configuración no se aplica con total precisión. Valores posibles:
  • Entero positivo.
  • 0 — Ilimitado.
Valor predeterminado: 0. Uso Puede usarse para limitar la velocidad al replicar datos para añadir o sustituir nuevos nodos.

max_replicated_logs_to_keep

Cuántos registros puede haber en el log de ClickHouse Keeper si hay una réplica inactiva. Una réplica inactiva se considera perdida cuando se supera este número. Valores posibles:
  • Cualquier entero positivo.

max_replicated_merges_in_queue

Cuántas tareas de fusión y mutación de partes se permiten simultáneamente en la cola de ReplicatedMergeTree.

max_replicated_merges_with_ttl_in_queue

Número de tareas de fusión de partes con TTL que se permiten simultáneamente en la cola de ReplicatedMergeTree.

max_replicated_mutations_in_queue

Cuántas tareas sobre partes en mutación se permiten simultáneamente en la cola de ReplicatedMergeTree.

max_replicated_sends_network_bandwidth

Limita la velocidad máxima de intercambio de datos por la red, en bytes por segundo, para los envíos replicados. Esta configuración se aplica a una tabla concreta, a diferencia de la configuración max_replicated_sends_network_bandwidth_for_server, que se aplica al servidor. Puede limitar tanto el ancho de banda de red del servidor como el de una tabla concreta, pero para ello el valor de la configuración a nivel de tabla debe ser menor que el de la configuración a nivel de servidor. De lo contrario, el servidor solo tiene en cuenta la configuración max_replicated_sends_network_bandwidth_for_server. La configuración no se aplica con total precisión. Valores posibles:
  • Entero positivo.
  • 0 — Ilimitado.
Uso Puede usarse para limitar la velocidad al replicar datos para añadir o sustituir nuevos nodos.

max_suspicious_broken_parts

Si el número de partes dañadas en una misma partición supera el valor de max_suspicious_broken_parts, no se permite la eliminación automática. Valores posibles:
  • Cualquier entero positivo.

max_suspicious_broken_parts_bytes

Tamaño máximo total de todas las partes dañadas; si se supera, se impide la eliminación automática. Valores posibles:
  • Cualquier entero positivo.

max_uncompressed_bytes_in_patches

El tamaño máximo sin comprimir, en bytes, de los datos de todas las partes de parche. Si la cantidad de datos en todas las partes de parche supera este valor, se rechazarán las actualizaciones ligeras. 0 - ilimitado.

merge_max_block_size

El número de filas que se leen de las partes fusionadas y se cargan en memoria. Valores posibles:
  • Cualquier entero positivo.
La fusión lee filas de las partes en bloques de merge_max_block_size filas y, a continuación, fusiona y escribe el resultado en una parte nueva. El bloque leído se coloca en RAM, por lo que merge_max_block_size afecta a la cantidad de RAM necesaria para la fusión. Por lo tanto, las fusiones pueden consumir una gran cantidad de RAM en tablas con filas muy anchas (si el tamaño medio de una fila es de 100kb, entonces, al fusionar 10 partes, (100kb * 10 * 8192) = ~ 8GB de RAM). Al reducir merge_max_block_size, puede reducir la cantidad de RAM necesaria para una fusión, pero también ralentizarla.

merge_max_block_size_bytes

Cuántos bytes deben formarse en bloques para las operaciones de fusión. De forma predeterminada, tiene el mismo valor que index_granularity_bytes.

merge_max_bytes_to_prewarm_cache

Solo disponible en ClickHouse Cloud. Tamaño máximo de una parte (compact o packed) para precalentar la caché durante la fusión.

merge_max_dynamic_subcolumns_in_compact_part

El número máximo de subcolumnas dinámicas que se pueden crear en cada columna de la parte de datos Compact tras la fusión. Permite controlar el número de subcolumnas dinámicas en una parte Compact, independientemente de los parámetros dinámicos especificados en el tipo de dato. Por ejemplo, si la tabla tiene una columna con el tipo JSON(max_dynamic_paths=1024) y la configuración merge_max_dynamic_subcolumns_in_compact_part está establecida en 128, tras la fusión en la parte de datos Compact, el número de rutas dinámicas se reducirá a 128 en esta parte y solo se escribirán 128 rutas como subcolumnas dinámicas.

merge_max_dynamic_subcolumns_in_wide_part

El número máximo de subcolumnas dinámicas que se pueden crear en cada columna de una parte de datos Wide después de la fusión. Permite reducir el número de archivos creados en una parte de datos Wide, independientemente de los parámetros dinámicos especificados en el tipo de dato. Por ejemplo, si la tabla tiene una columna con el tipo JSON(max_dynamic_paths=1024) y el ajuste merge_max_dynamic_subcolumns_in_wide_part está establecido en 128, después de la fusión en la parte de datos Wide, el número de rutas dinámicas se reducirá a 128 en esa parte y solo se escribirán 128 rutas como subcolumnas dinámicas.

merge_selecting_sleep_ms

Tiempo mínimo de espera antes de volver a intentar seleccionar partes para fusionar cuando no se haya seleccionado ninguna parte. Un valor más bajo activará con frecuencia las tareas de selección en background_schedule_pool, lo que genera una gran cantidad de solicitudes a ZooKeeper en clusters a gran escala

merge_selecting_sleep_slowdown_factor

El tiempo de espera de la tarea de selección de fusiones se multiplica por este factor cuando no hay nada que fusionar y se divide cuando se asigna una fusión

merge_selector_algorithm

El algoritmo para seleccionar partes para la asignación de fusiones

merge_selector_base

Afecta a la amplificación de escritura de las fusiones asignadas (configuración de nivel experto; no la cambie si no entiende lo que hace). Funciona con los selectores de fusiones Simple y StochasticSimple

merge_selector_blurry_base_scale_factor

Controla cuándo se activa esta lógica en relación con el número de partes de la partición. Cuanto mayor sea el factor, más se retrasará la reacción.

merge_selector_enable_heuristic_to_lower_max_parts_to_merge_at_once

Habilita una heurística para el selector simple de fusiones que reducirá el límite máximo para la selección de fusiones. Al hacerlo, aumentará el número de fusiones concurrentes, lo que puede ayudar con los errores TOO_MANY_PARTS, pero al mismo tiempo incrementará la amplificación de escritura.

merge_selector_enable_heuristic_to_remove_small_parts_at_right

Habilita una heurística para seleccionar partes para la fusión que elimina las partes del lado derecho del rango si su tamaño es inferior a la proporción especificada (0.01) de sum_size. Funciona con los selectores de fusiones Simple y StochasticSimple

merge_selector_heuristic_to_lower_max_parts_to_merge_at_once_exponent

Controla el valor del exponente utilizado en las fórmulas que construyen la curva de reducción. Reducir el exponente disminuirá la amplitud de las fusiones, lo que provocará un aumento de la amplificación de escritura. Lo contrario también es cierto.

merge_selector_window_size

Cuántas partes se examinan a la vez.

merge_total_max_bytes_to_prewarm_cache

Solo disponible en ClickHouse Cloud. Tamaño máximo total de las partes que se usarán para precalentar la caché durante la fusión.

merge_tree_clear_old_broken_detached_parts_ttl_timeout_seconds

Configuración obsoleta; no hace nada.

merge_tree_clear_old_parts_interval_seconds

Establece el intervalo, en segundos, para que ClickHouse ejecute la limpieza de partes, WAL y mutaciones antiguas. Valores posibles:
  • Cualquier entero positivo.

merge_tree_clear_old_temporary_directories_interval_seconds

Establece el intervalo, en segundos, para que ClickHouse ejecute la limpieza de directorios temporales antiguos. Valores posibles:
  • Cualquier número entero positivo.

merge_tree_enable_clear_old_broken_detached

Configuración obsoleta; no hace nada.

merge_with_recompression_ttl_timeout

Retraso mínimo, en segundos, antes de repetir una fusión con TTL de recompresión.

merge_with_ttl_timeout

Retraso mínimo en segundos antes de repetir una fusión con TTL de eliminación.

merge_workload

Se utiliza para regular cómo se usan y comparten los recursos entre las fusiones y otras cargas de trabajo. El valor especificado se usa como valor de la configuración workload para las fusiones en segundo plano de esta tabla. Si no se especifica (cadena vacía), se utiliza en su lugar la configuración del servidor merge_workload. Véase también

min_absolute_delay_to_close

Retraso absoluto mínimo para cerrar, dejar de atender peticiones y no devolver Ok durante la comprobación de estado.

min_age_to_force_merge_on_partition_only

Indica si min_age_to_force_merge_seconds debe aplicarse solo a la partición completa y no a un subconjunto. De forma predeterminada, ignora la configuración max_bytes_to_merge_at_max_space_in_pool (consulte enable_max_bytes_limit_for_min_age_to_force_merge). Valores posibles:
  • true, false

min_age_to_force_merge_seconds

Fusiona las partes si todas las partes del intervalo son más antiguas que el valor de min_age_to_force_merge_seconds. De forma predeterminada, ignora la configuración max_bytes_to_merge_at_max_space_in_pool (consulte enable_max_bytes_limit_for_min_age_to_force_merge). Valores posibles:
  • Entero positivo.

min_bytes_for_compact_part

Configuración obsoleta; no hace nada.

min_bytes_for_full_part_storage

Solo disponible en ClickHouse Cloud. Tamaño mínimo sin comprimir, en bytes, para usar el tipo de almacenamiento full para la data part en lugar de packed

min_bytes_for_wide_part

Número mínimo de bytes/filas en una parte de datos que puede almacenarse en formato Wide. Puede establecer uno, ambos o ninguno de estos ajustes.

min_bytes_to_prewarm_caches

Tamaño mínimo (en bytes sin comprimir) para precalentar la caché de marcas y la caché del índice primario para las nuevas partes

min_bytes_to_rebalance_partition_over_jbod

Establece la cantidad mínima de bytes necesaria para habilitar el equilibrio al distribuir nuevas partes grandes entre los discos del volumen JBOD. Valores posibles:
  • Entero positivo.
  • 0 — El equilibrio está deshabilitado.
Uso El valor de la configuración min_bytes_to_rebalance_partition_over_jbod no debe ser inferior al valor de max_bytes_to_merge_at_max_space_in_pool / 1024. De lo contrario, ClickHouse genera una excepción.

min_columns_to_activate_adaptive_write_buffer

Permite reducir el uso de memoria en tablas con muchas columnas mediante búferes de escritura adaptativos. Valores posibles:
  • 0 - ilimitado
  • 1 - siempre habilitado

min_compress_block_size

Tamaño mínimo de los bloques de datos sin comprimir necesario para aplicar la compresión al escribir la siguiente marca. También puede especificar esta configuración en la configuración global (consulte la configuración min_compress_block_size). El valor especificado al crear la tabla sobrescribe el valor global de esta configuración.

min_compressed_bytes_to_fsync_after_fetch

Número mínimo de bytes comprimidos para realizar fsync en la parte tras recuperarla (0: deshabilitado)

min_compressed_bytes_to_fsync_after_merge

Número mínimo de bytes comprimidos para ejecutar fsync en la parte tras la fusión (0: deshabilitado)

min_delay_to_insert_ms

Retraso mínimo para insertar datos en una tabla MergeTree, en milisegundos, si hay muchas partes sin fusionar en una sola partición.

min_delay_to_mutate_ms

Retraso mínimo para aplicar mutaciones a una tabla MergeTree en milisegundos, si hay muchas mutaciones sin finalizar

min_free_disk_bytes_to_perform_insert

El número mínimo de bytes que deben estar libres en el disco para poder insertar datos. Si el número de bytes libres disponibles es menor que min_free_disk_bytes_to_perform_insert, se genera una excepción y la inserción no se ejecuta. Tenga en cuenta que este ajuste:
  • tiene en cuenta el ajuste keep_free_space_bytes.
  • no tiene en cuenta la cantidad de datos que se escribirán mediante la operación INSERT.
  • solo se comprueba si se especifica un número positivo (distinto de cero) de bytes
Valores posibles:
  • Cualquier entero positivo.
Si se especifican tanto min_free_disk_bytes_to_perform_insert como min_free_disk_ratio_to_perform_insert, ClickHouse tomará el valor que permita realizar inserts con una mayor cantidad de espacio libre.

min_free_disk_ratio_to_perform_insert

La proporción mínima de espacio libre con respecto al espacio total en disco para realizar un INSERT. Debe ser un valor de coma flotante entre 0 y 1. Tenga en cuenta que este ajuste:
  • tiene en cuenta el ajuste keep_free_space_bytes.
  • no tiene en cuenta la cantidad de datos que se escribirán mediante la operación INSERT.
  • solo se comprueba si se especifica una proporción positiva (distinta de cero)
Valores posibles:
  • Float, 0.0 - 1.0
Tenga en cuenta que, si se especifican tanto min_free_disk_ratio_to_perform_insert como min_free_disk_bytes_to_perform_insert, ClickHouse se basará en el valor que permita realizar inserciones con una mayor cantidad de espacio libre en disco.

min_index_granularity_bytes

Tamaño mínimo permitido de los gránulos de datos en bytes. Sirve como protección para evitar la creación accidental de tablas con un valor muy bajo de index_granularity_bytes.

min_level_for_full_part_storage

Solo disponible en ClickHouse Cloud. Nivel mínimo de la parte para usar el tipo de almacenamiento completo para la parte de datos en lugar de empaquetado

min_level_for_wide_part

Nivel mínimo de la parte para crear una parte de datos en formato Wide en lugar de Compact.

min_marks_to_honor_max_concurrent_queries

El número mínimo de marcas que debe leer la consulta para aplicar la configuración max_concurrent_queries.
Las consultas seguirán estando limitadas por otras configuraciones de max_concurrent_queries.
Valores posibles:
  • Entero positivo.
  • 0 — Deshabilitado (el límite de max_concurrent_queries no se aplica a ninguna consulta).
Ejemplo
<min_marks_to_honor_max_concurrent_queries>10</min_marks_to_honor_max_concurrent_queries>

min_merge_bytes_to_use_direct_io

El volumen mínimo de datos de una operación de fusión necesario para usar acceso de E/S directa al disco de almacenamiento. Al fusionar partes de datos, ClickHouse calcula el volumen total de almacenamiento de todos los datos que se van a fusionar. Si el volumen supera min_merge_bytes_to_use_direct_io bytes, ClickHouse lee y escribe los datos en el disco de almacenamiento mediante la interfaz de E/S directa (opción O_DIRECT). Si min_merge_bytes_to_use_direct_io = 0, la E/S directa se desactiva.

min_parts_to_merge_at_once

Cantidad mínima de partes de datos que el selector de fusiones puede seleccionar para fusionar de una sola vez (configuración para expertos; no la cambie si no entiende qué hace). 0: deshabilitado. Funciona con los selectores de fusiones Simple y StochasticSimple.

min_relative_delay_to_close

Retraso mínimo con respecto a otras réplicas para cerrarse, dejar de atender solicitudes y no devolver Ok durante la comprobación de estado.

min_relative_delay_to_measure

Calcula el retraso relativo de la réplica solo si el retraso absoluto no es inferior a este valor.

min_relative_delay_to_yield_leadership

Configuración obsoleta; no tiene ningún efecto.

min_replicated_logs_to_keep

Mantiene aproximadamente este número de los últimos registros en el log de ZooKeeper, aunque estén obsoletos. No afecta al funcionamiento de las tablas: se usa solo para diagnosticar el log de ZooKeeper antes de la limpieza. Valores posibles:
  • Cualquier entero positivo.

min_rows_for_compact_part

Configuración obsoleta; no tiene efecto.

min_rows_for_full_part_storage

Solo disponible en ClickHouse Cloud. Número mínimo de filas para usar el tipo de almacenamiento completo para la parte de datos en lugar del almacenamiento empaquetado

min_rows_for_wide_part

Número mínimo de filas para crear una parte de datos en formato Wide en vez de Compact.

min_rows_to_fsync_after_merge

Número mínimo de filas para ejecutar fsync en la parte tras la fusión (0: deshabilitado)

mutation_workload

Se utiliza para regular cómo se utilizan y comparten los recursos entre las mutaciones y otras cargas de trabajo. El valor especificado se usa como valor de la configuración workload para las mutaciones en segundo plano de esta tabla. Si no se especifica (cadena vacía), se usa en su lugar la configuración del servidor mutation_workload. Véase también

non_replicated_deduplication_window

El número de bloques insertados más recientemente en la tabla MergeTree no replicada cuyas sumas de hash se almacenan para comprobar si hay duplicados. Posibles valores:
  • Cualquier entero positivo.
  • 0 (desactiva la deduplicación).
Se utiliza un mecanismo de deduplicación similar al de las tablas replicadas (consulte la configuración replicated_deduplication_window). Las sumas de hash de las partes creadas se escriben en un archivo local en disco.

notify_newest_block_number

Notifica el número del bloque más reciente a SharedJoin o SharedSet. Solo en ClickHouse Cloud.

nullable_serialization_version

Controla el método de serialización que se usa para las columnas Nullable(T). Valores posibles:
  • basic — Usa la serialización estándar para Nullable(T).
  • allow_sparse — Permite que Nullable(T) use codificación dispersa.

number_of_free_entries_in_pool_to_execute_mutation

Cuando el número de entradas libres en el pool es inferior al especificado, no ejecute mutaciones de partes. Esto permite dejar hilos libres para las fusiones normales y evitar errores de “Too many parts”. Valores posibles:
  • Cualquier entero positivo.
Uso El valor de la configuración number_of_free_entries_in_pool_to_execute_mutation debe ser menor que el valor de background_pool_size

number_of_free_entries_in_pool_to_execute_optimize_entire_partition

Cuando hay menos entradas libres en el pool que el número especificado, no ejecute la optimización de la partición completa en segundo plano (esta tarea se genera cuando se establece min_age_to_force_merge_seconds y se habilita min_age_to_force_merge_on_partition_only). Esto permite dejar hilos libres para las fusiones normales y evitar “Too many parts”. Valores posibles:
  • Entero positivo.
El valor de la configuración number_of_free_entries_in_pool_to_execute_optimize_entire_partition debe ser menor que el valor de background_pool_size

number_of_free_entries_in_pool_to_lower_max_size_of_merge

Cuando haya menos del número especificado de entradas libres en el pool (o en la cola replicada), se comenzará a reducir el tamaño máximo de la fusión que se va a procesar (o a poner en la cola). Esto permite procesar fusiones pequeñas, sin llenar el pool con fusiones de larga duración. Valores posibles:
  • Cualquier entero positivo.

number_of_mutations_to_delay

Si la tabla tiene al menos esa cantidad de mutaciones sin finalizar, ralentiza artificialmente las mutaciones de la tabla. Se deshabilita si se establece en 0

number_of_mutations_to_throw

Si la tabla tiene al menos esa cantidad de mutaciones sin finalizar, genera la excepción ‘Too many mutations’ . Se desactiva si se establece en 0

number_of_partitions_to_consider_for_merge

Solo disponible en ClickHouse Cloud. Como máximo, las N particiones principales que se tendrán en cuenta para la fusión. Las particiones se eligen de forma aleatoria y ponderada, donde el peso es la cantidad de partes de datos que pueden fusionarse en esa partición.

object_serialization_version

Versión de serialización para el tipo de datos JSON. Necesaria para la compatibilidad. Posibles valores:
  • v1
  • v2
  • v3
Solo la versión v3 permite cambiar la versión de serialización de los datos compartidos.

object_shared_data_buckets_for_compact_part

El número de buckets para la serialización de datos compartidos en JSON en partes compactas. Funciona con las serializaciones de datos compartidos map_with_buckets y advanced. El valor máximo permitido es 256.

object_shared_data_buckets_for_wide_part

Número de buckets para la serialización de datos compartidos en JSON en partes Wide. Funciona con las serializaciones de datos compartidos map_with_buckets y advanced. El valor máximo permitido es 256.

object_shared_data_serialization_version

Versión de serialización de los datos compartidos dentro del tipo de datos JSON. Valores posibles:
  • map - almacena los datos compartidos como Map(String, String)
  • map_with_buckets - almacena los datos compartidos como varias columnas Map(String, String) separadas. El uso de buckets mejora la lectura de rutas individuales a partir de los datos compartidos.
  • advanced - serialización especial de datos compartidos diseñada para mejorar significativamente la lectura de rutas individuales a partir de los datos compartidos. Ten en cuenta que esta serialización aumenta el tamaño de almacenamiento en disco de los datos compartidos porque almacenamos mucha información adicional.
El número de buckets para las serializaciones map_with_buckets y advanced se determina mediante los ajustes object_shared_data_buckets_for_compact_part/object_shared_data_buckets_for_wide_part.

object_shared_data_serialization_version_for_zero_level_parts

Esta configuración permite especificar una versión de serialización distinta para los datos compartidos dentro del tipo JSON en las partes de nivel cero que se crean durante las inserciones. Se recomienda no usar la serialización de datos compartidos advanced para las partes de nivel cero, ya que puede aumentar significativamente el tiempo de inserción.

old_parts_lifetime

Tiempo de almacenamiento (en segundos) de las partes inactivas para proteger contra la pérdida de datos durante reinicios inesperados del servidor. Valores posibles:
  • Cualquier entero positivo.
Después de fusionar varias partes en una nueva, ClickHouse marca las partes originales como inactivas y las elimina solo después de old_parts_lifetime segundos. Las partes inactivas se eliminan si no están siendo utilizadas por las consultas actuales, es decir, si el refcount de la parte es 1. No se llama a fsync para las partes nuevas, por lo que durante algún tiempo las partes nuevas existen solo en la RAM del servidor (caché del SO). Si el servidor se reinicia inesperadamente, las partes nuevas pueden perderse o dañarse. Para proteger los datos, las partes inactivas no se eliminan de inmediato. Durante el inicio, ClickHouse comprueba la integridad de las partes. Si la parte fusionada está dañada, ClickHouse devuelve las partes inactivas a la lista de partes activas y, más tarde, vuelve a fusionarlas. Luego, la parte dañada se renombra (se añade el prefijo broken_) y se mueve a la carpeta detached. Si la parte fusionada no está dañada, entonces las partes inactivas originales se renombran (se añade el prefijo ignored_) y se mueven a la carpeta detached. El valor predeterminado de dirty_expire_centisecs (una configuración del kernel de Linux) es de 30 segundos (el tiempo máximo durante el cual los datos escritos se almacenan solo en RAM), pero con cargas elevadas en el sistema de disco, los datos pueden escribirse mucho más tarde. Experimentalmente, se eligió un valor de 480 segundos para old_parts_lifetime, durante el cual se garantiza que una parte nueva se escribirá en disco.

optimize_row_order

Controla si el orden de las filas debe optimizarse durante las inserciones para mejorar la compresibilidad de la parte de tabla recién insertada. Solo tiene efecto en tablas ordinarias del motor MergeTree. No hace nada en tablas especializadas del motor MergeTree (p. ej., CollapsingMergeTree). Las tablas MergeTree se comprimen (opcionalmente) usando códecs de compresión. Los códecs de compresión genéricos, como LZ4 y ZSTD, alcanzan tasas máximas de compresión si los datos presentan patrones. Las secuencias largas del mismo valor normalmente se comprimen muy bien. Si esta configuración está habilitada, ClickHouse intenta almacenar los datos en las partes recién insertadas en un orden de filas que minimice el número de secuencias de valores iguales a lo largo de las columnas de la nueva parte de tabla. En otras palabras, un número reducido de secuencias de valores iguales significa que las secuencias individuales son largas y se comprimen bien. Encontrar el orden óptimo de las filas es computacionalmente inviable (NP-hard). Por lo tanto, ClickHouse usa una heurística para encontrar rápidamente un orden de filas que aun así mejore las tasas de compresión con respecto al orden original de las filas. Si está habilitada, las operaciones de inserción incurren en costos adicionales de CPU para analizar y optimizar el orden de las filas de los nuevos datos. Se espera que los INSERT tarden entre un 30 y un 50 % más, según las características de los datos. Las tasas de compresión de LZ4 o ZSTD mejoran en promedio entre un 20 y un 40 %. Esta configuración funciona mejor en tablas sin clave primaria o con una clave primaria de baja cardinalidad, es decir, una tabla con solo unos pocos valores distintos de clave primaria. No se espera que las claves primarias de alta cardinalidad, por ejemplo, las que incluyen columnas timestamp de tipo DateTime64, se beneficien de esta configuración.

part_minmax_index_columns

Selecciona qué columnas cubre el índice min-max de cada parte. Cada valor habilita un grupo adicional de columnas sobre el anterior. Posibles valores:
  • partition_key_only — solo se registran las columnas de la clave de partición.
  • with_block_number_offset — columnas de la clave de partición, además de las columnas virtuales persistidas _block_number y _block_offset. Habilita la poda a nivel de parte mediante estas columnas.

part_moves_between_shards_delay_seconds

Tiempo de espera antes y después de mover partes entre segmentos.

part_moves_between_shards_enable

Funcionalidad experimental/incompleta para mover partes entre segmentos. No tiene en cuenta las expresiones de sharding.

parts_to_delay_insert

Si el número de partes activas en una sola partición supera el valor de parts_to_delay_insert, una operación INSERT se ralentiza artificialmente. Valores posibles:
  • Cualquier entero positivo.
ClickHouse hace que INSERT tarde más en ejecutarse de forma artificial (añade “sleep”) para que el proceso de fusión en segundo plano pueda fusionar las partes más rápido de lo que se añaden.

parts_to_throw_insert

Si el número de partes activas en una única partición supera el valor de parts_to_throw_insert, INSERT se interrumpe con la excepción Too many parts (N). Merges are processing significantly slower than inserts. Valores posibles:
  • Cualquier entero positivo.
Para lograr el máximo rendimiento de las consultas SELECT, es necesario minimizar el número de partes procesadas; consulte Merge Tree. Antes de la versión 23.6, esta configuración estaba establecida en 300. Puede establecer un valor más alto; esto reducirá la probabilidad del error Too many parts, pero al mismo tiempo el rendimiento de SELECT podría verse afectado. Además, en caso de que haya un problema con las fusiones (por ejemplo, por falta de espacio en disco), lo notará más tarde que con el valor original de 300.

prefer_fetch_merged_part_size_threshold

Si la suma de los tamaños de las partes supera este umbral y el tiempo transcurrido desde la creación de una entrada en el registro de replicación es mayor que prefer_fetch_merged_part_time_threshold, se prioriza obtener la parte fusionada desde una réplica en lugar de realizar la fusión localmente. Esto acelera las fusiones muy largas. Valores posibles:
  • Cualquier entero positivo.

prefer_fetch_merged_part_time_threshold

Si el tiempo transcurrido desde la creación de una entrada en el registro de replicación (ClickHouse Keeper o ZooKeeper) supera este umbral y la suma del tamaño de las partes es mayor que prefer_fetch_merged_part_size_threshold, se prefiere obtener la parte fusionada desde una réplica en lugar de realizar la fusión localmente. Esto sirve para acelerar fusiones muy largas. Valores posibles:
  • Cualquier entero positivo.

prewarm_mark_cache

Si es true, la caché de marcas se precalentará guardando marks en la caché de marcas durante inserts, merges, fetches y al iniciar el servidor

prewarm_primary_key_cache

Si se establece en true, la caché del índice primario se precargará guardando marcas en la caché de marcas durante las inserciones, las fusiones, los fetches y al iniciar el servidor

primary_key_compress_block_size

Tamaño del bloque de compresión de la clave primaria; es el tamaño real del bloque que se va a comprimir.

primary_key_compression_codec

La codificación de compresión utilizada por la clave primaria; la clave primaria es lo suficientemente pequeña y está en caché, por lo que la compresión predeterminada es ZSTD(3).

primary_key_lazy_load

Carga la clave primaria en memoria en el primer uso en lugar de hacerlo durante la inicialización de la tabla. Esto puede ahorrar memoria cuando hay una gran cantidad de tablas.

primary_key_ratio_of_unique_prefix_values_to_skip_suffix_columns

Si el valor de una columna de la clave primaria en una parte de datos cambia al menos con esta frecuencia, se omite la carga en memoria de las siguientes columnas. Esto permite ahorrar memoria al no cargar columnas inútiles de la clave primaria.

propagate_types_serialization_versions_to_nested_types

Si es true, las versiones de serialización como string_serialization_version se propagarán a los tipos anidados como Array/Map/Nullable/JSON/etc. Si está deshabilitado, la versión de serialización solo surtirá efecto en las columnas de nivel superior de este tipo y Tuple el

ratio_of_defaults_for_sparse_serialization

Proporción mínima entre la cantidad de valores por defecto y la cantidad total de valores en una columna. Al establecer este valor, la columna se almacena usando serializaciones dispersas. Si una columna es dispersa (contiene principalmente ceros), ClickHouse puede codificarla en un formato disperso y optimizar automáticamente los cálculos; los datos no requieren una descompresión completa durante las consultas. Para habilitar esta serialización dispersa, defina la configuración ratio_of_defaults_for_sparse_serialization con un valor inferior a 1.0. Si el valor es mayor o igual que 1.0, las columnas siempre se escribirán usando la serialización completa normal. Valores posibles:
  • Float entre 0 y 1 para habilitar la serialización dispersa
  • 1.0 (o mayor) si no desea usar la serialización dispersa
Ejemplo Observe que la columna s de la siguiente tabla es una cadena vacía en el 95 % de las filas. En my_regular_table no usamos serialización dispersa, y en my_sparse_table establecemos ratio_of_defaults_for_sparse_serialization en 0.95:
CREATE TABLE my_regular_table
(
`id` UInt64,
`s` String
)
ENGINE = MergeTree
ORDER BY id;

INSERT INTO my_regular_table
SELECT
number AS id,
number % 20 = 0 ? toString(number): '' AS s
FROM
numbers(10000000);

CREATE TABLE my_sparse_table
(
`id` UInt64,
`s` String
)
ENGINE = MergeTree
ORDER BY id
SETTINGS ratio_of_defaults_for_sparse_serialization = 0.95;

INSERT INTO my_sparse_table
SELECT
number,
number % 20 = 0 ? toString(number): ''
FROM
numbers(10000000);
Observe que la columna s de my_sparse_table ocupa menos espacio en disco:
SELECT table, name, data_compressed_bytes, data_uncompressed_bytes FROM system.columns
WHERE table LIKE 'my_%_table';
┌─table────────────┬─name─┬─data_compressed_bytes─┬─data_uncompressed_bytes─┐
│ my_regular_table │ id   │              37790741 │                75488328 │
│ my_regular_table │ s    │               2451377 │                12683106 │
│ my_sparse_table  │ id   │              37790741 │                75488328 │
│ my_sparse_table  │ s    │               2283454 │                 9855751 │
└──────────────────┴──────┴───────────────────────┴─────────────────────────┘
Puede verificar si una columna usa la codificación dispersa consultando la columna serialization_kind de la tabla system.parts_columns:
SELECT column, serialization_kind FROM system.parts_columns
WHERE table LIKE 'my_sparse_table';
Puedes ver qué partes de s se almacenaron mediante la serialización dispersa:
┌─column─┬─serialization_kind─┐
│ id     │ Default            │
│ s      │ Default            │
│ id     │ Default            │
│ s      │ Default            │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
└────────┴────────────────────┘

reduce_blocking_parts_sleep_ms

Solo disponible en ClickHouse Cloud. Tiempo mínimo de espera antes de intentar reducir de nuevo las partes bloqueantes después de que no se haya descartado ni sustituido ningún rango. Un valor más bajo activará tareas en background_schedule_pool con frecuencia, lo que da como resultado una gran cantidad de solicitudes a ZooKeeper en clústeres a gran escala

refresh_parts_interval

Si es mayor que cero, actualiza la lista de partes de datos desde el sistema de archivos subyacente para comprobar si los datos se han actualizado internamente. Solo se puede establecer si la tabla está ubicada en discos de solo lectura (lo que significa que se trata de una réplica de solo lectura, mientras que otra réplica está escribiendo los datos).

refresh_statistics_interval

Intervalo de actualización de la caché de estadísticas, en segundos. Si se establece en cero, se deshabilita la actualización.

remote_fs_execute_merges_on_single_replica_time_threshold

Cuando esta configuración tiene un valor mayor que cero, solo una réplica inicia la fusión inmediatamente si la parte fusionada está en el almacenamiento compartido.
La replicación zero-copy no está lista para producción. La replicación zero-copy está deshabilitada de forma predeterminada en la versión 22.8 de ClickHouse y posteriores.Esta funcionalidad no se recomienda para su uso en producción.
Valores posibles:
  • Cualquier entero positivo.

remote_fs_zero_copy_path_compatible_mode

Ejecuta zero-copy en modo de compatibilidad durante el proceso de conversión.

remote_fs_zero_copy_zookeeper_path

Ruta de ZooKeeper para la información de zero-copy independiente de la tabla.

remove_empty_parts

Elimina las partes vacías después de que TTL, una mutación o el algoritmo de fusión por collapsing las hayan depurado.

remove_rolled_back_parts_immediately

Ajuste para una funcionalidad experimental incompleta.

remove_unused_patch_parts

Elimina en segundo plano las patch parts aplicadas a todas las partes activas.

replace_long_file_name_to_hash

Si el nombre de archivo de la columna es demasiado largo (más de ‘max_file_name_length’ bytes), sustitúyalo por SipHash128

replicated_can_become_leader

Si es true, las réplicas de las tablas replicadas en este nodo intentarán asumir el liderazgo. Valores posibles:
  • true
  • false

replicated_deduplication_window

La cantidad de bloques insertados más recientemente para los cuales ClickHouse Keeper almacena sumas hash para comprobar duplicados. Posibles valores:
  • Cualquier entero positivo.
  • 0 (desactiva la deduplicación)
El comando Insert crea uno o más bloques (partes). Para la deduplicación de inserciones, al escribir en tablas replicadas, ClickHouse escribe las sumas hash de las partes creadas en ClickHouse Keeper. Las sumas hash se almacenan solo para los replicated_deduplication_window bloques más recientes. Las sumas hash más antiguas se eliminan de ClickHouse Keeper. Un valor alto para replicated_deduplication_window ralentiza los Inserts porque hay que comparar más entradas. La suma hash se calcula a partir de la combinación de los nombres y tipos de los campos y de los datos de la parte insertada (flujo de bytes).

replicated_deduplication_window_for_async_inserts

El número de bloques insertados de forma asíncrona más recientemente para los que ClickHouse Keeper almacena sumas hash con el fin de comprobar duplicados. Valores posibles:
  • Cualquier entero positivo.
  • 0 (desactiva la deduplicación para async_inserts)
El comando Async Insert se almacena en caché en uno o más bloques (partes). Para la deduplicación de inserciones, al escribir en tablas replicadas, ClickHouse escribe las sumas hash de cada inserción en ClickHouse Keeper. Las sumas hash se almacenan solo para los replicated_deduplication_window_for_async_inserts bloques más recientes. Las sumas hash más antiguas se eliminan de ClickHouse Keeper. Un valor grande de replicated_deduplication_window_for_async_inserts ralentiza Async Inserts porque necesita comparar más entradas. La suma hash se calcula a partir de la combinación de los nombres y tipos de los campos y de los datos de la inserción (flujo de bytes).

replicated_deduplication_window_seconds

El número de segundos tras los cuales se eliminan de ClickHouse Keeper las sumas hash de los bloques insertados. Posibles valores:
  • Cualquier entero positivo.
Al igual que replicated_deduplication_window, replicated_deduplication_window_seconds especifica durante cuánto tiempo se almacenan las sumas hash de los bloques para la deduplicación de inserciones. Las sumas hash anteriores a replicated_deduplication_window_seconds se eliminan de ClickHouse Keeper, incluso si son menores que replicated_deduplication_window. El tiempo es relativo al momento del registro más reciente, no al tiempo del reloj. Si es el único registro, se almacenará para siempre.

replicated_deduplication_window_seconds_for_async_inserts

El número de segundos tras los cuales las sumas hash de los async inserts se eliminan de ClickHouse Keeper. Valores posibles:
  • Cualquier entero positivo.
Al igual que replicated_deduplication_window_for_async_inserts, replicated_deduplication_window_seconds_for_async_inserts especifica durante cuánto tiempo se almacenan las sumas hash de los bloques para la deduplicación de async insert. Las sumas hash con una antigüedad superior a replicated_deduplication_window_seconds_for_async_inserts se eliminan de ClickHouse Keeper, incluso si son inferiores a replicated_deduplication_window_for_async_inserts. El tiempo se calcula en relación con el momento del registro más reciente, no con el tiempo del reloj del sistema. Si es el único registro, se almacenará para siempre.

replicated_fetches_http_connection_timeout

Configuración obsoleta; no tiene ningún efecto.

replicated_fetches_http_receive_timeout

Configuración obsoleta, no tiene ningún efecto.

replicated_fetches_http_send_timeout

Configuración obsoleta; no tiene efecto.

replicated_fetches_min_part_level

Nivel mínimo de las partes que se deben obtener de otras réplicas. Las partes con un nivel inferior a este umbral se posponen (se mantienen en la cola de replicación y se vuelven a evaluar en cada ciclo de planificación; no se omiten de forma permanente). Use 1 para posponer la obtención de partes de nivel 0 (sin fusionar), lo que reduce la sobrecarga de replicación durante una ingestión intensa. Valor predeterminado: 0 (obtener todas las partes independientemente del nivel).

replicated_fetches_min_part_level_timeout_seconds

Tiempo de espera, en segundos, tras el cual una parte por debajo de replicated_fetches_min_part_level se recuperará de todos modos. Use 0 para desactivar el tiempo de espera (las partes por debajo del nivel mínimo se posponen indefinidamente hasta que se fusionen). Predeterminado: 300 (forzar la recuperación después de 5 minutos).

replicated_max_mutations_in_one_entry

Número máximo de comandos de mutación que pueden fusionarse y ejecutarse en una sola entrada MUTATE_PART (0 significa sin límite)

replicated_max_parallel_fetches

Configuración obsoleta; no tiene efecto.

replicated_max_parallel_fetches_for_host

Configuración obsoleta; no tiene ningún efecto.

replicated_max_parallel_fetches_for_table

Configuración obsoleta; no tiene ningún efecto.

replicated_max_parallel_sends

Configuración obsoleta; no tiene ningún efecto.

replicated_max_parallel_sends_for_table

Configuración obsoleta; no tiene ningún efecto.

replicated_max_ratio_of_wrong_parts

Si la proporción de partes incorrectas respecto del número total de partes es inferior a este valor, se permite el inicio. Valores posibles:
  • Float, 0.0 - 1.0

search_orphaned_parts_disks

ClickHouse examina todos los discos en busca de partes huérfanas al ejecutar cualquier ATTACH o CREATE de tabla, para evitar que se omitan partes de datos en discos no definidos (no incluidos en la política). Las partes huérfanas se originan por una reconfiguración del almacenamiento potencialmente insegura; por ejemplo, si un disco se excluyó de la política de almacenamiento. Esta configuración limita el alcance de la búsqueda de discos según sus características. Valores posibles:
  • any - el alcance no está limitado.
  • local - el alcance se limita a los discos locales.
  • none - alcance vacío, no buscar

serialization_info_version

Versión de la información de serialización utilizada al escribir serialization.json. Esta configuración es necesaria para mantener la compatibilidad durante las actualizaciones del clúster. Valores posibles:
  • basic - Formato básico.
  • with_types - Formato con el campo adicional types_serialization_versions, que permite versiones de serialización por tipo. Esto hace que configuraciones como string_serialization_version surtan efecto.
Durante las actualizaciones graduales, establece esto en basic para que los servidores nuevos produzcan partes de datos compatibles con los servidores antiguos. Una vez completada la actualización, cambia a WITH_TYPES para habilitar las versiones de serialización por tipo.

share_nested_offsets

Cuando está habilitada (valor predeterminado), las columnas Array con nombres con puntos que comparten un prefijo común (p. ej., n.a y n.b) se tratan como parte de una estructura Nested: comparten un único archivo de offsets en disco (p. ej., n.size0), y se valida durante INSERT que sus tamaños de array sean iguales. Cuando está deshabilitada, cada columna Array obtiene su propio archivo de offsets independiente, los nombres con puntos no tienen ninguna semántica especial y una columna escalar puede coexistir con columnas Array con puntos que compartan el mismo prefijo (p. ej., n UInt32 junto con n.a Array(String)). Esta configuración es inmutable después de crear la tabla.

shared_merge_tree_activate_coordinated_merges_tasks

Activa la reprogramación de tareas de fusiones coordinadas. Puede ser útil incluso cuando shared_merge_tree_enable_coordinated_merges=0, porque esto rellenará las estadísticas del coordinador de fusiones y ayudará con el arranque en frío.

shared_merge_tree_create_per_replica_metadata_nodes

Habilita la creación de nodos /metadata y /columns para cada réplica en ZooKeeper. Solo disponible en ClickHouse Cloud

shared_merge_tree_disable_merges_and_mutations_assignment

Detiene la asignación de merges y mutations en shared merge tree. Solo está disponible en ClickHouse Cloud

shared_merge_tree_empty_partition_lifetime

Cuántos segundos se almacenará la partición en Keeper si no tiene partes.

shared_merge_tree_enable_automatic_empty_partitions_cleanup

Habilita la limpieza de las entradas de Keeper de las particiones vacías.

shared_merge_tree_enable_coordinated_merges

Habilita la estrategia de fusiones coordinadas

shared_merge_tree_enable_keeper_parts_extra_data

Habilita la escritura de atributos en las partes virtuales y la confirmación de bloques en Keeper

shared_merge_tree_enable_outdated_parts_check

Habilita la comprobación de partes obsoletas. Solo disponible en ClickHouse Cloud

shared_merge_tree_idle_parts_update_seconds

Intervalo en segundos para actualizar las partes sin que lo active un watch de ZooKeeper en el shared merge tree. Solo disponible en ClickHouse Cloud

shared_merge_tree_initial_parts_update_backoff_ms

Backoff inicial para la actualización de partes. Solo disponible en ClickHouse Cloud

shared_merge_tree_interserver_http_connection_timeout_ms

Tiempos de espera para las conexiones HTTP entre servidores. Solo disponible en ClickHouse Cloud

shared_merge_tree_interserver_http_timeout_ms

Tiempos de espera para la comunicación HTTP entre servidores. Solo disponible en ClickHouse Cloud

shared_merge_tree_leader_update_period_random_add_seconds

Añade a shared_merge_tree_leader_update_period un valor distribuido uniformemente entre 0 y x segundos para evitar el efecto de estampida. Solo está disponible en ClickHouse Cloud

shared_merge_tree_leader_update_period_seconds

Período máximo para volver a comprobar el liderazgo de la actualización de partes. Solo disponible en ClickHouse Cloud

shared_merge_tree_max_outdated_parts_to_process_at_once

Cantidad máxima de partes obsoletas cuya eliminación el líder intentará confirmar en una sola solicitud HTTP. Solo disponible en ClickHouse Cloud.

shared_merge_tree_max_parts_update_backoff_ms

Tiempo máximo de backoff para la actualización de partes. Solo disponible en ClickHouse Cloud

shared_merge_tree_max_parts_update_leaders_in_total

Número máximo total de líderes de actualización de partes. Solo disponible en ClickHouse Cloud

shared_merge_tree_max_parts_update_leaders_per_az

Número máximo de líderes de actualización de partes. Solo está disponible en ClickHouse Cloud

shared_merge_tree_max_replicas_for_parts_deletion

Número máximo de réplicas que participarán en la eliminación de partes (hilo killer). Solo disponible en ClickHouse Cloud

shared_merge_tree_max_replicas_to_merge_parts_for_each_parts_range

Número máximo de réplicas que intentarán asignar fusiones potencialmente conflictivas (permite evitar conflictos redundantes en la asignación de fusiones). 0 significa que está deshabilitado. Solo disponible en ClickHouse Cloud

shared_merge_tree_max_suspicious_broken_parts

Número máximo de partes dañadas para SMT; si hay más, se deniega el detach automático.

shared_merge_tree_max_suspicious_broken_parts_bytes

Tamaño máximo de todas las partes dañadas para SMT; si se supera, se impide el detach automático.

shared_merge_tree_memo_ids_remove_timeout_seconds

Cuánto tiempo almacenamos los ID de memoización de inserción para evitar acciones incorrectas durante los reintentos de inserción. Solo disponible en ClickHouse Cloud

shared_merge_tree_merge_coordinator_election_check_period_ms

Intervalo entre ejecuciones del hilo de elección del coordinador de fusiones

shared_merge_tree_merge_coordinator_factor

Factor de ajuste del tiempo de retraso del hilo del coordinador

shared_merge_tree_merge_coordinator_fetch_fresh_metadata_period_ms

Frecuencia con la que el coordinador de fusiones debe sincronizarse con ZooKeeper para obtener metadatos actualizados

shared_merge_tree_merge_coordinator_max_merge_request_size

Número de fusiones que el coordinador puede solicitar a MergerMutator a la vez

shared_merge_tree_merge_coordinator_max_period_ms

Tiempo máximo entre ejecuciones del hilo del coordinador de fusiones

shared_merge_tree_merge_coordinator_merges_prepare_count

Número de entradas de merge que el coordinador debe preparar y distribuir entre los workers. Cuando se establece en ‘auto’, equivale al número máximo de tareas de merge permitidas en una sola réplica multiplicado por el número de réplicas activas.

shared_merge_tree_merge_coordinator_min_period_ms

Tiempo mínimo entre ejecuciones del hilo del coordinador de merge

shared_merge_tree_merge_worker_fast_timeout_ms

Tiempo de espera que usará el merge worker thread si necesita actualizar su estado después de una acción inmediata

shared_merge_tree_merge_worker_regular_timeout_ms

Tiempo entre ejecuciones del hilo de trabajo de merge

shared_merge_tree_outdated_parts_group_size

Número de réplicas que estarán en el mismo grupo de hash rendezvous para la limpieza de partes obsoletas. Solo disponible en ClickHouse Cloud.

shared_merge_tree_partitions_hint_ratio_to_reload_merge_pred_for_mutations

Volverá a cargar el predicado de merge en la tarea de selección de merge/mutación cuando la proporción <candidate partitions for mutations only (partitions that cannot be merged)>/<candidate partitions for mutations> sea mayor que este valor de configuración. Solo disponible en ClickHouse Cloud

shared_merge_tree_parts_load_batch_size

Cantidad de trabajos de obtención de metadatos de partes que se programan a la vez. Solo disponible en ClickHouse Cloud

shared_merge_tree_postpone_next_merge_for_locally_merged_parts_ms

Tiempo durante el que se conserva una parte fusionada localmente sin iniciar una nueva fusión que incluya esta parte. Da a otras réplicas la oportunidad de recuperar la parte e iniciar esta fusión. Solo disponible en ClickHouse Cloud.

shared_merge_tree_postpone_next_merge_for_locally_merged_parts_rows_threshold

Tamaño mínimo de una parte (en filas) para posponer la asignación de la siguiente fusión inmediatamente después de fusionarla localmente. Solo disponible en ClickHouse Cloud.

shared_merge_tree_range_for_merge_window_size

Tiempo durante el que se conserva una parte fusionada localmente sin iniciar una nueva fusión que la incluya. Da a otras réplicas la oportunidad de recuperar la parte e iniciar esta fusión. Solo disponible en ClickHouse Cloud

shared_merge_tree_read_virtual_parts_from_leader

Leer partes virtuales desde el líder cuando sea posible. Solo disponible en ClickHouse Cloud

shared_merge_tree_replica_set_max_lifetime_seconds

Con qué frecuencia las réplicas intentarán actualizar en segundo plano el conjunto de réplicas. La siguiente ejecución se programa con una variación aleatoria uniforme en [0, value] segundos. Excepción: value = 0 no sigue ese criterio; la implementación aplica un mínimo de 200 ms, por lo que la siguiente ejecución se programa con una variación aleatoria en [0, 200] ms.

shared_merge_tree_try_fetch_part_in_memory_data_from_replicas

Si está habilitada, todas las réplicas intentan obtener de otras réplicas, donde ya existen, los datos en memoria de las partes (como la clave primaria, la información de la partición, etc.).

shared_merge_tree_update_replica_flags_delay_ms

Frecuencia con la que la réplica intentará volver a cargar sus flags según la programación en segundo plano.

shared_merge_tree_use_metadata_hints_cache

Permite solicitar sugerencias de caché del FS desde la caché en memoria de otras réplicas. Solo disponible en ClickHouse Cloud

shared_merge_tree_use_outdated_parts_compact_format

Usa el formato compacto para las partes obsoletas: reduce la carga sobre Keeper y mejora el procesamiento de las partes obsoletas. Solo disponible en ClickHouse Cloud

shared_merge_tree_use_too_many_parts_count_from_virtual_parts

Si está habilitado, el contador de Too many parts se basará en los datos compartidos de Keeper y no en el estado de la réplica local. Solo está disponible en ClickHouse Cloud

shared_merge_tree_use_zookeeper_connection_pool

Si está habilitada, SharedMergeTree usa una de las sesiones de ZooKeeper del pool a nivel de servidor.

shared_merge_tree_virtual_parts_discovery_batch

Cuántos descubrimientos de particiones deben agruparse en un batch

simultaneous_parts_removal_limit

Si hay muchas partes obsoletas, el hilo de limpieza intentará eliminar hasta simultaneous_parts_removal_limit partes en una sola iteración. Si simultaneous_parts_removal_limit se establece en 0, significa que no hay límite.

sleep_before_commit_local_part_in_replicated_table_ms

Para pruebas. No lo modifique.

sleep_before_loading_outdated_parts_ms

Solo para pruebas. No lo cambie.

storage_policy

Nombre de la política de discos de almacenamiento

string_serialization_version

Controla el formato de serialización de las columnas String de nivel superior. Esta configuración solo surte efecto cuando serialization_info_version está establecido en “with_types”. Cuando se establece en with_size_stream, las columnas String de nivel superior se serializan con una subcolumna .size independiente que almacena las longitudes de las cadenas, en lugar de hacerlo en línea. Esto permite subcolumnas .size reales y puede mejorar la eficiencia de compresión. Los tipos String anidados (por ejemplo, dentro de Nullable, LowCardinality, Array o Map) no se ven afectados, excepto cuando aparecen en una Tuple. Valores posibles:
  • single_stream — Usa el formato de serialización estándar con tamaños en línea.
  • with_size_stream — Usa un flujo de tamaños independiente para las columnas String de nivel superior.

table_disk

Se trata de un disco de tabla; la ruta/endpoint debe apuntar a los datos de la tabla, no a los datos de la base de datos. Solo se puede establecer para s3_plain/s3_plain_rewritable/web.

table_readonly

Si se establece en true, la tabla queda en modo de solo lectura. Cualquier intento de insertar datos o modificarla fallará.

temporary_directories_lifetime

Cuántos segundos se deben conservar los directorios tmp_. No debe reducir este valor, porque es posible que las merges y las mutations no puedan funcionar correctamente con un valor bajo de esta configuración.

try_fetch_recompressed_part_timeout

Tiempo de espera (en segundos) antes de iniciar la fusión con recompresión. Durante este tiempo, ClickHouse intenta recuperar la parte recomprimida de la réplica a la que se asignó esta fusión con recompresión. La recompresión suele ser lenta en la mayoría de los casos, por lo que no se inicia la fusión con recompresión hasta que transcurre este tiempo de espera, mientras se intenta recuperar la parte recomprimida de la réplica a la que se asignó esta fusión con recompresión. Valores posibles:
  • Cualquier entero positivo.

ttl_only_drop_parts

Controla si las partes de datos se eliminan por completo en las tablas MergeTree cuando todas las filas de esa parte han caducado según su configuración de TTL. Cuando ttl_only_drop_parts está deshabilitado (de forma predeterminada), solo se eliminan las filas que han caducado según su configuración de TTL. Cuando ttl_only_drop_parts está habilitado, se elimina la parte completa si todas las filas de esa parte han caducado según su configuración de TTL.

use_adaptive_write_buffer_for_dynamic_subcolumns

Permite usar búferes de escritura adaptativos al escribir subcolumnas dinámicas para reducir el consumo de memoria

use_async_block_ids_cache

Si es true, almacenamos en caché las sumas hash de las inserciones asíncronas. Valores posibles:
  • true
  • false
Un bloque asociado a múltiples inserciones asíncronas generará múltiples sumas hash. Cuando algunas de las inserciones estén duplicadas, Keeper solo devolverá una suma hash duplicada en una RPC, lo que provocará reintentos de RPC innecesarios. Esta caché observará la ruta de las sumas hash en Keeper. Si se detectan actualizaciones en Keeper, la caché se actualizará lo antes posible para que podamos filtrar en memoria las inserciones duplicadas.

use_compact_variant_discriminators_serialization

Habilita el modo compacto para la serialización binaria de discriminadores en el tipo de dato Variant. Este modo permite usar mucha menos memoria para almacenar discriminadores en las partes cuando predomina una sola variante o hay muchos valores NULL.

use_const_adaptive_granularity

Utilice siempre una granularidad constante para toda la parte. Esto permite comprimir en memoria los valores de granularidad del índice. Puede ser útil en cargas de trabajo extremadamente grandes con tablas con pocas columnas.

use_metadata_cache

Configuración obsoleta; no tiene ningún efecto.

use_minimalistic_checksums_in_zookeeper

Utiliza un formato pequeño (decenas de bytes) para las sumas de comprobación de las partes en ZooKeeper en lugar de las normales (decenas de KB). Antes de habilitarlo, comprueba que todas las réplicas admiten el nuevo formato.

use_minimalistic_part_header_in_zookeeper

Método de almacenamiento de los encabezados de las partes de datos en ZooKeeper. Si está habilitada, ZooKeeper almacena menos datos. Para más información, consulte aquí.

use_primary_key_cache

Usa la caché del índice primario en lugar de mantener todos los índices en memoria. Puede ser útil para tablas muy grandes

vertical_merge_algorithm_min_bytes_to_activate

Tamaño mínimo (aproximado) no comprimido, en bytes, de las partes en proceso de combinación para activar el algoritmo de fusión vertical.

vertical_merge_algorithm_min_columns_to_activate

Cantidad mínima de columnas no PK necesaria para activar el algoritmo de combinación vertical.

vertical_merge_algorithm_min_rows_to_activate

Suma mínima (aproximada) de filas en las partes que se fusionan para activar el algoritmo de fusión vertical.

vertical_merge_optimize_lightweight_delete

Si es true, la eliminación ligera se optimiza durante la fusión vertical.

vertical_merge_optimize_ttl_delete

Si se establece en true, la eliminación de filas por TTL se optimiza en la mezcla vertical. En lugar de forzar una mezcla horizontal, el filtro TTL se evalúa y se pasa al algoritmo de mezcla, que establece marcas de omisión en las fuentes de filas.

vertical_merge_remote_filesystem_prefetch

Si es true, se utiliza la precarga de datos desde el sistema de archivos remoto para la siguiente columna durante la fusión

wait_for_unique_parts_send_before_shutdown_ms

Antes de apagarse, la tabla esperará el tiempo necesario para que otras réplicas obtengan las partes únicas (que existen solo en la réplica actual) (0 significa deshabilitado).

write_ahead_log_bytes_to_fsync

Configuración obsoleta, no tiene efecto.

write_ahead_log_interval_ms_to_fsync

Configuración obsoleta; no tiene ningún efecto.

write_ahead_log_max_bytes

Configuración obsoleta; no tiene ningún efecto.

write_final_mark

Configuración obsoleta; no tiene ningún efecto.

write_marks_for_substreams_in_compact_parts

Habilita la escritura de marcas para cada subflujo en lugar de para cada columna en partes compactas. Permite leer subcolumnas individuales de la parte de datos de forma eficiente. Por ejemplo, la columna t Tuple(a String, b UInt32, c Array(Nullable(UInt32))) se serializa en los siguientes subflujos:
  • t.a para los datos String del elemento de Tuple a
  • t.b para los datos UInt32 del elemento de Tuple b
  • t.c.size0 para los tamaños del array del elemento de Tuple c
  • t.c.null para el mapa de NULL de los elementos del array anidado del elemento de Tuple c
  • t.c para los datos UInt32 de los elementos del array anidado del elemento de Tuple c
Cuando esta configuración está habilitada, escribiremos una marca para cada uno de estos 5 subflujos, lo que significa que podremos leer los datos de cada subflujo individual del gránulo por separado si es necesario. Por ejemplo, si queremos leer la subcolumna t.c, leeremos solo los datos de los subflujos t.c.size0, t.c.null y t.c, y no leeremos datos de los subflujos t.a y t.b. Cuando esta configuración está deshabilitada, escribiremos una marca solo para la columna de nivel superior t, lo que significa que siempre leeremos todos los datos de la columna del gránulo, incluso si solo necesitamos los datos de algunos subflujos.

zero_copy_concurrent_part_removal_max_postpone_ratio

Porcentaje máximo de partes de nivel superior cuyo borrado puede posponerse para obtener rangos independientes más pequeños. Se recomienda no modificarlo.

zero_copy_concurrent_part_removal_max_split_times

Profundidad máxima de recursión para dividir rangos independientes de partes obsoletas en subrangos más pequeños. Se recomienda no modificarlo.

zero_copy_merge_mutation_min_parts_size_sleep_before_lock

Si la replicación de copia cero está habilitada, espera un intervalo aleatorio antes de intentar adquirir el bloqueo, en función del tamaño de las partes para merge o mutation

zero_copy_merge_mutation_min_parts_size_sleep_no_scale_before_lock

Si la replicación de copia cero está habilitada, espere un intervalo aleatorio de hasta 500 ms antes de intentar adquirir el bloqueo para una combinación o mutación.

zookeeper_session_expiration_check_period

Período de comprobación de la expiración de la sesión de ZooKeeper, en segundos. Valores posibles:
  • Cualquier entero positivo.
Última modificación el 10 de junio de 2026