ClickHouse
Data source: External ClickHouseEnterprise Edition+Введение
ClickHouse можно подключить к NocoBase в качестве внешней базы данных. После подключения NocoBase считывает таблицы данных, поля и представления из ClickHouse и использует их как таблицы данных внешнего источника.
ClickHouse лучше подходит для аналитических запросов, анализа журналов, статистики показателей и отображения отчётов. В отличие от транзакционных баз данных, он не подходит в качестве источника данных для частого добавления, редактирования и удаления бизнес-записей в NocoBase.
Сценарии, в которых подходит внешний ClickHouse:
- Подключение аналитических данных: журналов, событий, показателей, данных для управления рисками и т. д.
- Создание в NocoBase операционных панелей, статистических отчётов или страниц запросов
- Предоставление бизнес-пользователям доступа к запросам только для чтения, чтобы сократить необходимость прямого доступа через клиент базы данных
- Управление правами доступа и визуализация существующих данных ClickHouse
В NocoBase ClickHouse рекомендуется использовать как источник аналитических данных только для чтения. Не используйте его как источник для записи обычных бизнес-таблиц и не рекомендуется настраивать на страницах операции добавления, редактирования и удаления.
Установка плагина
Этот плагин является коммерческим. Подробные сведения об активации см. в руководстве: Руководство по активации коммерческих плагинов
Добавление источника данных
В разделе «Управление источниками данных» нажмите «Add new», выберите ClickHouse и заполните сведения для подключения.

Основные параметры подключения:
Плагин ClickHouse подключается через протокол совместимости с MySQL. Перед настройкой убедитесь, что в службе ClickHouse включён порт совместимости с MySQL, а сеть, брандмауэр и права учётной записи разрешают NocoBase доступ.
Область подключения
На ст ранице ClickHouse нет таблицы с флажками «Collections». Область подключения в основном определяется Database, правами учётной записи подключения и Table prefix.
Если в ClickHouse много таблиц, рекомендуется заранее подготовить для NocoBase отдельную базу данных, учётную запись или префикс имён таблиц, открыв доступ только к таблицам, которые нужны текущему приложению для просмотра и статистики.
Один внешний источник данных может одновременно подключить не более 500 таблиц данных или представлений. Если в ClickHouse много объектов, рекомендуется заранее сузить область с помощью базы данных, прав учётной записи или Table prefix.
Синхронизация и настройка полей
Структура таблиц внешнего ClickHouse поддерживается на стороне базы данных. NocoBase не создаёт во внешнем ClickHouse поля, не изменяет типы полей и не удаляет реальные поля.
Если структура таблиц на стороне ClickHouse изменилась, в источнике данных можно выполнить «Sync from database», чтобы повторно считать метаданные таблиц и полей. Синхронизация обновит сохранённые в NocoBase таблицы данных, поля, первичные ключи, уникальные ключи и сведения о сопоставлении типов полей, но не удалит реальные таблицы или данные в ClickHouse.
После синхронизации полей в NocoBase можно настроить заголовок поля, тип поля (Field type) и интерфейс поля (Field interface). Если требуется создать поле связи NocoBase, его метаданные также сохраняются в NocoBase; реальные внешние ключи в таблицу ClickHouse автоматически не добавляются.
Сопоставление типов полей
NocoBase преобразует типы полей ClickHouse в совместимый с MySQL формат, а затем сопоставляет их с подходящими значениями Field type и Field interface. Способ отображения в интерфейсе можно изменить в настройках поля.
Основные варианты сопоставления:
Некоторые аналитические или вложенные типы в ClickHouse нельзя на прямую сопоставить с обычными бизнес-полями. При обнаружении неподдерживаемого типа поля сначала создайте на стороне ClickHouse подходящее для отображения представление или таблицу запросов, а затем подключите её к NocoBase.
Первичный ключ и уникальный идентификатор записи
Ключ сортировки и ключ секционирования ClickHouse не обязательно являются уникальными идентификаторами бизнес-записей. Для таблиц данных, отображаемых в блоках страниц, по-прежнему рекомендуется подготовить поле, однозначно идентифицирующее запись.
Если подключается таблица или представление без уникального поля, в настройках таблицы данных необходимо вручную задать «Record unique key». При отсутствии доступного уникального идентификатора блок страницы может неправильно отображать сведения о записи; также не рекомендуется настраивать операции редактирования или удаления.

Ссылки по теме
- Внешние базы данных — общие сведения о настройке и управлении внешними базами данных
- Управление источниками данных — сведения о доступе к источникам данных и способах управления ими
- Поля таблицы данных — сведения о типах полей и их сопоставлении

