ClickHouse. Подключение к СУБД, развернутой в рамках вашей локальной сети

В Экстракторе 1С можно настроить подключение к СУБД Clickhouse, развернутой в рамках вашей локальной сети.

Внешние компоненты в релизе 3.15

Начиная с 3.15.1.50 библиотеки для MySQL, PostgreSQL через Native API, AMQP 1.0 и Kafka через Native API выбираются и обновляются через справочник «Внешние компоненты». Краткие шаги приведены в соответствующих инструкциях по подключениям. Для очереди Redis (Native DLL) компонента выбирается в настройках Экстрактора.

СУБД ClickHouse можно использовать, развернутый не только в облаке Яндекс, но у на других хостингах или внутри вашей сети (на ваших серверах). Очень часто, Clickhouse развертывается как виртуальная машина в системах виртуализации:

  • Hyper — V в Windows Server;

  • proxmox — под Linux.

Для этих систем виртуализации Вы можете запросить готовые образы виртуальных машин с СУБД Clickhouse. Учтите, что в случае использования локальной СУБД ClickHouse, все обслуживание (бэкапы, контроль за свободным местом, мониторинг) ложится на плечи Ваших системных администраторов.

Для использования всей функциональности подключения пользователь, под которым настраивается подключение, должен иметь следующие права ClickHouse (привилегии):

  • На базу, в которую планируется выгрузка:

    • SELECT

    • INSERT

    • ALTER TABLE

    • CREATE TABLE

    • CREATE VIEW

    • CREATE DICTIONARY

    • DROP TABLE

    • DROP VIEW

    • DROP DICTIONARY

    • TRUNCATE

    • SHOW TABLES

    • SHOW COLUMNS

    • SHOW DICTIONARIES

    Пример команды для назначения прав:

    GRANT SELECT, INSERT, ALTER TABLE, CREATE TABLE, CREATE VIEW, CREATE DICTIONARY, DROP TABLE, DROP VIEW, DROP DICTIONARY, TRUNCATE, SHOW TABLES, SHOW COLUMNS, SHOW DICTIONARIESON [Имя базы данных].* TO [Имя пользователя]
  • SELECT на системные таблицы/перечисления:

    • information_schema.tables

    • system.clusters

    • system.databases

    • system.parts

Пример команды:

GRANT SELECT ON information_schema.tables TO `[Имя пользователя]`

Настройка же подключения уже внутри Экстрактора 1С к СУБД ClickHouse, развернутой внутри вашей сети, по сути, аналогично описанному в предыдущей главе. За исключением того, что:

  1. Протокол подключения (в большинстве случаев) будет - http

  2. Для работы с внешними BI-системами, необходимо открыть доступ к СУБД ClickHouse со стороны этой BI-системы.

  • Сначала выберите раздел «Подключения» в Экстракторе 1С

  • в открывшемся окне нажмите кнопку «Создать»

  • И добавляете свое подключение в список. Укажите его наименование и выберите тип «Clickhouse».

  • Указываете настройки:

    1. Протокол;

    2. Имя (или IP-адрес) сервера Clickhouse;

    3. порт (обычно это 8123);

    4. логин и пароль к Clickhouse;

    5. Базу (можно написать, или выбрать из выпадающего списка);

    6. таймаут (обычно это 30-60 секунд).

  • Ограничение идентификаторов - эта настройка отвечает за ограничение размера имени полей таблиц. Подробно о ней написано в подсказке на самой форме. По умолчанию - это 200 символов в URL кодировке.

Примечание:

Начиная с релиза 3.6.5.49: добавили настройку «Не сжимать данные».

  • Установите флаг «Не сжимать данные», если необходимо отключить сжатие данных для ClickHouse (как для файла данных, так и для запроса). Если сжатие не отключено, то запросы короче 1024, как и раньше, не сжимаются.

Далее, нажимаете кнопку «Проверить подключение». Если будут на каком то из шагов ошибки, то:

  1. убедиться, что у расширения «Экстрактор 1С» снят флаг «Безопасный режим»

  2. Далее, идти к вашим системным администраторам и просить их починить доступы.

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