Словари

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

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

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

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

Managed Service for ClickHouse содержит встроенный словарь-геобазу и набор функций для работы с ним. Словарь позволяет:

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

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

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

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

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

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

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