Перейти к основному содержимому
Перейти к основному содержимому

ExternalDistributed

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

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

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

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

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

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

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

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

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

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

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

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