Войти Регистрация
Data base

247. Какие колонки просмотров перевести в LowCardinality

Лёгкая

ClickHouse · ClickHouse 26.3

Инженеры Авито собрали свои вопросы к Алексею Миловидову, автору ClickHouse. Про LowCardinality он объяснил так: словари строятся локально для каждого куска и даже диапазона; пока уникальных значений в диапазоне, скажем за день, до миллиона, тип эффективен. Дальше словарь откладывается и начинается новый, и выгода сходит к уровню обычного String.

Таблица ad_views получает около 400 млн строк в сутки. Строковые колонки и число уникальных значений за день: category — 300, city — около 5 тысяч, browser — около 200, url — сотни миллионов, session_id — уникален почти в каждой строке.

В работе: Проектирование широких таблиц событий: категории, города, платформы, версии приложения.

Как проверяем Движка ClickHouse в браузере пока нет, поэтому здесь не запрос, а выбор решения. Выберите все верные варианты (одна лишняя отметка допустима). После ответа — почему каждый вариант верный или нет. Ответ один на подход: после него показываем разбор.
LowCardinalityсловарное кодированиетипы данныхмодель данных

Источник: кейс Авито: вопросы инженеров Авито к Алексею Миловидову о ClickHouse, 2020. Условие пересказано своими словами.

Какие колонки стоит объявить как LowCardinality(String)?

  • category
  • city
  • browser
  • url
  • session_id