Skip to main content
Skip to main content

ExternalDistributed

Движок ExternalDistributed позволяет выполнять запросы SELECT для таблиц на удаленном сервере MySQL или PostgreSQL. Принимает в качестве аргумента табличные движки MySQL или PostgreSQL, поэтому возможно шардирование.

Создание таблицы

Смотрите подробное описание запроса CREATE TABLE.

Структура таблицы может отличаться от структуры исходной таблицы:

  • Имена столбцов должны быть такими же, как в исходной таблице, но можно использовать только некоторые из этих столбцов и в любом порядке.
  • Типы столбцов могут отличаться от типов в исходной таблице. ClickHouse пытается привести значения к типам данных ClickHouse.

Параметры движка

  • engine — табличный движок MySQL или PostgreSQL.
  • host:port — адрес сервера MySQL или PostgreSQL.
  • database — имя базы данных на сервере.
  • table — имя таблицы.
  • user — имя пользователя.
  • password — пароль пользователя.

Особенности реализации

Поддерживает несколько реплик, которые должны быть перечислены через |, а шарды — через ,. Например:

При указании реплик для каждого из шардов при чтении выбирается одна из доступных реплик. Если соединиться не удалось, то выбирается следующая реплика, и так для всех реплик. Если попытка соединения не удалась для всех реплик, то сервер ClickHouse снова пытается соединиться с одной из реплик, перебирая их по кругу, и так несколько раз.

Вы можете указать любое количество шардов и любое количество реплик для каждого шарда.

Смотрите также