Словари

Словарь в ClickHouse — это хранилище данных типа «ключ-значение», которое полностью или частично хранится в оперативной памяти сервера ClickHouse. Доступ к данным словаря осуществляется с помощью набора функций, которые выполняются быстрее стандартных SQL-запросов. Доступ к словарям осуществляется только на чтение, записать данные в словарь с помощью ClickHouse невозможно.

Основное преимущество словарей — высокая скорость работы по сравнению с JOIN-операциями. Словари будут полезны в тех случаях, когда вам приходится часто обращаться к справочнику для получения набора значений по ключу.

В качестве источников данных словарей могут выступать встроенные словари ClickHouse или внешние источники: HTTP(s) ресурс или другая СУБД: MySQL, ClickHouse, MongoDB, PostgreSQL.

Встроенные словари

ClickHouse содержит встроенный словарь для работы с геобазой. Словарь позволяет:

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

Подробнее о работе с встроенными словарями читайте в документации ClickHouse.

Внешние словари

Источниками данных для внешних словарей могут быть HTTP(s) ресурс или другая СУБД: MySQL, ClickHouse, MongoDB, PostgreSQL.

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

О том, как подключить и настроить словарь с помощью Yandex Managed Service for ClickHouse, читайте в разделе Подключение внешних словарей.