DOCAPI-6421: load_balancing. RU translation, EN review. (#5496)

This commit is contained in:
BayoNet 2019-06-06 12:54:15 +03:00 committed by Ivan Blinkov
parent 3c158faf16
commit 23c5e1d7d5
2 changed files with 56 additions and 10 deletions

View File

@ -555,9 +555,9 @@ This method is appropriate when you know exactly which replica is preferable.
load_balancing = first_or_random
```
This algorithm chooses the first replica in order or a random replica if the first one is unavailable. It is effective in cross-replication topology setups, but it useless in other configurations.
This algorithm chooses the first replica in the set or a random replica if the first is unavailable. It's effective in cross-replication topology setups, but useless in other configurations.
The `first or random` algorithm solves the problem of the `in order` algorithm. The problem is: if one replica goes down, the next one handles twice the usual load while remaining ones handle usual traffic. When using the `first or random` algorithm, the load on replicas is leveled.
The `first_or_random` algorithm solves the problem of the `in_order` algorithm. With `in_order`, if one replica goes down, the next one gets a double load while the remaining replicas handle the usual amount of traffic. When using the `first_or_random` algorithm, load is evenly distributed among replicas that are still available.
## prefer_localhost_replica {#settings-prefer_localhost_replica}
@ -570,6 +570,9 @@ Possible values:
Default value: 1.
!!! warning "Warning"
Disable this setting if you use [max_parallel_replicas](#settings-max_parallel_replicas).
## totals_mode
How to calculate TOTALS when HAVING is present, as well as when max_rows_to_group_by and group_by_overflow_mode = 'any' are present.
@ -580,7 +583,7 @@ See the section "WITH TOTALS modifier".
The threshold for `totals_mode = 'auto'`.
See the section "WITH TOTALS modifier".
## max_parallel_replicas
## max_parallel_replicas {#settings-max_parallel_replicas}
The maximum number of replicas for each shard when executing a query.
For consistency (to get different parts of the same data split), this option only works when the sampling key is set.

View File

@ -497,16 +497,31 @@ ClickHouse использует этот параметр при чтении д
Чем меньше значение, тем чаще данные сбрасываются в таблицу. Установка слишком низкого значения приводит к снижению производительности.
## load_balancing
## load_balancing {#settings-load_balancing}
На какие реплики (среди живых реплик) предпочитать отправлять запрос (при первой попытке) при распределённой обработке запроса.
Задает алгоритм выбора реплик, используемый при обработке распределенных запросов.
### random (по умолчанию)
ClickHouse поддерживает следующие алгоритмы выбора реплик:
- [Random](#load_balancing-random) (by default)
- [Nearest hostname](#load_balancing-nearest_hostname)
- [In order](#load_balancing-in_order)
- [First or random](#load_balancing-first_or_random)
### Random (by default) {#load_balancing-random}
```
load_balancing = random
```
Для каждой реплики считается количество ошибок. Запрос отправляется на реплику с минимальным числом ошибок, а если таких несколько, то на случайную из них.
Недостатки: не учитывается близость серверов; если на репликах оказались разные данные, то вы будете получать так же разные данные.
### nearest_hostname
### Nearest Hostname {#load_balancing-nearest_hostname}
```
load_balancing = nearest_hostname
```
Для каждой реплики считается количество ошибок. Каждые 5 минут, число ошибок целочисленно делится на 2. Таким образом, обеспечивается расчёт числа ошибок за недавнее время с экспоненциальным сглаживанием. Если есть одна реплика с минимальным числом ошибок (то есть, на других репликах недавно были ошибки) - запрос отправляется на неё. Если есть несколько реплик с одинаковым минимальным числом ошибок, то запрос отправляется на реплику, имя хоста которой в конфигурационном файле минимально отличается от имени хоста сервера (по количеству отличающихся символов на одинаковых позициях, до минимальной длины обеих имён хостов).
@ -516,11 +531,39 @@ ClickHouse использует этот параметр при чтении д
Таким образом, если есть равнозначные реплики, предпочитается ближайшая по имени.
Также можно сделать предположение, что при отправке запроса на один и тот же сервер, в случае отсутствия сбоев, распределённый запрос будет идти тоже на одни и те же серверы. То есть, даже если на репликах расположены разные данные, запрос будет возвращать в основном одинаковые результаты.
### in_order
### In Order {#load_balancing-in_order}
Реплики перебираются в таком порядке, в каком они указаны. Количество ошибок не имеет значения.
```
load_balancing = in_order
```
Реплики с одинаковым количеством ошибок опрашиваются в порядке, определённом конфигурацией.
Этот способ подходит для тех случаев, когда вы точно знаете, какая реплика предпочтительнее.
### First or Random {#load_balancing-first_or_random}
```
load_balancing = first_or_random
```
Алгоритм выбирает первую реплику или случайную реплику, если первая недоступна. Он эффективен в топологиях с перекрестной репликацей, но бесполезен в других конфигурациях.
Алгоритм `first or random` решает проблему алгоритма `in order`. При использовании `in order`, если одна реплика перестаёт ответчать, то следующая за ней принимает двойную нагрузку, в то время как все остальные обрабатываю свой обычный трафик. Алгоритм `first or random` равномерно распределяет нагрузку между репликами.
## prefer_localhost_replica {#settings-prefer_localhost_replica}
Включает или выключает предпочтительное использование localhost реплики при обработке распределенных запросов.
Возможные значения:
- 1 — ClickHouse всегда отправляет запрос на localhost реплику, если она существует.
- 0 — ClickHouse использует балансировку, заданную настройкой [load_balancing](#settings-load_balancing).
Значение по умолчанию: 1.
!!! warning "Warning"
Отключайте эту настройку при использовании [max_parallel_replicas](#settings-max_parallel_replicas).
## totals_mode
Каким образом вычислять TOTALS при наличии HAVING, а также при наличии max_rows_to_group_by и group_by_overflow_mode = 'any'.
@ -531,7 +574,7 @@ ClickHouse использует этот параметр при чтении д
Порог для `totals_mode = 'auto'`.
Смотрите раздел "Модификатор WITH TOTALS".
## max_parallel_replicas
## max_parallel_replicas {#settings-max_parallel_replicas}
Максимальное количество используемых реплик каждого шарда при выполнении запроса.
Для консистентности (чтобы получить разные части одного и того же разбиения), эта опция работает только при заданном ключе сэмплирования.