Конференция Arenadata
Новое время — новый Greenplum
Мы приглашаем вас принять участие в конференции, посвященной будущему Open-Source Greenplum 19 сентября в 18:00:00 UTC +3. Встреча будет проходить в гибридном формате — и офлайн, и онлайн. Онлайн-трансляция будет доступна для всех желающих.
Внезапное закрытие Greenplum его владельцем — компанией Broadcom - стало неприятным сюрпризом для всех, кто использует или планирует начать использовать решения на базе этой технологии. Многие ожидают выхода стабильной версии Greenplum 7 и надеются на её дальнейшее активное развитие.
Arenadata не могла допустить, чтобы разрабатываемый годами Open-Source проект Greenplum прекратил своё существование, поэтому 19 сентября мы представим наш ответ на данное решение Broadcom, а участники сообщества получат исчерпывающие разъяснения на все вопросы о дальнейшей судьбе этой технологии.

На конференции вас ждёт обсуждение следующих тем:

  • План возрождения Greenplum;
  • Дорожная карта;
  • Экспертное обсуждение и консультации.
Осталось до события

Обзор ADB ClickHouse Connector

В отличие от предыдущей версии коннектора Tkhemali 1.X, основанной на механизме внешних (external) таблиц, ADB ClickHouse Connector реализован на базе foreign data wrapper и foreign-таблиц. Благодаря этому новая версия коннектора к ADQM/ClickHouse обладает следующими функциональными возможностями:

  • Более удобная и безопасная схема управления учетными данными. Если в предыдущей версии коннектора учетные данные пользователей необходимо было прописывать в параметре LOCATION на уровне каждой внешней таблицы либо в файле в явном виде, в ADB ClickHouse Connector логин и пароль пользователя хранятся в отдельном объекте базы данных ADB — user mapping. Сопоставление пользователей достаточно описать один раз для одного кластера ClickHouse, с которым планируется соединение. При необходимости данные можно изменять с помощью команды ALTER USER MAPPING.

  • Многоуровневые настройки соединения. Общие настройки, которые будут одинаковы для всех или большинства целевых таблиц ClickHouse (стратегия распределения нагрузки, необходимость использования staging-слоя, ограничения для батчей данных и так далее) можно указать на уровне объекта server, а частные настройки (имя конкретной таблицы) — на уровне foreign table. В предыдущей версии коннектора абсолютно все настройки требовалось указывать на уровне external table.

  • Обновленный механизм распределения нагрузки по хостам. В новой версии коннектора список хостов ClickHouse, через которые будет производиться загрузка данных из ADB, указывается в опции hosts. Отдельная опция distribution_type отвечает за выбор стратегии распределения нагрузки между выбранными хостами. Поддерживаются два типа распределения: случайное и с использованием алгоритма round-robin. Второй способ предпочтительнее в плане равномерности нагрузки. Наряду с этим, при записи в распределенные (distributed) таблицы возможно указать имя кластера ClickHouse в опции cluster на стороне foreign-таблицы — в этом случае перечислять явно все хосты не нужно, достаточно указать одну точку входа, а полный список хостов будет получен автоматически из метаданных кластера. В предыдущей версии коннектора было также возможно получать список хостов для distributed-таблиц, однако нагрузка на хосты кластера ClickHouse могла быть неравномерной.

  • Гибкое управление кастомными настройками. Кастомные настройки подключения и выполнения запросов к ClickHouse теперь можно объявить в опции clickhouse_properties в следующем формате: <custom_option>=<value>;[…​]. Для изменения настроек достаточно выполнить команду ALTER SERVER или ALTER FOREIGN TABLE. В предыдущей версии коннектора кастомные настройки для ClickHouse хранились в XML-файле, который необходимо было копировать на все сегмент-хосты ADB.

  • Больший контроль над освобождением ресурсов. Foreign data wrapper поддерживает транзакции "из коробки", позволяя подписываться на хуки управления транзакциями. Благодаря этому новая версия коннектора обеспечивает больший контроль над ходом выполнения запросов и освобождением ресурсов, что особенно актуально для транзакционной загрузки данных с использованием staging-таблиц. В предыдущей версии коннектора при определенных обстоятельствах staging-слой мог не удаляться и было необходимо удалять его вручную.

  • Упрощение синтаксиса запросов. Исключена необходимость использования функции txn для включения транзакционного режима (использования staging-слоя). В новой версии коннектора для передачи данных из ADB в ClickHouse достаточно выполнить обычный запрос INSERT к соответствующей foreign-таблице. За создание staging-таблиц теперь отвечает отдельный флаг use_staging. Наряду с этим, в предыдущей версии коннектора было необходимо указывать полное имя таблицы staging при создании external-таблицы. В ADB ClickHouse Connector требуется заполнить только имя целевой таблицы в ClickHouse — в опции resource при создании foreign-таблицы. Имена staging-таблиц формируются автоматически на основе шаблона, указанного в опции staging_table_name_format.

ВАЖНО
  • ADB ClickHouse Connector доступен только в Enterprise-версии ADB 6 (начиная с версии 6.23.3.44).

  • Начиная с версии 6.24.3.47 в ADB 6 ClickHouse Connector поддерживает как запись, так и чтение данных из ADQM/ClickHouse. Однако, чтобы использовать foreign-таблицу в ADB для чтения, в ней необходимо определить имена столбцов, точно совпадающие с соответствующими именами в таблице ADQM/ClickHouse.

Верхнеуровневая архитектурная схема новой версии коннектора приведена ниже.

Схема выполнения запроса INSERT в ADB ClickHouse Connector
Схема выполнения запроса INSERT
Схема выполнения запроса INSERT в ADB ClickHouse Connector
Схема выполнения запроса INSERT
Схема выполнения запроса SELECT в ADB ClickHouse Connector
Схема выполнения запроса SELECT
Схема выполнения запроса SELECT в ADB ClickHouse Connector
Схема выполнения запроса SELECT
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней