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:
ALTER TABLE ... MODIFY SETTING:
SETTINGS de MergeTree
adaptive_write_buffer_initial_size
add_implicit_sign_column_constraint_for_collapsing_engine
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
_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
_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
add_minmax_index_for_string_columns
add_minmax_index_for_temporal_columns
allow_coalescing_columns_in_partition_or_order_key
allow_commit_order_projection
_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
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
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
ORDER BY time DESC en la consulta, se aplica ReadInOrder.
Valor predeterminado: false
allow_floating_point_partition_key
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
allow_part_offset_column_in_projections
allow_reduce_blocking_parts_task
allow_remote_fs_zero_copy_replication
allow_summing_columns_in_partition_or_order_key
allow_suspicious_indices
allow_vertical_merges_from_compact_to_wide_parts
alter_column_secondary_index_mode
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 comandoALTER.throw: Impide cualquierALTERde 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á necesarioMATERIALIZE INDEXpara volver a crearlos.compatibility: Mantiene el comportamiento original:throwenALTER ... MODIFY COLUMNyrebuildenALTER ... 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
- true, false
always_use_copy_instead_of_hardlinks
apply_patches_on_merge
assign_part_uuids
async_block_ids_cache_update_wait_ms
async_insert
auto_statistics_types
background_task_preferred_step_execution_time_ms
cache_populated_by_fetch
Esta SETTING se aplica únicamente a ClickHouse Cloud.
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.
fetch, los archivos que coincidan con esta expresión regular (si cache_populated_by_fetch está habilitado).
check_delay_period
check_sample_column_is_correct
UInt8, UInt16,
UInt32, UInt64.
Valores posibles:
true— La comprobación está habilitada.false— La comprobación se deshabilita al crear la tabla.
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
cleanup_delay_period
cleanup_delay_period_random_add
cleanup_thread_preferred_points_per_iteration
cleanup_threads
clone_replica_zookeeper_create_get_part_batch_size
columns_and_secondary_indices_sizes_lazy_calculation
columns_to_prewarm_mark_cache
compact_parts_max_bytes_to_buffer
compact_parts_max_granules_to_buffer
compact_parts_merge_max_bytes_to_prefetch_part
compatibility_allow_sampling_expression_not_in_primary_key
compress_marks
compress_per_column_in_compact_parts
compress_primary_key
concurrent_part_removal_threshold
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
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
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:
ignorethrowdroprebuild
default_compression_codec
- Códec de compresión definido para la columna en la declaración de la tabla
- Códec de compresión definido en
default_compression_codec(esta configuración) - Códec de compresión predeterminado definido en la configuración
compressionValor predeterminado: una cadena vacía (sin definir).
detach_not_byte_identical_parts
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
truefalse
disable_detach_partition_for_zero_copy_replication
disable_fetch_partition_for_zero_copy_replication
disable_freeze_partition_for_zero_copy_replication
disco
distributed_index_analysis_min_indexes_bytes_to_activate
distributed_index_analysis_min_parts_to_activate
dynamic_serialization_version
v1v2v3
enable_block_number_column
enable_block_offset_column
_block_offset durante las fusiones.
enable_index_granularity_compression
enable_max_bytes_limit_for_min_age_to_force_merge
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:
truefalse
enable_mixed_granularity_parts
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
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:
truefalse
enable_the_endpoint_id_with_zookeeper_name_prefix
enable_vertical_merge_algorithm
enforce_index_structure_match_on_partition_manipulation
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
escape_variant_subcolumn_filenames
exclude_deleted_rows_for_part_size_in_merge
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:
truefalse
- load_existing_rows_count_for_old_parts configuración
exclude_materialize_skip_indexes_on_merge
execute_merges_on_single_replica_time_threshold
- Cualquier entero positivo.
fault_probability_after_part_commit
fault_probability_before_part_commit
finished_mutations_to_keep
force_read_through_cache_for_merges
fsync_after_insert
fsync en cada parte insertada. Reduce significativamente el rendimiento de las inserciones; no se recomienda usarlo con partes wide.
fsync_part_directory
fsync en el directorio de la parte después de todas las operaciones de la parte (escrituras, renombrados, etc.).
in_memory_parts_enable_wal
in_memory_parts_insert_sync
inactive_parts_to_delay_insert
inactive_parts_to_delay_insert, la operación INSERT se
ralentiza artificialmente.
Valores posibles:
- Cualquier entero positivo.
inactive_parts_to_throw_insert
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
index_granularity_bytes
0 (no recomendado).
initialization_retry_period
kill_delay_period
kill_delay_period_random_add
kill_threads
lightweight_mutation_projection_mode
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:
throwdroprebuild
load_existing_rows_count_for_old_parts
truefalse
- La configuración exclude_deleted_rows_for_part_size_in_merge
lock_acquire_timeout_for_background_operations
map_buckets_coefficient
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
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
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
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.
with_buckets viene determinado por max_buckets_in_map y map_buckets_strategy.
map_serialization_version_for_zero_level_parts
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
marks_compression_codec
materialize_skip_indexes_on_merge
materialize_statistics_on_merge
materialize_ttl_recalculate_only
max_avg_part_size_for_too_many_parts
max_buckets_in_map
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
- Cualquier entero no negativo.
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
- 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
max_compress_block_size
max_concurrent_queries
max_concurrent_queries.
Valores posibles:
- Entero positivo.
0— Sin límite.
0 (sin límite).
Ejemplo
max_delay_to_insert
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.
INSERT se calcula con la fórmula:
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:
INSERT se retrasa max( 10, 1 * 1000 * (224 - 150 + 1) / (300 - 150) ) = 500 milisegundos.
max_delay_to_mutate_ms
max_digestion_size_per_segment
max_file_name_length
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
- Cualquier entero positivo.
max_files_to_remove_in_alter_columns
- Cualquier entero positivo.
max_merge_delayed_streams_for_parallel_write
max_merge_selecting_sleep_ms
max_number_of_merges_with_ttl_in_pool
max_number_of_mutations_for_replica
max_part_loading_threads
max_part_removal_threads
max_partitions_to_read
- Cualquier entero positivo.
max_parts_in_total
max_parts_in_total, la operación INSERT se interrumpe con la excepción Too many parts (N).
Valores posibles:
- Cualquier entero positivo.
max_parts_to_merge_at_once
max_postpone_time_for_failed_mutations_ms
max_postpone_time_for_failed_replicated_fetches_ms
max_postpone_time_for_failed_replicated_merges_ms
max_postpone_time_for_failed_replicated_tasks_ms
max_projections
max_replicated_fetches_network_bandwidth
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.
0.
Uso
Puede usarse para limitar la velocidad al replicar datos para añadir o sustituir
nuevos nodos.
max_replicated_logs_to_keep
- Cualquier entero positivo.
max_replicated_merges_in_queue
max_replicated_merges_with_ttl_in_queue
max_replicated_mutations_in_queue
max_replicated_sends_network_bandwidth
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.
max_suspicious_broken_parts
max_suspicious_broken_parts, no se permite la eliminación automática.
Valores posibles:
- Cualquier entero positivo.
max_suspicious_broken_parts_bytes
- Cualquier entero positivo.
max_uncompressed_bytes_in_patches
merge_max_block_size
- Cualquier entero positivo.
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
index_granularity_bytes.
merge_max_bytes_to_prewarm_cache
merge_max_dynamic_subcolumns_in_compact_part
merge_max_dynamic_subcolumns_in_wide_part
merge_selecting_sleep_ms
merge_selecting_sleep_slowdown_factor
merge_selector_algorithm
merge_selector_base
merge_selector_blurry_base_scale_factor
merge_selector_enable_heuristic_to_lower_max_parts_to_merge_at_once
merge_selector_enable_heuristic_to_remove_small_parts_at_right
merge_selector_heuristic_to_lower_max_parts_to_merge_at_once_exponent
merge_selector_window_size
merge_total_max_bytes_to_prewarm_cache
merge_tree_clear_old_broken_detached_parts_ttl_timeout_seconds
merge_tree_clear_old_parts_interval_seconds
- Cualquier entero positivo.
merge_tree_clear_old_temporary_directories_interval_seconds
- Cualquier número entero positivo.
merge_tree_enable_clear_old_broken_detached
merge_with_recompression_ttl_timeout
merge_with_ttl_timeout
merge_workload
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
min_age_to_force_merge_on_partition_only
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
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
min_bytes_for_full_part_storage
min_bytes_for_wide_part
Wide. Puede establecer uno, ambos o ninguno de estos ajustes.
min_bytes_to_prewarm_caches
min_bytes_to_rebalance_partition_over_jbod
- Entero positivo.
0— El equilibrio está deshabilitado.
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
- 0 - ilimitado
- 1 - siempre habilitado
min_compress_block_size
min_compressed_bytes_to_fsync_after_fetch
fsync en la parte tras recuperarla (0: deshabilitado)
min_compressed_bytes_to_fsync_after_merge
min_delay_to_insert_ms
min_delay_to_mutate_ms
min_free_disk_bytes_to_perform_insert
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
- 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
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)
- Float, 0.0 - 1.0
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
index_granularity_bytes.
min_level_for_full_part_storage
min_level_for_wide_part
Wide en lugar de Compact.
min_marks_to_honor_max_concurrent_queries
Las consultas seguirán estando limitadas por otras configuraciones de
max_concurrent_queries.- Entero positivo.
0— Deshabilitado (el límite demax_concurrent_queriesno se aplica a ninguna consulta).
min_merge_bytes_to_use_direct_io
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
min_relative_delay_to_close
min_relative_delay_to_measure
min_relative_delay_to_yield_leadership
min_replicated_logs_to_keep
- Cualquier entero positivo.
min_rows_for_compact_part
min_rows_for_full_part_storage
min_rows_for_wide_part
Wide en vez de Compact.
min_rows_to_fsync_after_merge
mutation_workload
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
- Cualquier entero positivo.
0(desactiva la deduplicación).
notify_newest_block_number
nullable_serialization_version
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
- Cualquier entero positivo.
number_of_free_entries_in_pool_to_execute_mutation
debe ser menor que el valor de background_pool_size
- background_merges_mutations_concurrency_ratio. De lo contrario, ClickHouse lanzará una excepción.
number_of_free_entries_in_pool_to_execute_optimize_entire_partition
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.
number_of_free_entries_in_pool_to_execute_optimize_entire_partition
debe ser menor que el valor de
background_pool_size
- background_merges_mutations_concurrency_ratio. De lo contrario, ClickHouse genera una excepción.
number_of_free_entries_in_pool_to_lower_max_size_of_merge
- Cualquier entero positivo.
number_of_mutations_to_delay
number_of_mutations_to_throw
number_of_partitions_to_consider_for_merge
object_serialization_version
v1v2v3
v3 permite cambiar la versión de serialización de los datos compartidos.
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.
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.
Versión de serialización de los datos compartidos dentro del tipo de datos JSON.
Valores posibles:
map- almacena los datos compartidos comoMap(String, String)map_with_buckets- almacena los datos compartidos como varias columnasMap(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.
map_with_buckets y advanced se determina mediante los ajustes
object_shared_data_buckets_for_compact_part/object_shared_data_buckets_for_wide_part.
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
- Cualquier entero positivo.
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
DateTime64, se beneficien de esta configuración.
part_minmax_index_columns
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_numbery_block_offset. Habilita la poda a nivel de parte mediante estas columnas.
part_moves_between_shards_delay_seconds
part_moves_between_shards_enable
parts_to_delay_insert
parts_to_delay_insert, una operación INSERT se ralentiza artificialmente.
Valores posibles:
- Cualquier entero positivo.
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
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.
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
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
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
prewarm_primary_key_cache
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
primary_key_lazy_load
primary_key_ratio_of_unique_prefix_values_to_skip_suffix_columns
propagate_types_serialization_versions_to_nested_types
ratio_of_defaults_for_sparse_serialization
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
0y1para habilitar la serialización dispersa 1.0(o mayor) si no desea usar la serialización dispersa
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:
s de my_sparse_table ocupa menos espacio en disco:
serialization_kind de la tabla system.parts_columns:
s se almacenaron mediante la serialización dispersa:
reduce_blocking_parts_sleep_ms
refresh_parts_interval
refresh_statistics_interval
remote_fs_execute_merges_on_single_replica_time_threshold
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.
- Cualquier entero positivo.
remote_fs_zero_copy_path_compatible_mode
remote_fs_zero_copy_zookeeper_path
remove_empty_parts
remove_rolled_back_parts_immediately
remove_unused_patch_parts
replace_long_file_name_to_hash
replicated_can_become_leader
true, las réplicas de las tablas replicadas en este nodo intentarán asumir
el liderazgo.
Valores posibles:
truefalse
replicated_deduplication_window
- Cualquier entero positivo.
- 0 (desactiva la deduplicación)
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
- Cualquier entero positivo.
- 0 (desactiva la deduplicación para async_inserts)
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
- Cualquier entero positivo.
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
- Cualquier entero positivo.
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
replicated_fetches_http_receive_timeout
replicated_fetches_http_send_timeout
replicated_fetches_min_part_level
replicated_fetches_min_part_level_timeout_seconds
replicated_max_mutations_in_one_entry
replicated_max_parallel_fetches
replicated_max_parallel_fetches_for_host
replicated_max_parallel_fetches_for_table
replicated_max_parallel_sends
replicated_max_parallel_sends_for_table
replicated_max_ratio_of_wrong_parts
- Float, 0.0 - 1.0
search_orphaned_parts_disks
- any - el alcance no está limitado.
- local - el alcance se limita a los discos locales.
- none - alcance vacío, no buscar
serialization_info_version
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 adicionaltypes_serialization_versions, que permite versiones de serialización por tipo. Esto hace que configuraciones comostring_serialization_versionsurtan efecto.
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.
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.
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.
Habilita la creación de nodos /metadata y /columns para cada réplica en ZooKeeper.
Solo disponible en ClickHouse Cloud
Detiene la asignación de merges y mutations en shared merge tree. Solo está disponible en ClickHouse
Cloud
Cuántos segundos se almacenará la partición en Keeper si no tiene partes.
Habilita la limpieza de las entradas de Keeper de las particiones vacías.
Habilita la estrategia de fusiones coordinadas
Habilita la escritura de atributos en las partes virtuales y la confirmación de bloques en Keeper
Habilita la comprobación de partes obsoletas. Solo disponible en ClickHouse Cloud
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
Backoff inicial para la actualización de partes. Solo disponible en ClickHouse Cloud
Tiempos de espera para las conexiones HTTP entre servidores. Solo disponible en ClickHouse Cloud
Tiempos de espera para la comunicación HTTP entre servidores. Solo disponible en ClickHouse
Cloud
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
Período máximo para volver a comprobar el liderazgo de la actualización de partes. Solo disponible en
ClickHouse Cloud
Cantidad máxima de partes obsoletas cuya eliminación el líder intentará confirmar en una sola solicitud HTTP. Solo disponible en ClickHouse Cloud.
Tiempo máximo de backoff para la actualización de partes. Solo disponible en ClickHouse Cloud
Número máximo total de líderes de actualización de partes. Solo disponible en ClickHouse Cloud
Número máximo de líderes de actualización de partes. Solo está disponible en ClickHouse Cloud
Número máximo de réplicas que participarán en la eliminación de partes (hilo killer). Solo
disponible en ClickHouse Cloud
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
Número máximo de partes dañadas para SMT; si hay más, se deniega el detach automático.
Tamaño máximo de todas las partes dañadas para SMT; si se supera, se impide el detach automático.
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
Intervalo entre ejecuciones del hilo de elección del coordinador de fusiones
Factor de ajuste del tiempo de retraso del hilo del coordinador
Frecuencia con la que el coordinador de fusiones debe sincronizarse con ZooKeeper para obtener metadatos actualizados
Número de fusiones que el coordinador puede solicitar a MergerMutator a la vez
Tiempo máximo entre ejecuciones del hilo del coordinador de fusiones
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.
Tiempo mínimo entre ejecuciones del hilo del coordinador de merge
Tiempo de espera que usará el merge worker thread si necesita actualizar su estado después de una acción inmediata
Tiempo entre ejecuciones del hilo de trabajo de merge
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.
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
Cantidad de trabajos de obtención de metadatos de partes que se programan a la vez. Solo disponible en
ClickHouse Cloud
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.
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.
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
Leer partes virtuales desde el líder cuando sea posible. Solo disponible en ClickHouse
Cloud
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.
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.).
Frecuencia con la que la réplica intentará volver a cargar sus flags según la programación en segundo plano.
Permite solicitar sugerencias de caché del FS desde la caché en memoria de otras réplicas. Solo disponible en ClickHouse Cloud
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
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
Si está habilitada, SharedMergeTree usa una de las sesiones de ZooKeeper del pool a nivel de servidor.
Cuántos descubrimientos de particiones deben agruparse en un batch
simultaneous_parts_removal_limit
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
sleep_before_loading_outdated_parts_ms
storage_policy
string_serialization_version
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 columnasStringde nivel superior.
table_disk
table_readonly
temporary_directories_lifetime
try_fetch_recompressed_part_timeout
- Cualquier entero positivo.
ttl_only_drop_parts
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
use_async_block_ids_cache
true, almacenamos en caché las sumas hash de las inserciones asíncronas.
Valores posibles:
truefalse
use_compact_variant_discriminators_serialization
use_const_adaptive_granularity
use_metadata_cache
use_minimalistic_checksums_in_zookeeper
use_minimalistic_part_header_in_zookeeper
use_primary_key_cache
vertical_merge_algorithm_min_bytes_to_activate
vertical_merge_algorithm_min_columns_to_activate
vertical_merge_algorithm_min_rows_to_activate
vertical_merge_optimize_lightweight_delete
vertical_merge_optimize_ttl_delete
vertical_merge_remote_filesystem_prefetch
wait_for_unique_parts_send_before_shutdown_ms
0 significa
deshabilitado).
write_ahead_log_bytes_to_fsync
write_ahead_log_interval_ms_to_fsync
write_ahead_log_max_bytes
write_final_mark
write_marks_for_substreams_in_compact_parts
t Tuple(a String, b UInt32, c Array(Nullable(UInt32))) se serializa en los siguientes subflujos:
t.apara los datos String del elemento de Tupleat.bpara los datos UInt32 del elemento de Tuplebt.c.size0para los tamaños del array del elemento de Tuplect.c.nullpara el mapa de NULL de los elementos del array anidado del elemento de Tuplect.cpara los datos UInt32 de los elementos del array anidado del elemento de Tuplec
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
zero_copy_concurrent_part_removal_max_split_times
zero_copy_merge_mutation_min_parts_size_sleep_before_lock
zero_copy_merge_mutation_min_parts_size_sleep_no_scale_before_lock
zookeeper_session_expiration_check_period
- Cualquier entero positivo.