BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс по ClickHouse

Учебный курс по ClickHouse

ClickHouse - столбцовая система управления базами данных (СУБД) для онлайн обработки аналитических запросов (OLAP).

Разный порядок хранения данных лучше подходит для разных сценариев работы. Сценарий работы с данными - это то, какие производятся запросы, как часто и в каком соотношении; сколько читается данных на запросы каждого вида - строк, столбцов, байт; как соотносятся чтения и обновления данных; какой рабочий размер данных и насколько локально он используется; используются ли транзакции и с какой изолированностью; какие требования к дублированию данных и логической целостности; требования к задержкам на выполнение и пропускной способности запросов каждого вида и т. п.

Чем больше нагрузка на систему, тем более важной становится специализация под сценарий работы, и тем более конкретной становится эта специализация. Не существует системы, одинаково хорошо подходящей под существенно различные сценарии работы. Если система подходит под широкое множество сценариев работы, то при достаточно большой нагрузке, система будет справляться со всеми сценариями работы плохо, или справляться хорошо только с одним из сценариев работы.

 

Ключевые особенности OLAP сценария работы​

  • подавляющее большинство запросов - на чтение;
  • данные обновляются достаточно большими пачками (> 1000 строк), а не по одной строке, или не обновляются вообще;
  • данные добавляются в БД, но не изменяются;
  • при чтении, вынимается достаточно большое количество строк из БД, но только небольшое подмножество столбцов;
  • таблицы являются «широкими», то есть, содержат большое количество столбцов;
  • запросы идут сравнительно редко (обычно не более сотни в секунду на сервер);
  • при выполнении простых запросов, допустимы задержки в районе 50 мс;
  • значения в столбцах достаточно мелкие - числа и небольшие строки (пример - 60 байт на URL);
  • требуется высокая пропускная способность при обработке одного запроса (до миллиардов строк в секунду на один сервер);
  • транзакции отсутствуют;
  • низкие требования к консистентности данных;
  • в запросе одна большая таблица, все таблицы кроме одной маленькие;
  • результат выполнения запроса существенно меньше исходных данных - то есть, данные фильтруются или агрегируются; результат выполнения помещается в оперативку на одном сервере.

 

Легко видеть, что OLAP сценарий работы существенно отличается от других распространённых сценариев работы (например, OLTP или Key-Value сценариев работы). Таким образом, не имеет никакого смысла пытаться использовать OLTP или Key-Value БД для обработки аналитических запросов, если вы хотите получить приличную производительность («выше плинтуса»). Например, если вы попытаетесь использовать для аналитики MongoDB или Redis - вы получите анекдотически низкую производительность по сравнению с OLAP-СУБД.

 

Причины, по которым столбцовые СУБД лучше подходят для OLAP сценария​

Столбцовые СУБД лучше (от 100 раз по скорости обработки большинства запросов) подходят для OLAP сценария работы. Причины в деталях будут разъяснены ниже, а сам факт проще продемонстрировать визуально:

Строковые СУБД

Столбцовые СУБД

Видите разницу?

 

По вводу-выводу​

  1. Для выполнения аналитического запроса, требуется прочитать небольшое количество столбцов таблицы. В столбцовой БД для этого можно читать только нужные данные. Например, если вам требуется только 5 столбцов из 100, то следует рассчитывать на 20-кратное уменьшение ввода-вывода.
  2. Так как данные читаются пачками, то их проще сжимать. Данные, лежащие по столбцам также лучше сжимаются. За счёт этого, дополнительно уменьшается объём ввода-вывода.
  3. За счёт уменьшения ввода-вывода, больше данных влезает в системный кэш.

 

Например, для запроса «посчитать количество записей для каждой рекламной системы», требуется прочитать один столбец «идентификатор рекламной системы», который занимает 1 байт в несжатом виде. Если большинство переходов было не с рекламных систем, то можно рассчитывать хотя бы на десятикратное сжатие этого столбца. При использовании быстрого алгоритма сжатия, возможно разжатие данных со скоростью более нескольких гигабайт несжатых данных в секунду. То есть, такой запрос может выполняться со скоростью около нескольких миллиардов строк в секунду на одном сервере. На практике, такая скорость действительно достигается.

 

По вычислениям​

Так как для выполнения запроса надо обработать достаточно большое количество строк, становится актуальным диспетчеризовывать все операции не для отдельных строк, а для целых векторов, или реализовать движок выполнения запроса так, чтобы издержки на диспетчеризацию были примерно нулевыми. Если этого не делать, то при любой не слишком плохой дисковой подсистеме, интерпретатор запроса неизбежно упрётся в CPU. Имеет смысл не только хранить данные по столбцам, но и обрабатывать их, по возможности, тоже по столбцам.

Есть два способа это сделать:

  1. Векторный движок. Все операции пишутся не для отдельных значений, а для векторов. То есть, вызывать операции надо достаточно редко, и издержки на диспетчеризацию становятся пренебрежимо маленькими. Код операции содержит в себе хорошо оптимизированный внутренний цикл.
  2. Кодогенерация. Для запроса генерируется код, в котором подставлены все косвенные вызовы.

 

В «обычных» БД этого не делается, так как не имеет смысла при выполнении простых запросов. Хотя есть исключения. Например, в MemSQL кодогенерация используется для уменьшения latency при выполнении SQL запросов. Для сравнения, в аналитических СУБД требуется оптимизация throughput, а не latency.

Стоит заметить, что для эффективности по CPU требуется, чтобы язык запросов был декларативным (SQL, MDX) или хотя бы векторным (J, K). То есть, чтобы запрос содержал циклы только в неявном виде, открывая возможности для оптимизации.

 

О ClickHouse

  • Очень быстрая аналитика больших данных: Arenadata QuickMarts и ClickHouse
  • Что не так с ClickHouse: 10 главных недостатков
  • Эффективное использование ClickHouse
  • Краеугольные камни ClickHouse
  • Выбираем OLAP хранилище данных: ClickHouse
  • Что такое ClickHouse? Путеводитель для начинающих
  • ClickHouse для новичков: введение, основные характеристики и начало работы

 

Учебный курс

  • Курс «Витрины данных на ClickHouse: от архитектуры до SLA»

 

Развертывание ClickHouse

  • Как запустить ClickHouse своими силами и выиграть джекпот
  • Основы ClickHouse для веб разработчика
  • Как упростить развертывание ClickHouse с помощью clickhouse - operator: пошаговая инструкция
  • Легкое развертывание ClickHouse на Kubernetes: подробная инструкция
  • Как компания Lyft сменила Druid на ClickHouse
  • ClickStack: Высокопроизводительный стек для обеспечения доступности операционной системы в ClickHouse
  • Как мы построили внутреннее хранилище данных в ClickHouse (и как это повторить)
  • ClickHouse в промышленной эксплуатации: полное руководство по внедрению от экспертов BI

 

Производительность ClickHouse

  • Новые кодировки для того, чтобы увеличить производительность ClickHouse
  • Как протестировать различные кодеки компрессии
  • Дашборд ClickHouse: учебное пособие
  • 7 направлений оптимизации ClickHouse, которые помогают в BI
  • Производительность SELECT в ClickHouse: архитектура, методики анализа и кейсы применения

 

Работа в ClickHouse

  • Как в Clickhouse создать таблицу с календарем
  • Прокачиваем видеоаналитику с помощью ClickHouse
  • chDB - реактивный двигатель для велосипеда
  • Заметки про ClickHouse. Tutorial 101 — Большая подборка информации
  • Как получить информацию о структуре БД для документации
  • Массивно-параллельная обработка запросов и файлов журнала с помощью ClickHouse
  • Обработка обновлений в режиме реального времени в ClickHouse
  • Clickhouse — шардинг и репликация
  • Партицирование в Clickhouse
  • Прием данных в Clickhouse
  • Пользовательские функции на базе Python в Clickhouse
  • Clickhouse — полезные SQL-запросы и самые эффективные методы работы с запросами
  • Как мы «переселяли» свою БД Clickhouse в удаленные центры обработки данных
  • Оптимизация подключений ClickHouse в Go
  • Как настроить резервное копирование ClickHouse: руководство к действию
  • CDC для ClickHouse
  • Как загрузить данные из Mysql напрямую в Clickhouse
  • Работаем с JSON в Clickhouse
  • Как с помощью ClickHouse сравнить строки в двух CSV-файлах
  • Эффективные методы подсчета уникальных значений в ClickHouse: сравнительный анализ
  • ClickHouse: вставка нескольких миллионов записей всего за несколько секунд
  • Плагин Airflow для ClickHouse
  • JOIN в ClickHouse... в 100 раз быстрее
  • Выбор правильного JOIN
  • Разгоним запросы: как быстро готовить ClickHouse
  • Как мы создали внутреннее хранилище данных в ClickHouse
  • ClickStack: Высокопроизводительный OSS-стек наблюдаемости на базе ClickHouse
  • Выбор инструмента ETL/ELT для ClickHouse: обзор Apache NiFi и Apache Airflow
  • Дедупликация вставок в ClickHouse - архитектура, механизмы, ограничения и практические рекомендации
  • Тонкости агрегации в ClickHouse_ как избежать OOM-ошибки с GROUP BY
  • Транзакции в ClickHouse

 

 

  • Асинхронная вставка в ClickHouse: архитектура буфера, режим wait_for_async_insert и адаптивные тайм-ауты для долговечности в ETL/ELT
  • Оконные функции и массивы в аналитике данных: теория, архитектура ClickHouse и прикладные кейсы в экономике и налоговом учёте
  • Денормализация в ClickHouse: стратегическая архитектура OLAP, миграция данных из PostgreSQL и ключевые практики моделирования и оптимизации
  • Выбор колоночной OLAP‑СУБД для аналитики больших данных в реальном времени: архитектура, сравнение ClickHouse и StarRocks и практические рекомендации
  • MergeTree: архитектура движков, алгоритмы обработки и сценарии применения; налоговый вычет на обучение: правовые основы, порядок оформления и практические рекомендации
  • Дедупликация изменений в CDC-передаче PostgreSQL в ClickHouse: архитектура потока, механизмы версионирования записей и оптимизация слияний в ReplacingMergeTree
  • PREWHERE в ClickHouse: теория, архитектура выполнения и практика оптимизации запросов
  • ClickHouse в мире больших данных: архитектура, применение, интеграции и стратегии внедрения
  • Оптимизация загрузки данных в ClickHouse: форматы, сжатие, интерфейсы и архитектура системы
  • Параллелизм в ClickHouse: архитектура, управление потоками, оптимизация и стратегия внедрения
  • ClickHouse: архитектура и оптимизация запросов в современных аналитических системах - теория, кейсы, риски, конкуренция и регуляторные аспекты
  • ClickHouse: архитектура, загрузка и аналитика данных в современных системах - принципы, кейсы, риски и внедрение
  • Отложенная материализация в ClickHouse: теоретические основы, архитектура реализации и практические аспекты в контексте релиза 25.4
  • Введение: цели и контекст планирования рабочей нагрузки в ClickHouse
  • PREWHERE в ClickHouse: концепции предфильтрации, архитектура реализации и практика оптимизации чтения данных
  • Обработка строк в ClickHouse: теоретическая база и паттерны
  • Antalya: архитектура LakeHouse на базе ClickHouse с Iceberg, Parquet и S3 - принципы, реализации и экономическая эффективность
  • ClickHouse: архитектура вставок, синхронные и асинхронные режимы загрузки данных, управление частями и оптимизация производительности
  • CDC для ClickHouse с PeerDB и ClickPipes: обзор концепций и целевых сценариев
  • JOIN в ClickHouse: архитектура, алгоритмы выполнения и практика оптимизации
  • Типы данных и движки в ClickHouse
  • Скорость вставки данных в ClickHouse: архитектура, конфигурации и стратегии оптимизации
  • ClickHouse 25.1
  • ClickHouse Keeper: архитектура координации, консистентность и миграция от ZooKeeper в распределённых колоночных базах данных
  • ClickHouse и Apache Doris: концептуальное сравнение архитектур, технологий хранения и сценариев применения в аналитических системах
  • Безмиграционный переход к Data Warehouse через медальонную архитектуру на ClickHouse: принципы, уровни Bronze-Silver-Gold, интеграции и эволюция архитектуры с акцентом на качество данных
  • Агентский ИИ на ClickHouse: архитектура, конвейеры расширенной аналитики и управление данными в реальном времени
  • Векторизация и диспетчеризация ЦП в ClickHouse: принципы, архитектура и практические применения
  • Дедупликация данных в хранилищах и витринах: архитектура, механизмы и практика на стеке ClickHouse
  • Контекст интеграции ClickHouse и MS SQL, цели исследования
  • Хранение и обработка JSON в ClickHouse, MongoDB, Elasticsearch, DuckDB и PostgreSQL: архитектуры, теоретические основы, практические кейсы и рекомендации
  • JSON в ClickHouse: архитектура хранения и обработки, сравнение с MongoDB, Elasticsearch, DuckDB и PostgreSQL, производительность, кейсы и руководство по выбору СУБД
  • Проекции в ClickHouse: теория, архитектура, реализация, мониторинг и применение в аналитике

 

 

Интеграция ClickHouse

  • Интеграция ClickHouse и совместимого с S3 объектного хранилища
  • Создание визуализации ClickHouse с помощью Altinity и Cube
  • Углубляемся в тонкости Apache Parquet с помощью ClickHouse - часть 1
  • Углубляемся в тонкости Apache Parquet с помощью ClickHouse - часть 2
  • Руководство по работе с движком Kafka в ClickHouse
  • Как CDC из MySQL применить в ClickHouse
  • Kafka + NiFi + Clickhouse в Docker
  • ClickHouse + Kafka =
  • Polars и ClickHouse: чтение и запись данных
  • Использование AWS S3 для резервного копирования и восстановления данных Clickhouse
  • История о том, как мы построили внутренний DWH в ClickHouse
  • ClickHouse в практике дата-консалтинга: производительность, масштабируемость, реальный опыт
  • ClickHouse и Iceberg Lakehouse: производительная, доступная и прозрачная аналитика данных
  • Взбираемся на Iceberg с ClickHouse

 

FAQ

  • FAQ по ClickHouse
  • Энциклопедия ClickHouse

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
Учебный курс по Greenplum
Следующая статья →
Учебный курс по FineReport
Запросить видео презентацию Запросить доступ к демо стенду online Узнать стоимость лицензий

Задать вопрос

loading...

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • MoneyCare — кредитная платформа и сервис для ПОС-кредитования в магазинах, установленная в более чем 18 тысячах трейдинговых точек и сотрудничающая с 11 главными банками России.

  • ИНВИТРО
    ИНВИТРО – крупнейшая частная медицинская компания в России, специализирующаяся на лабораторной диагностике и оказании других медицинских услуг.
     
    ИНВИТРО располагает 9 самыми современными лабораторными комплексами и крупнейшей в Восточной Европе сетью более чем из 900 медицинских офисов. Страны присутствия — Россия, Украина, Казахстан, Беларусь.
     
  • «Балтийский лизинг» — первая компания в России, получившая лицензию № 0001 от Министерства экономики РФ на лизинговую деятельность, лицензия зарегистрирована 2 сентября 1996 года. «Балтийский лизинг» работает на российском рынке 33 года: компания представлена 79 филиалами по всей стране, сегодня в штате более 1300 сотрудников. За последние десять лет компания профинансировала имущество для 80 000 клиентов.

  • Novikov group – первый российский ресторанный холдинг, основанный в 1991 году. Это команда профессионалов под управлением Аркадия Новикова, реализующая широкий спектр услуг в сфере гостеприимства: от проведения event-мероприятия до управления рестораном, от установления стандартов сервиса до контроля качества готовой продукции, от построения бизнес-плана проекта до реализации франшизы.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.