Links fixed to standard MD syntax and the docs sources are the linked GitHub site.

Russian sources are updated following the english ones.
This commit is contained in:
BayoNet 2017-11-17 17:12:34 +03:00
parent f7181b4c68
commit af96036860
23 changed files with 139 additions and 88 deletions

View File

@ -7,8 +7,8 @@
ClickHouse поддерживает также:
> - [Параметрические агрегатные функции](../parametric_functions.html#aggregate_functions_parametric), которые помимо стоблцов принимаю и другие параметры.
> - [Комбинаторы](../combinators.html#aggregate_functions_combinators), которые изменяют поведение агрегатных фунций.
> - [Параметрические агрегатные функции](parametric_functions.md#aggregate_functions_parametric), которые помимо стоблцов принимаю и другие параметры.
> - [Комбинаторы](combinators.md#aggregate_functions_combinators), которые изменяют поведение агрегатных фунций.
```eval_rst
.. toctree::

View File

@ -3,16 +3,16 @@
Внешние словари
===============
Существует возможность подключать собственные словари из различных источников данных. Источником данных для словаря может быть локальный текстовый/исполняемый файл, HTTP(s) ресурс или другая СУБД. Подробнее смотрите в разделе "[Источники внешних словарей](../external_dicts_dict_sources.html#dicts-external_dicts_dict_sources)".
Существует возможность подключать собственные словари из различных источников данных. Источником данных для словаря может быть локальный текстовый/исполняемый файл, HTTP(s) ресурс или другая СУБД. Подробнее смотрите в разделе "[Источники внешних словарей](external_dicts_dict_sources.md#dicts-external_dicts_dict_sources)".
ClickHouse:
> - Полностью или частично хранит словари в оперативной памяти.
> - Периодически обновляет их и динамически подгружает отсутствующие значения. Т.е. словари можно подгружать динамически.
Конфигурация внешних словарей находится в одном или нескольких файлах. Путь к конфигурации указывается в параметре [dictionaries_config](../../operations/server_settings/settings.html#server_settings-dictionaries_config).
Конфигурация внешних словарей находится в одном или нескольких файлах. Путь к конфигурации указывается в параметре [dictionaries_config](../operations/server_settings/settings.md#server_settings-dictionaries_config).
Словари могут загружаться при старте сервера или при первом использовании, в зависимости от настройки [dictionaries_lazy_load](../../operations/server_settings/settings.html#server_settings-dictionaries_lazy_load).
Словари могут загружаться при старте сервера или при первом использовании, в зависимости от настройки [dictionaries_lazy_load](../operations/server_settings/settings.md#server_settings-dictionaries_lazy_load).
Конфигурационный файл словарей имеет вид:
@ -32,13 +32,13 @@ ClickHouse:
</dictionaries>
```
В одном файле можно [сконфигурировать](../external_dicts_dict.html#dicts-external_dicts_dict) произвольное количество словарей. Формат файла сохраняется даже если словарь один (т.е. `<dictionaries><dictionary> <!--configuration--> </dictionary></dictionaries>`).
В одном файле можно [сконфигурировать](external_dicts_dict.md#dicts-external_dicts_dict) произвольное количество словарей. Формат файла сохраняется даже если словарь один (т.е. `<dictionaries><dictionary> <!--configuration--> </dictionary></dictionaries>`).
Смотрите также "[Функции для работы с внешними словарями](../../functions/ext_dict_functions.html#ext_dict_functions)" .
Смотрите также "[Функции для работы с внешними словарями](../functions/ext_dict_functions.md#ext_dict_functions)" .
<div class="admonition attention">
Вы можете преобразовывать значения по небольшому словарю, описав его в запросе `SELECT` (см. функцию [transform](../../functions/other_functions.html#other_functions-transform)). Эта функциональность не связана с внешними словарями.
Вы можете преобразовывать значения по небольшому словарю, описав его в запросе `SELECT` (см. функцию [transform](../functions/other_functions.md#other_functions-transform)). Эта функциональность не связана с внешними словарями.
</div>

View File

@ -28,8 +28,8 @@
```
- name - Идентификатор, под которым словарь будет доступен для использования. Используйте символы `[a-zA-Z0-9_\-]`.
- [source](../external_dicts_dict_sources.html/#dicts-external_dicts_dict_sources) - Источник словаря.
- [layout](../external_dicts_dict_layout.html#dicts-external_dicts_dict_layout) - Размещение словаря в памяти.
- [structure](../external_dicts_dict_structure.html#dicts-external_dicts_dict_structure) - Структура словаря. Ключ и атрибуты, которые можно получить по ключу.
- [lifetime](../external_dicts_dict_lifetime.html#dicts-external_dicts_dict_lifetime) - Периодичность обновления словарей.
- [source](external_dicts_dict_sources.html/#dicts-external_dicts_dict_sources) - Источник словаря.
- [layout](external_dicts_dict_layout.md#dicts-external_dicts_dict_layout) - Размещение словаря в памяти.
- [structure](external_dicts_dict_structure.md#dicts-external_dicts_dict_structure) - Структура словаря. Ключ и атрибуты, которые можно получить по ключу.
- [lifetime](external_dicts_dict_lifetime.md#dicts-external_dicts_dict_lifetime) - Периодичность обновления словарей.

View File

@ -3,11 +3,11 @@
Хранение словарей в памяти
==========================
Словари можно размещать в памяти [множеством способов](../external_dicts_dict_layout.html#dicts-external_dicts_dict_layout-manner).
Словари можно размещать в памяти [множеством способов](external_dicts_dict_layout.md#dicts-external_dicts_dict_layout-manner).
Рекомендуем [flat](../external_dicts_dict_layout.html#dicts-external_dicts_dict_layout-flat), [hashed](../external_dicts_dict_layout.html#dicts-external_dicts_dict_layout-hashed) и [complex_key_hashed](../external_dicts_dict_layout.html#dicts-external_dicts_dict_layout-complex_key_hashed). Скорость обработки словарей при этом максимальна.
Рекомендуем [flat](external_dicts_dict_layout.md#dicts-external_dicts_dict_layout-flat), [hashed](external_dicts_dict_layout.md#dicts-external_dicts_dict_layout-hashed) и [complex_key_hashed](external_dicts_dict_layout.md#dicts-external_dicts_dict_layout-complex_key_hashed). Скорость обработки словарей при этом максимальна.
Размещение с кэшированием не рекомендуется использовать из-за потенциально низкой производительности и сложностей в подборе оптимальных параметров. Читайте об этом подробнее в разделе " [cache](../external_dicts_dict_layout.html#dicts-external_dicts_dict_layout-cache)".
Размещение с кэшированием не рекомендуется использовать из-за потенциально низкой производительности и сложностей в подборе оптимальных параметров. Читайте об этом подробнее в разделе " [cache](external_dicts_dict_layout.md#dicts-external_dicts_dict_layout-cache)".
Повысить производительнось словарей можно следующими способами:
@ -125,7 +125,7 @@ range_hashed
+------------------+-----------------------------+------------+----------+
```
Чтобы использовать выборку по диапазонам дат, необходимо в [structure](../external_dicts_dict_structure.html#dicts-external_dicts_dict_structure) определить элементы `range_min`, `range_max`.
Чтобы использовать выборку по диапазонам дат, необходимо в [structure](external_dicts_dict_structure.md#dicts-external_dicts_dict_structure) определить элементы `range_min`, `range_max`.
Пример:
@ -203,7 +203,7 @@ cache
Чтобы увеличить производительность кэша, используйте подзапрос с `LIMIT`, а снаружи вызывайте функцию со словарём.
Поддерживаются [источники](../external_dicts_dict_sources.html#dicts-external_dicts_dict_sources): MySQL, ClickHouse, executable, HTTP.
Поддерживаются [источники](external_dicts_dict_sources.md#dicts-external_dicts_dict_sources): MySQL, ClickHouse, executable, HTTP.
Пример настройки:
@ -234,4 +234,4 @@ cache
complex_key_cache
-----------------
Тип размещения предназначен для использования с составными [ключами](../external_dicts_dict_structure.html#dicts-external_dicts_dict_structure). Аналогичен `cache`.
Тип размещения предназначен для использования с составными [ключами](external_dicts_dict_structure.md#dicts-external_dicts_dict_structure). Аналогичен `cache`.

View File

@ -34,7 +34,7 @@ ClickHouse периодически обновляет словари. Инте
</dictionary>
```
При обновлении словарей сервер ClickHouse применяет различную логику в зависимости от типа [источника](../external_dicts_dict_sources.html#dicts-external_dicts_dict_sources):
При обновлении словарей сервер ClickHouse применяет различную логику в зависимости от типа [источника](external_dicts_dict_sources.md#dicts-external_dicts_dict_sources):
> - У текстового файла проверяется время модификации. Если время изменилось по отношению к запомненному ранее, то словарь обновляется.
> - Для таблиц типа MyISAM, время модификации проверяется запросом `SHOW TABLE STATUS`.
@ -43,7 +43,7 @@ ClickHouse периодически обновляет словари. Инте
Для источников MySQL (InnoDB), ODBC можно настроить запрос, который позволит обновлять словари только в случае их фактического изменения, а не каждый раз. Чтобы это сделать необходимо выполнить следующие условия/действия:
> - В таблице словаря должно быть поле, которое гарантированно изменяется при обновлении данных в источнике.
> - В настройках источника указывается запрос, который получает изменяющееся поле. Результат запроса сервер ClickHouse интерпретирует как строку и если эта строка изменилась по отношению к предыдущему состоянию, то словарь обновляется. Запрос следует указывать в поле `<invalidate_query>` настроек [источника](../external_dicts_dict_sources.html#dicts-external_dicts_dict_sources).
> - В настройках источника указывается запрос, который получает изменяющееся поле. Результат запроса сервер ClickHouse интерпретирует как строку и если эта строка изменилась по отношению к предыдущему состоянию, то словарь обновляется. Запрос следует указывать в поле `<invalidate_query>` настроек [источника](external_dicts_dict_sources.md#dicts-external_dicts_dict_sources).
Пример настройки:

View File

@ -54,14 +54,14 @@
Поля настройки:
- `path` - Абсолютный путь к файлу.
- `format` - Формат файла. Поддерживаются все форматы, описанные в разделе "[Форматы](../../formats/index.html#formats)".
- `format` - Формат файла. Поддерживаются все форматы, описанные в разделе "[Форматы](../formats/index.md#formats)".
<a name="dicts-external_dicts_dict_sources-executable"></a>
Исполняемый файл
----------------
Работа с исполняемым файлом зависит от [размещения словаря в памяти](../external_dicts_dict_layout.html#dicts-external_dicts_dict_layout). Если тип размещения словаря `cache` и `complex_key_cache`, то ClickHouse запрашивает необходимые ключи, отправляя запрос в `STDIN` исполняемого файла.
Работа с исполняемым файлом зависит от [размещения словаря в памяти](external_dicts_dict_layout.md#dicts-external_dicts_dict_layout). Если тип размещения словаря `cache` и `complex_key_cache`, то ClickHouse запрашивает необходимые ключи, отправляя запрос в `STDIN` исполняемого файла.
Пример настройки:
@ -77,14 +77,14 @@
Поля настройки:
- `command` - Абсолютный путь к исполняемому файлу или имя файла (если каталог программы прописан в `PATH`).
- `format` - Формат файла. Поддерживаются все форматы, описанные в разделе "[Форматы](../../formats/index.html#formats)".
- `format` - Формат файла. Поддерживаются все форматы, описанные в разделе "[Форматы](../formats/index.md#formats)".
<a name="dicts-external_dicts_dict_sources-http"></a>
HTTP(s)
-------
Работа с HTTP(s) сервером зависит от [размещения словаря в памяти](../external_dicts_dict_layout.html#dicts-external_dicts_dict_layout). Если тип размещения словаря `cache` и `complex_key_cache`, то ClickHouse запрашивает необходимые ключи, отправляя запрос методом `POST`.
Работа с HTTP(s) сервером зависит от [размещения словаря в памяти](external_dicts_dict_layout.md#dicts-external_dicts_dict_layout). Если тип размещения словаря `cache` и `complex_key_cache`, то ClickHouse запрашивает необходимые ключи, отправляя запрос методом `POST`.
Пример настройки:
@ -97,12 +97,12 @@ HTTP(s)
</source>
```
Чтобы ClickHouse смог обратиться к HTTPS-ресурсу, необходимо [настроить openSSL](../../operations/server_settings/settings.html#server_settings-openSSL) в конфигурации сервера.
Чтобы ClickHouse смог обратиться к HTTPS-ресурсу, необходимо [настроить openSSL](../operations/server_settings/settings.md#server_settings-openSSL) в конфигурации сервера.
Поля настройки:
- `url` - URL источника.
- `format` - Формат файла. Поддерживаются все форматы, описанные в разделе "[Форматы](../../formats/index.html#formats)".
- `format` - Формат файла. Поддерживаются все форматы, описанные в разделе "[Форматы](../formats/index.md#formats)".
<a name="dicts-external_dicts_dict_sources-odbc"></a>
@ -127,7 +127,7 @@ ODBC
- `db` - имя базы данных. Не указывать, если имя базы задано в параметрах `<connection_string>`.
- `table` - имя таблицы.
- `connection_string` - строка соединения.
- `invalidate_query` - запрос для проверки статуса словаря. Необязательный параметр. Читайте подробнее в разделе [Обновление словарей](../external_dicts_dict_lifetime.html#dicts-external_dicts_dict_lifetime).
- `invalidate_query` - запрос для проверки статуса словаря. Необязательный параметр. Читайте подробнее в разделе [Обновление словарей](external_dicts_dict_lifetime.md#dicts-external_dicts_dict_lifetime).
Пример подключения PostgreSQL
-----------------------------
@ -317,7 +317,7 @@ ODBC
- `db` - имя базы данных.
- `table` - имя таблицы.
- `where` - условие выбора. Необязательный параметр.
- `invalidate_query` - запрос для проверки статуса словаря. Необязательный параметр. Читайте подробнее в разделе [Обновление словарей](../external_dicts_dict_lifetime.html#dicts-external_dicts_dict_lifetime).
- `invalidate_query` - запрос для проверки статуса словаря. Необязательный параметр. Читайте подробнее в разделе [Обновление словарей](external_dicts_dict_lifetime.md#dicts-external_dicts_dict_lifetime).
MySQL можно подключить на локальном хосте через сокеты, для этого необходимо задать `host` и `socket`.
@ -360,7 +360,7 @@ MySQL можно подключить на локальном хосте чер
Поля настройки:
- `host` - хост ClickHouse. Если host локальный, то запрос выполняется без сетевого взаимодействия. Чтобы повысить отказоустойчивость решения, можно создать таблицу типа [Distributed](../../table_engines/distributed.html#table_engines-distributed) и прописать её в дальнейших настройках.
- `host` - хост ClickHouse. Если host локальный, то запрос выполняется без сетевого взаимодействия. Чтобы повысить отказоустойчивость решения, можно создать таблицу типа [Distributed](../table_engines/distributed.md#table_engines-distributed) и прописать её в дальнейших настройках.
- `port` - порт сервера ClickHouse.
- `user` - имя пользователя ClickHouse.
- `password` - пароль пользователя ClickHouse.

View File

@ -26,8 +26,8 @@
В структуре описываются столбцы:
- `<id>` -[ключевой столбец](../external_dicts_dict_structure.html#dicts-external_dicts_dict_structure-key).
- `<attribute>` -[столбец данных](../external_dicts_dict_structure.html#dicts-external_dicts_dict_structure-attributes). Столбцов может быть много.
- `<id>` -[ключевой столбец](external_dicts_dict_structure.md#dicts-external_dicts_dict_structure-key).
- `<attribute>` -[столбец данных](external_dicts_dict_structure.md#dicts-external_dicts_dict_structure-attributes). Столбцов может быть много.
<a name="dicts-external_dicts_dict_structure-key"></a>
@ -65,7 +65,7 @@ ClickHouse поддерживает следующие виды ключей:
### Составной ключ
Ключем может быть кортеж (`tuple`) из полей произвольных типов. [layout](../external_dicts_dict_layout.html#dicts-external_dicts_dict_layout) в этом случае должен быть `complex_key_hashed` или `complex_key_cache`.
Ключем может быть кортеж (`tuple`) из полей произвольных типов. [layout](external_dicts_dict_layout.md#dicts-external_dicts_dict_layout) в этом случае должен быть `complex_key_hashed` или `complex_key_cache`.
<div class="admonition tip">
@ -73,7 +73,7 @@ Cоставной ключ может состоять и из одного эл
</div>
Структура ключа задаётся в элементе `<key>`. Поля ключа задаются в том же формате, что и [атрибуты](../external_dicts_dict_structure.html#dicts-external_dicts_dict_structure-attributes) словаря. Пример:
Структура ключа задаётся в элементе `<key>`. Поля ключа задаются в том же формате, что и [атрибуты](external_dicts_dict_structure.md#dicts-external_dicts_dict_structure-attributes) словаря. Пример:
```xml
<structure>

View File

@ -1,3 +1,5 @@
<a name="format_capnproto"></a>
CapnProto
=========
@ -6,10 +8,11 @@ Cap'n Proto - формат бинарных сообщений, похож на
Сообщения Cap'n Proto строго типизированы и не самоописывающиеся, т.е. нуждаются во внешнем описании схемы. Схема применяется "на лету" и кешируется для каждого запроса.
```sql
SELECT SearchPhrase, count() AS c FROM test.hits GROUP BY SearchPhrase FORMAT CapnProto SETTINGS schema = 'schema.capnp:Message'
SELECT SearchPhrase, count() AS c FROM test.hits
GROUP BY SearchPhrase FORMAT CapnProto SETTINGS schema = 'schema:Message'
```
When the schema file looks like:
Где `schema.capnp` выглядит следующим образом:
```
struct Message {
@ -18,4 +21,7 @@ struct Message {
}
```
Файлы со схемами находятся в файле, который находится в каталоге указанном в параметре [format_schema_path](../operations/server_settings/settings.md#server_settings-format_schema_path) конфигурации сервера.
Десериализация эффективна и обычно не повышает нагрузку на систему.

View File

@ -3,7 +3,7 @@
### hex
Принимает строку, целое беззнаковое число, дату или дату-с-временем. Возвращает строку, содержащую шестнадцатеричное представление аргумента. Используются заглавные буквы A-F. Не используются префиксы 0x и суффиксы h. Для строк просто все байты кодируются в виде двух шестнадцатеричных цифр. Числа выводятся в big endian ("человеческом") формате. Для чисел вырезаются старшие нули, но только по целым байтам. Например, hex(1) = '01'. Даты кодируются как число дней с начала unix-эпохи. Даты-с-временем кодируются как число секунд с начала unix-эпохи.
Принимает аргументы типов: `String`, `unsigned integer`, `Date`, or `DateTime`. Возвращает строку, содержащую шестнадцатеричное представление аргумента. Используются заглавные буквы `A-F`. Не используются префиксы `0x` и суффиксы `h`. Для строк просто все байты кодируются в виде двух шестнадцатеричных цифр. Числа выводятся в big endian ("человеческом") формате. Для чисел вырезаются старшие нули, но только по целым байтам. Например, `hex(1) = '01'`. `Date` кодируется как число дней с начала unix-эпохи. `DateTime` кодируются как число секунд с начала unix-эпохи.
### unhex(str)
Принимает строку, содержащую произвольное количество шестнадцатеричных цифр, и возвращает строку, содержащую соответствующие байты. Поддерживаются как строчные, так и заглавные буквы A-F. Число шестнадцатеричных цифр не обязано быть чётным. Если оно нечётное - последняя цифра интерпретируется как младшая половинка байта 00-0F. Если строка-аргумент содержит что-либо кроме шестнадцатеричных цифр, то будет возвращён какой-либо implementation-defined результат (не кидается исключение).

View File

@ -3,7 +3,7 @@
Функции для работы с внешними словарями
=======================================
Информация о подключении и настройке внешних словарей смотрите в разделе "[Внешние словари](../../dicts/external_dicts.html#dicts-external_dicts)".
Информация о подключении и настройке внешних словарей смотрите в разделе "[Внешние словари](../dicts/external_dicts.md#dicts-external_dicts)".
### dictGetUInt8, dictGetUInt16, dictGetUInt32, dictGetUInt64

View File

@ -58,4 +58,4 @@ ClickHouse поддерживает таблицы с первичным клю
## Репликация данных, поддержка целостности данных на репликах
Используется асинхронная multimaster репликация. После записи на любую доступную реплику, данные распространяются на все остальные реплики. Система поддерживает полную идентичность данных на разных репликах. Восстановление после сбоя осуществляется автоматически, а в сложных случаях - "по кнопке".
Подробнее смотрите раздел [Репликация данных](../../table_engines/replication.html#table_engines-replication).
Подробнее смотрите раздел [Репликация данных](../table_engines/replication.md#table_engines-replication).

View File

@ -62,7 +62,7 @@
Здесь видно объявление двух пользователей - `default` и `web`. Пользователя `web` мы добавили самостоятельно.
Пользователь `default` выбирается в случаях, когда имя пользователя не передаётся. Также пользователь `default` может использоваться при распределённой обработке запроса - если в конфигурации кластера для сервера не указаны `user` и `password`. (см. раздел о движке [Distributed](../../table_engines/distributed.html)).
Пользователь `default` выбирается в случаях, когда имя пользователя не передаётся. Также пользователь `default` может использоваться при распределённой обработке запроса - если в конфигурации кластера для сервера не указаны `user` и `password`. (см. раздел о движке [Distributed](../table_engines/distributed.html)).
Пользователь, который используется для обмена информацией между серверами, объединенными в кластер, не должен иметь существенных ограничений или квот - иначе распределённые запросы сломаются.
@ -98,4 +98,4 @@
Пользователь может получить список всех БД и таблиц в них с помощью запросов `SHOW` или системных таблиц, даже если у него нет доступа к отдельным ДБ.
Доступ к БД не связан с настройкой [readonly](../settings/query_complexity.html#query_complexity_readonly). Невозможно дать полный доступ к одной БД и `readonly` к другой.
Доступ к БД не связан с настройкой [readonly](settings/query_complexity.md#query_complexity_readonly). Невозможно дать полный доступ к одной БД и `readonly` к другой.

View File

@ -15,7 +15,7 @@
Если указано `remove` - удалить элемент.
Также в конфиге могут быть указаны "подстановки". Если у элемента присутствует атрибут `incl`, то в качестве значения будет использована соответствующая подстановка из файла. По умолчанию, путь к файлу с подстановками - `/etc/metrika.xml`. Он может быть изменён в конфигурации сервера в элементе [include_from](../server_settings/settings.html#server_settings-include_from). Значения подстановок указываются в элементах `/yandex/имя_подстановки` этого файла. Если подстановка, заданная в `incl` отсутствует, то в лог попадает соответствующая запись. Чтобы ClickHouse не писал в лог об отсутствии подстановки, необходимо указать атрибут `optional="true"` (например, настройка [macros](../server_settings/settings.html#server_settings-macros)).
Также в конфиге могут быть указаны "подстановки". Если у элемента присутствует атрибут `incl`, то в качестве значения будет использована соответствующая подстановка из файла. По умолчанию, путь к файлу с подстановками - `/etc/metrika.xml`. Он может быть изменён в конфигурации сервера в элементе [include_from](server_settings/settings.md#server_settings-include_from). Значения подстановок указываются в элементах `/yandex/имя_подстановки` этого файла. Если подстановка, заданная в `incl` отсутствует, то в лог попадает соответствующая запись. Чтобы ClickHouse не писал в лог об отсутствии подстановки, необходимо указать атрибут `optional="true"` (например, настройка [macros](server_settings/settings.md#server_settings-macros)).
Подстановки могут также выполняться из ZooKeeper. Для этого укажите у элемента атрибут `from_zk="/path/to/node"`. Значение элемента заменится на содержимое узла `/path/to/node` в ZooKeeper. В ZooKeeper-узел также можно положить целое XML-поддерево, оно будет целиком вставлено в исходный элемент.

View File

@ -7,9 +7,9 @@
Рассмотренные настройки хранятся в файле `config.xml` сервера ClickHouse.
Прочие настройки описаны в разделе "[Настройки](../../settings/index.html#settings)".
Прочие настройки описаны в разделе "[Настройки](../settings/index.md#settings)".
Перед изучением настроек ознакомьтесь с разделом [Конфигурационные файлы](../../configuration_files.html#configuration_files), обратите внимание на использование подстановок (атрибуты `incl` и `optional`).
Перед изучением настроек ознакомьтесь с разделом [Конфигурационные файлы](../configuration_files.md#configuration_files), обратите внимание на использование подстановок (атрибуты `incl` и `optional`).
```eval_rst
.. toctree::

View File

@ -68,7 +68,7 @@ default_database
База данных по умолчанию.
Перечень баз данных можно получить запросом [SHOW DATABASES](../../query_language/queries.html#query_language_queries_show_databases).
Перечень баз данных можно получить запросом [SHOW DATABASES](../query_language/queries.md#query_language_queries_show_databases).
**Пример**
@ -103,7 +103,7 @@ dictionaries_config
- Указывается абсолютным или относительно конфигурационного файла сервера.
- Может содержать wildcard-ы \* и ?.
Смотрите также "[Внешние словари](../../../dicts/external_dicts.html#dicts-external_dicts)".
Смотрите также "[Внешние словари](../../dicts/external_dicts.md#dicts-external_dicts)".
**Пример**
@ -130,6 +130,21 @@ dictionaries_lazy_load
<dictionaries_lazy_load>true</dictionaries_lazy_load>
```
<a name="server_settings-format_schema_path"></a>
format_schema_path
==================
Путь к каталогу со схемами для входных данных. Например со схемами для формата [CapnProto](../../formats/capnproto.md#format_capnproto).
**Пример**
```xml
<!-- Directory containing schema files for various input formats. -->
<format_schema_path>format_schemas/</format_schema_path>
```
<a name="server_settings-graphite"></a>
graphite
@ -172,7 +187,7 @@ graphite_rollup
Настройка прореживания данных для Graphite.
Подробнее читайте в разделе [GraphiteMergeTree](../../../table_engines/graphitemergetree.html#table_engines-graphitemergetree).
Подробнее читайте в разделе [GraphiteMergeTree](../../table_engines/graphitemergetree.md#table_engines-graphitemergetree).
**Пример**
@ -237,7 +252,7 @@ include_from
Путь к файлу с подстановками.
Подробности смотрите в разделе "[Конфигурационный файлы](../../configuration_files.html#configuration_files)".
Подробности смотрите в разделе "[Конфигурационный файлы](../configuration_files.md#configuration_files)".
**Пример**
@ -338,7 +353,7 @@ macros
Можно не указывать, если реплицируемых таблицы не используются.
Подробнее смотрите в разделе "[Создание реплицируемых таблиц](../../../table_engines/replication.html#table_engines-replication-creation_of_rep_tables)".
Подробнее смотрите в разделе "[Создание реплицируемых таблиц](../../table_engines/replication.md#table_engines-replication-creation_of_rep_tables)".
**Пример**
@ -351,7 +366,7 @@ macros
mark_cache_size
=================
Приблизительный размер (в байтах) кеша "засечек", используемых движками таблиц семейства [MergeTree](../../../table_engines/mergetree.html#table_engines-mergetree).
Приблизительный размер (в байтах) кеша "засечек", используемых движками таблиц семейства [MergeTree](../../table_engines/mergetree.md#table_engines-mergetree).
Кеш общий для сервера, память выделяется по мере необходимости. Кеш не может быть меньше, чем 5368709120.
@ -411,7 +426,7 @@ max_table_size_to_drop
Ограничение на удаление таблиц.
Если размер таблицы семейства [MergeTree](../../../table_engines/mergetree.html#table_engines-mergetree) превышает `max_table_size_to_drop` (в байтах), то ее нельзя удалить запросом DROP.
Если размер таблицы семейства [MergeTree](../../table_engines/mergetree.md#table_engines-mergetree) превышает `max_table_size_to_drop` (в байтах), то ее нельзя удалить запросом DROP.
Если таблицу все же необходимо удалить, не перезапуская при этом сервер ClickHouse, то необходимо создать файл `<clickhouse-path>/flags/force_drop_table` и выполнить запрос DROP.
@ -430,7 +445,7 @@ max_table_size_to_drop
merge_tree
===========
Тонкая настройка таблиц семейства [MergeTree](../../../table_engines/mergetree.html#table_engines-mergetree).
Тонкая настройка таблиц семейства [MergeTree](../../table_engines/mergetree.md#table_engines-mergetree).
Подробнее смотрите в заголовочном файле MergeTreeSettings.h.
@ -509,7 +524,7 @@ openSSL
part_log
=========
Логгирование событий, связанных с данными типа [MergeTree](../../../table_engines/mergetree.html#table_engines-mergetree). Например, события добавления или мержа данных. Лог можно использовать для симуляции алгоритмов слияния, чтобы сравнивать их характеристики. Также, можно визуализировать процесс слияния.
Логгирование событий, связанных с данными типа [MergeTree](../../table_engines/mergetree.md#table_engines-mergetree). Например, события добавления или мержа данных. Лог можно использовать для симуляции алгоритмов слияния, чтобы сравнивать их характеристики. Также, можно визуализировать процесс слияния.
Запросы логгируются не в отдельный файл, а в таблицу ClickHouse.
@ -595,7 +610,7 @@ remote_servers
Конфигурация кластеров, которые использует движок таблиц Distributed.
Пример настройки смотрите в разделе "[Движки таблиц/Distributed](../../../table_engines/distributed.html#table_engines-distributed)".
Пример настройки смотрите в разделе "[Движки таблиц/Distributed](../../table_engines/distributed.md#table_engines-distributed)".
**Пример**
@ -603,7 +618,7 @@ remote_servers
<remote_servers incl="clickhouse_remote_servers" />
```
Значение атрибута `incl` смотрите в разделе "[Конфигурационные файлы](../../configuration_files.html#configuration_files)".
Значение атрибута `incl` смотрите в разделе "[Конфигурационные файлы](../configuration_files.md#configuration_files)".
<a name="server_settings-resharding"></a>
@ -612,7 +627,7 @@ resharding
Путь в ZooKeeper к очереди задач.
Подробнее читайте в разделе "[Перешардирование](../../../table_engines/resharding.html#table_engines-resharding)".
Подробнее читайте в разделе "[Перешардирование](../../table_engines/resharding.md#table_engines-resharding)".
**Пример**
@ -676,9 +691,9 @@ tmp_path
uncompressed_cache_size
=========================
Размер кеша (в байтах) для несжатых данных, используемых движками таблиц семейства [MergeTree](../../../table_engines/mergetree.html#table_engines-mergetree).
Размер кеша (в байтах) для несжатых данных, используемых движками таблиц семейства [MergeTree](../../table_engines/mergetree.md#table_engines-mergetree).
Кеш единый для сервера. Память выделяется по-требованию. Кеш используется в том случае, если включена опция [use_uncompressed_cache](../../settings/settings.html#settings-use_uncompressed_cache).
Кеш единый для сервера. Память выделяется по-требованию. Кеш используется в том случае, если включена опция [use_uncompressed_cache](../settings/settings.md#settings-use_uncompressed_cache).
Несжатый кеш выгодно использовать для очень коротких запросов в отдельных случаях.
@ -717,7 +732,7 @@ ClickHouse использует ZooKeeper для хранения метадан
Параметр можно не указывать, если реплицированные таблицы не используются.
Подробно читайте в разделе "[Репликация](../../../table_engines/replication.html#table_engines-replication)".
Подробно читайте в разделе "[Репликация](../../table_engines/replication.md#table_engines-replication)".
**Пример**

View File

@ -3,7 +3,7 @@
distributed_product_mode
==========================
Изменяет поведение [распределенных подзапросов](../../../query_language/queries.html#queries-distributed-subrequests), т.е. в тех случаях, когда запрос содержит произведение распределённых таблиц.
Изменяет поведение [распределенных подзапросов](../../query_language/queries.md#queries-distributed-subrequests), т.е. в тех случаях, когда запрос содержит произведение распределённых таблиц.
ClickHouse применяет настройку в том случае, когда в подзапросах на любом уровне встретилась распределенная таблица, которая существует на локальном сервере и имеет больше одного шарда.
@ -11,7 +11,7 @@ ClickHouse применяет настройку в том случае, ког
- Только подзапросы для IN, JOIN.
- Только если в секции FROM используется распределённая таблица.
- Не используется в случае табличной функции [remote](../../../table_functions/remote.html#table_functions-remote).
- Не используется в случае табличной функции [remote](../../table_functions/remote.md#table_functions-remote).
Возможные значения:
@ -20,7 +20,7 @@ ClickHouse применяет настройку в том случае, ког
fallback_to_stale_replicas_for_distributed_queries
========================================================
Форсирует запрос в устаревшую реплику в случае, если актуальные данные недоступны. Смотрите "[Репликация](../../../table_engines/replication.html#table_engines-replication)".
Форсирует запрос в устаревшую реплику в случае, если актуальные данные недоступны. Смотрите "[Репликация](../../table_engines/replication.md#table_engines-replication)".
Из устаревших реплик таблицы ClickHouse выбирает наиболее актуальную.
@ -37,7 +37,7 @@ force_index_by_date
Работает с таблицами семейства MergeTree.
При `force_index_by_date=1` ClickHouse проверяет, есть ли в запросе условие на ключ даты, которое может использоваться для отсечения диапазонов данных. Если подходящего условия нет - кидается исключение. При этом не проверяется, действительно ли условие уменьшает объём данных для чтения. Например, условие `Date != '2000-01-01'` подходит даже в том случае, когда соответствует всем данным в таблице (т.е. для выполнения запроса требуется full scan). Подробнее про диапазоны данных в таблицах MergeTree читайте в разделе "[MergeTree](../../../table_engines/mergetree.html#table_engines-mergetree)".
При `force_index_by_date=1` ClickHouse проверяет, есть ли в запросе условие на ключ даты, которое может использоваться для отсечения диапазонов данных. Если подходящего условия нет - кидается исключение. При этом не проверяется, действительно ли условие уменьшает объём данных для чтения. Например, условие `Date != '2000-01-01'` подходит даже в том случае, когда соответствует всем данным в таблице (т.е. для выполнения запроса требуется full scan). Подробнее про диапазоны данных в таблицах MergeTree читайте в разделе "[MergeTree](../../table_engines/mergetree.md#table_engines-mergetree)".
<a name="settings-settings-force_primary_key"></a>
@ -48,7 +48,7 @@ force_primary_key
Работает с таблицами семейства MergeTree.
При `force_primary_key=1` ClickHouse проверяет, есть ли в запросе условие на первичный ключ, которое может использоваться для отсечения диапазонов данных. Если подходящего условия нет - кидается исключение. При этом не проверяется, действительно ли условие уменьшает объём данных для чтения. Подробнее про диапазоны данных в таблицах MergeTree читайте в разделе "[MergeTree](../../../table_engines/mergetree.html#table_engines-mergetree)".
При `force_primary_key=1` ClickHouse проверяет, есть ли в запросе условие на первичный ключ, которое может использоваться для отсечения диапазонов данных. Если подходящего условия нет - кидается исключение. При этом не проверяется, действительно ли условие уменьшает объём данных для чтения. Подробнее про диапазоны данных в таблицах MergeTree читайте в разделе "[MergeTree](../../table_engines/mergetree.md#table_engines-mergetree)".
<a name="settings_settings_fsync_metadata"></a>
@ -109,7 +109,7 @@ log_queries
Установка логгирования запроса.
Запросы, переданные в ClickHouse с этой установкой, логгируются согласно правилам конфигурационного параметра сервера [query_log](../../server_setings/settings.html#server_settings-query_log).
Запросы, переданные в ClickHouse с этой установкой, логгируются согласно правилам конфигурационного параметра сервера [query_log](../server_setings/settings.md#server_settings-query_log).
**Пример** :
@ -135,7 +135,7 @@ max_insert_block_size
max_replica_delay_for_distributed_queries
==============================================
Отключает отстающие реплики при распределенных запросах. Смотрите "[Репликация](../../../table_engines/replication.html#table_engines-replication)".
Отключает отстающие реплики при распределенных запросах. Смотрите "[Репликация](../../table_engines/replication.md#table_engines-replication)".
Устанавливает время в секундах. Если оставание реплики больше установленного значения, то реплика не используется.
@ -170,7 +170,7 @@ max_compress_block_size
min_compress_block_size
==========================
Для таблиц типа "[MergeTree](../../../table_engines/mergetree.html#table_engines-mergetree)". В целях уменьшения задержек при обработке запросов, блок сжимается при записи следующей засечки, если его размер не меньше min_compress_block_size. По умолчанию - 65 536.
Для таблиц типа "[MergeTree](../../table_engines/mergetree.md#table_engines-mergetree)". В целях уменьшения задержек при обработке запросов, блок сжимается при записи следующей засечки, если его размер не меньше min_compress_block_size. По умолчанию - 65 536.
Реальный размер блока, если несжатых данных меньше max_compress_block_size, будет не меньше этого значения и не меньше объёма данных на одну засечку.
@ -378,7 +378,7 @@ strict_insert_defaults
Строгое присвоение значений по умолчанию при добавлении данных.
Если при выполнении запроса [INSERT](../../../query_language/queries.html#queries-insert) данные для столбца не заданы, то ClickHouse присваивает полям значения по умолчанию. Значения по умолчанию определяются свойством `DEFAULT` для каждого столбца в настройках таблицы. Если для столбца не определен `DEFAULT`, то когда:
Если при выполнении запроса [INSERT](../../query_language/queries.md#queries-insert) данные для столбца не заданы, то ClickHouse присваивает полям значения по умолчанию. Значения по умолчанию определяются свойством `DEFAULT` для каждого столбца в настройках таблицы. Если для столбца не определен `DEFAULT`, то когда:
- `strict_insert_defaults=0` - полям столбца присваиваются нули и пустые строки.
- `strict_insert_defaults=1` - ClickHouse генерирует исключение и обязывает пользователя передать данные в столбец.

View File

@ -567,9 +567,9 @@ INSERT INTO [db.]table [(c1, c2, c3)] VALUES (v11, v12, v13), (v21, v22, v23), .
- Значения, вычисляемые из `DEFAULT` выражений, указанных в определении таблицы.
- Нули и пустые строки, если `DEFAULT` не определены.
Если [strict_insert_defaults=1](../../operations/settings/settings.html#settings-strict_insert_defaults), то столбцы, для которых не определены `DEFAULT`, необходимо перечислить в запросе.
Если [strict_insert_defaults=1](../operations/settings/settings.md#settings-strict_insert_defaults), то столбцы, для которых не определены `DEFAULT`, необходимо перечислить в запросе.
В INSERT можно передавать данные любого [формата](../../formats/index.html#formats), который поддерживает ClickHouse. Для этого формат необходимо указать в запросе в явном виде:
В INSERT можно передавать данные любого [формата](../formats/index.md#formats), который поддерживает ClickHouse. Для этого формат необходимо указать в запросе в явном виде:
```sql
INSERT INTO [db.]table [(c1, c2, c3)] FORMAT format_name data_set
@ -591,7 +591,7 @@ INSERT INTO t FORMAT TabSeparated
22 Qwerty
```
С помощью консольного клиента или HTTP интерфейса можно вставлять данные отдельно от запроса. Как это сделать, читайте в разделе "[Интерфейсы](../../interfaces/index.html#interfaces)".
С помощью консольного клиента или HTTP интерфейса можно вставлять данные отдельно от запроса. Как это сделать, читайте в разделе "[Интерфейсы](../interfaces/index.md#interfaces)".
Вставка результатов `SELECT`
============================
@ -1363,7 +1363,7 @@ ORDER BY EventDate ASC
<div class="admonition attention">
Помните, что алгоритмы, описанные ниже, могут работать иначе в зависимости от [настройки](../../operations/settings/settings.html#settings-distributed_product_mode) `distributed_product_mode`.
Помните, что алгоритмы, описанные ниже, могут работать иначе в зависимости от [настройки](../operations/settings/settings.md#settings-distributed_product_mode) `distributed_product_mode`.
</div>

View File

@ -1,13 +1,13 @@
system.parts
============
Содержит информацию о кусках таблиц семейства [MergeTree](../../table_engines/mergetree.html#table_engines-mergetree).
Содержит информацию о кусках таблиц семейства [MergeTree](../table_engines/mergetree.md#table_engines-mergetree).
Каждая строка описывает один кусок данных.
Столбцы:
- partition (String) - Имя партиции. Формат YYYYMM. Что такое партиция можно узнать из описания запроса [ALTER](../../query_language/queries.html#query_language_queries_alter).
- partition (String) - Имя партиции. Формат YYYYMM. Что такое партиция можно узнать из описания запроса [ALTER](../query_language/queries.md#query_language_queries_alter).
- name (String) - Имя куска.
- active (UInt8) - Признак активности. Если кусок активен, то он используется таблице, в противном случает он будет удален. Неактивные куски остаются после слияний.
- marks (UInt64) - Количество засечек. Чтобы получить примерное количество строк в куске, умножьте ``marks`` на гранулированность индекса (обычно 8192).

View File

@ -9,13 +9,13 @@ Graphite хранит в ClickHouse полные данные, а получат
- Без прореживания.
Используется движок [MergeTree](../mergetree.html#table_engines-mergetree).
Используется движок [MergeTree](mergetree.md#table_engines-mergetree).
- С прореживанием.
Используется движок `GraphiteMergeTree`.
Движок наследует свойства MergeTree. Настройки прореживания данных задаются параметром [graphite_rollup](../../operations/server_settings/settings.html#server_settings-graphite_rollup) в конфигурации сервера .
Движок наследует свойства MergeTree. Настройки прореживания данных задаются параметром [graphite_rollup](../operations/server_settings/settings.md#server_settings-graphite_rollup) в конфигурации сервера .
Использование движка
--------------------

View File

@ -14,34 +14,64 @@ Kafka(broker_list, topic_list, group_name, format[, schema])
Параметры:
- `broker_list` - Перечень брокеров, разделенный запятыми (`localhost:9092`).
- `topic_list` - Перечень топиков Kafka(``my_topic``).
- `group_name` - Группа потребителя Kafka (``group1``). Отступы для чтения отслеживаются для каждой группы отдельно.
- `topic_list` - Перечень необходимых топиков Kafka (`my_topic`).
- `group_name` - Группа потребителя Kafka (`group1`). Отступы для чтения отслеживаются для каждой группы отдельно. Если необходимо, чтобы сообщения не повторялись на кластере, используйте везде одно имя группы.
- `format` - Формат сообщений. Имеет те же обозначения, что выдает SQL-выражение `FORMAT`, например, `JSONEachRow`.
- `schema` - Опциональный параметр, необходимый, если используется формат, требующий определения схемы. Например, [Cap'n Proto](https://capnproto.org/) требует путь к файлу со схемой и название корневого объекта `schema.capnp:Message`.
Пример:
```sql
CREATE TABLE queue (timestamp UInt64, level String, message String) ENGINE = Kafka('localhost:9092', 'topic', 'group1', 'JSONEachRow');
SELECT * FROM queue LIMIT 5
CREATE TABLE queue (
timestamp UInt64,
level String,
message String
) ENGINE = Kafka('localhost:9092', 'topic', 'group1', 'JSONEachRow');
SELECT * FROM queue LIMIT 5;
```
Полученные сообщения отслеживаются автоматически, поэтому из одной группы каждое сообщение считывается только один раз. Если необходимо получить данные дважды, то создайте копию таблицы с другим именем группы.
Группы пластичны и синхронизированы на кластере. Например, если есть 10 топиков и 5 копий таблицы в кластере, то в каждую копию попадет по 2 топика. Если количество копий изменится, то распределение топиков по копиям изменится автоматически. Подробно читайте об этом на [http://kafka.apache.org/intro](http://kafka.apache.org/intro).
Kafka обычно используется для построения систем работающих в режиме реального времени. Если к движку присоединить материализованные представления (`MATERIALIZED VIEW`), то он будет в фоновом режиме собирать данные и раскладывать их в соответствующие представления. Что позволяет непрерывно получать сообщения от Kafka и преобразовывать их в необходимый формат с помощью `SELECT`.
Чтение сообщения с помощью `SELECT` не слишком полезно (разве что для отладки), поскольку каждое сообщения может быть прочитано только один раз. Практичнее создавать потоки реального времени с помощью материализованных преставлений. Для этого:
1. Создайте потребителя Kafka с помощью движка и рассматривайте его как поток данных.
2. Создайте таблицу с необходимой структурой.
3. Создайте материализованное представление, которое преобразует данные от движка и помещает их в ранее созданную таблицу.
Когда к движку присоединяется материализованное представление (`MATERIALIZED VIEW`), оно начинает в фоновом режиме собирать данные. Это позволяет непрерывно получать сообщения от Kafka и преобразовывать их в необходимый формат с помощью `SELECT`.
Пример:
```sql
CREATE TABLE queue (timestamp UInt64, level String, message String) ENGINE = Kafka('localhost:9092', 'topic', 'group1', 'JSONEachRow');
CREATE TABLE queue (
timestamp UInt64,
level String,
message String
) ENGINE = Kafka('localhost:9092', 'topic', 'group1', 'JSONEachRow');
CREATE MATERIALIZED VIEW daily ENGINE = SummingMergeTree(day, (day, level), 8192) AS
SELECT toDate(toDateTime(timestamp)) AS day, level, count() as total
FROM queue GROUP BY day, level;
CREATE TABLE daily (
day Date,
level String,
total UInt64
) ENGINE = SummingMergeTree(day, (day, level), 8192);
CREATE MATERIALIZED VIEW consumer TO daily
AS SELECT toDate(toDateTime(timestamp)) AS day, level, count() as total
FROM queue GROUP BY day, level;
SELECT level, sum(total) FROM daily GROUP BY level;
```
Для улучшения производительности полученные сообщения группируются в блоки размера [max_insert_block_size](../../operations/settings/settings.html#settings-settings-max_insert_block_size). Если блок не удалось сформировать за [stream_flush_interval_ms](../../operations/settings/settings.html#settings-settings_stream_flush_interval_ms) миллисекунд, то данные будут сброшены в таблицу независимо от полноты блока.
Для улучшения производительности полученные сообщения группируются в блоки размера [max_insert_block_size](../operations/settings/settings.md#settings-settings-max_insert_block_size). Если блок не удалось сформировать за [stream_flush_interval_ms](../operations/settings/settings.md#settings-settings_stream_flush_interval_ms) миллисекунд, то данные будут сброшены в таблицу независимо от полноты блока.
Чтобы остановить получение данных топика или изменить логику преобразования, отсоедините материализованное представление:
```
DETACH TABLE consumer;
ATTACH MATERIALIZED VIEW consumer;
```
Если необходимо изменить целевую таблицу с помощью `ALTER`, то материализованное представление рекомендуется отключить, чтобы избежать несостыковки между целевой таблицей и данными от представления.

View File

@ -57,7 +57,7 @@ SELECT count() FROM table WHERE ((EventDate >= toDate('2014-01-01') AND EventDat
SELECT count() FROM table WHERE CounterID = 34 OR URL LIKE '%upyachka%'
```
Чтобы проверить сможет ли ClickHouse использовать индекс при выполнении запроса, используйте настройки [force_index_by_date](../../operations/settings/settings.html#settings-settings-force_index_by_date) и [force_primary_key](../../operations/settings/settings.html#settings-settings-force_primary_key).
Чтобы проверить сможет ли ClickHouse использовать индекс при выполнении запроса, используйте настройки [force_index_by_date](../operations/settings/settings.md#settings-settings-force_index_by_date) и [force_primary_key](../operations/settings/settings.md#settings-settings-force_primary_key).
Индекс по дате обеспечивает чтение только кусков, содержащих даты из нужного диапазона. При этом, кусок данных может содержать данные за многие даты (до целого месяца), а в пределах одного куска, данные лежат упорядоченными по первичному ключу, который может не содержать дату в качестве первого столбца. В связи с этим, при использовании запроса с указанием условия только на дату, но не на префикс первичного ключа, будет читаться данных больше, чем за одну дату.

View File

@ -43,7 +43,7 @@
Если в конфигурационном файле не настроен ZooKeeper, то вы не сможете создать реплицируемые таблицы, а уже имеющиеся реплицируемые таблицы будут доступны в режиме только на чтение.
При запросах SELECT, ZooKeeper не используется. То есть, репликация никак не влияет на производительность SELECT-ов - запросы работают так же быстро, как и для нереплицируемых таблиц. При запросах к распределенным реплицированным таблицам поведение ClickHouse регулируется настройками [max_replica_delay_for_distributed_queries](../../operations/settings/settings.html#settings_settings_max_replica_delay_for_distributed_queries) и [fallback_to_stale_replicas_for_distributed_queries](../../operations/settings/settings.html#settings-settings-fallback_to_stale_replicas_for_distributed_queries).
При запросах SELECT, ZooKeeper не используется. То есть, репликация никак не влияет на производительность SELECT-ов - запросы работают так же быстро, как и для нереплицируемых таблиц. При запросах к распределенным реплицированным таблицам поведение ClickHouse регулируется настройками [max_replica_delay_for_distributed_queries](../operations/settings/settings.md#settings_settings_max_replica_delay_for_distributed_queries) и [fallback_to_stale_replicas_for_distributed_queries](../operations/settings/settings.md#settings-settings-fallback_to_stale_replicas_for_distributed_queries).
При каждом запросе INSERT (точнее, на каждый вставляемый блок данных; запрос INSERT содержит один блок, или по блоку на каждые max_insert_block_size = 1048576 строк), делается около десятка записей в ZooKeeper в рамках нескольких транзакций. Это приводит к некоторому увеличению задержек при INSERT-е, по сравнению с нереплицируемыми таблицами. Но если придерживаться обычных рекомендаций - вставлять данные пачками не более одного INSERT-а в секунду, то это не составляет проблем. На всём кластере ClickHouse, использующим для координации один кластер ZooKeeper, может быть в совокупности несколько сотен INSERT-ов в секунду. Пропускная способность при вставке данных (количество строчек в секунду) такая же высокая, как для нереплицируемых таблиц.

View File

@ -53,7 +53,7 @@ example01-{01..02}-1
При наличии нескольких пар фигурных скобок, генерируется прямое произведение соответствующих множеств.
Адреса или их фрагменты в фигурных скобках можно указать через символ |. В этом случае, соответствующие множества адресов понимаются как реплики - запрос будет отправлен на первую живую реплику. При этом, реплики перебираются в порядке, согласно текущей настройке [load_balancing](../../operations/settings/settings.html#settings-load_balancing).
Адреса или их фрагменты в фигурных скобках можно указать через символ |. В этом случае, соответствующие множества адресов понимаются как реплики - запрос будет отправлен на первую живую реплику. При этом, реплики перебираются в порядке, согласно текущей настройке [load_balancing](../operations/settings/settings.md#settings-load_balancing).
Пример: