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 оптимизация

clickhouse оптимизация

 

Краткое введение

Эта глава посвящена систематическому подходу к оптимизации ClickHouse как ядра аналитической платформы. В условиях растущего объема данных, множества источников и требований к задержке ответов именно точная настройка и продуманная архитектура позволяют обеспечить рабочие нагрузки на уровне бизнес-целей: скорость анализа, масштабируемость, предсказуемость стоимости эксплуатации и устойчивость к пиковым нагрузкам. В рамках курса рассматриваются как теоретические основы, так и практические техники, применимые как в открытых экосистемах, так и в российских контекстах, включая современные российские решения для управления и мониторинга ClickHouse.

 

Введение

ClickHouse - колоночная СУБД для онлайн-аналитической обработки (OLAP), ориентированная на большие данные и низкие задержки. Архитектура основана на распределенных таблицах, MergeTree-подобных движках и мощной параллелизации. Оптимизация в ClickHouse - это не одно действие, а цепочка взаимосвязанных мероприятий: от проектирования схем данных и выбора движка до настройки среды выполнения, хранения и загрузки данных. Глубокое понимание того, как работают механизмы повторной агрегации, пропусков индексов, политики хранения и управления ресурсами, позволяет превратить простые запросы в эффективные аналитические конвейеры.

 

Ключевые цели глаaвы:

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

     

Теоретические основы и терминология

  • OLAP и колоночная архитектура: хранение по столбцам, эффективная компрессия и параллелизация запросов.
  • MergeTree и его семействo: MergeTree, ReplacingMergeTree, SummingMergeTree, AggregatingMergeTree, CollapsingMergeTree и их роль в хранении и агрегации данных.
  • ORDER BY и PARTITION BY: принципы сортировки данных внутри сегмента и разбиение на партиции для ускорения фильтрации и прерываний сканирования.
  • TTL и управление жизненным циклом данных: автоматическое удаление старых данных, обновления и перераспределение хранения.
  • Skip indices и индексы-примечания: механизмы предварительной фильтрации данных без полной загрузки.
  • Materialized views и projections: предагрегирование и повторное использование результатов, снижение времени выполнения типовых запросов.
  • External dictionaries: справочники для быстрых Join-операций на внешних источниках.
  • Репликация, Keeper и архитектурные принципы HA: распределение данных, отказоустойчивость и консистентность.
  • Storage policies и форматы хранения: локальные диски, сетевые тома, S3-совместимые хранилища, компрессии LZ4, ZSTD.

     

Методологии и подходы

  • Измерение и база: устанавливаем baseline по ключевым KPI - время выполнения типовых запросов, пропускная способность загрузки, латентность репликаций и общая стоимость владения.
  • Аналитика рабочего профиля: сбор статистики по паттернам запросов, частоте обращений к данным и сезонным пикам нагрузки.
  • Построение цикла оптимизации: планирование изменений, валидация на тестовых средах, постепенный переход на продакшн и мониторинг.
  • Модульность изменений: small-batch подход к изменениям конфигураций, чтобы снизить риск простоев.
  • Баланс между скоростью чтения и затратами на хранение: выбор компрессии, TTL-правил и политики хранения.
  • Инструменты и практики: использование Prometheus/Grafana для мониторинга, CH-операторы (Kubernetes), тестовые наборы и эталонные бенчмарки (например, CHBench).

     

Архитектура и технологическая реализация

  • Распределенная архитектура: кластеры с несколькими shard-ами и репликами, распределение по ключу и балансировка нагрузки.
  • Keeper vs ZooKeeper: обеспечение консистентности и координации кластера. В современных инсталляциях ClickHouse можно рассматривать Keeper как локализованный сервис координации вместо внешних экземпляров ZooKeeper.
  • Движки семейства MergeTree: выбор движка под задачи - например, AggregatingMergeTree для предагрегирования, ReplicatedMergeTree для отказоустойчивости, CollapsingMergeTree для детекции и устранения дубликатов.
  • Партиционирование и ORDER BY: проектирование схемы данных под типичные запросы; пример: партиционирование по месяцу и ORDER BY по региону и дате для эффективной фильтрации.
  • Материальные представления и projection: ускорение часто выполняемых агрегаций и группировок без повторного вычисления на больших объемах данных.
  • Пропуск индексов (Skip indices) и фильтрация данных: как индексировать критически важные колонки и как они работают в реальном времени.
  • Динамическая настройка хранения: политики хранения (StoragePolicy) и парадигма tiered storage, включая S3-уровни для архивов.
  • Инструменты загрузки и интеграции: производственные пайплайны на Kafka, Parquet/ORC-файлах, прямые выгрузки из источников и загрузка через INSERT SELECT.
  • Окружение и контейнеризация: Kubernetes-операторы ClickHouse (open-source), управление масштабируемостью и обновлениями, принципы CI/CD для изменений в конфигурациях кластера.

     

Технический пример архитектуры:

  • Кластер: 4 шарда, по 2 реплики, Keeper для координации.
  • Таблица продаж: ENGINE = ReplicatedMergeTree, PARTITION BY toYYYYMM(event_date), ORDER BY (region, product_id).
  • TTL для архивирования: хранение в hot-блоках и миграция к cold-блокам через TTL.
  • Прямая агрегация через материализованные представления или projections для ускорения часто задаваемых запросов.
  • Мониторинг: system.merges, system.mutations, system.parts, system.query_log, Prometheus экспортёр и Grafana-панели.

Кодовый пример создания таблицы с типовым набором параметров:


CREATE TABLE analytics.sales
(
  event_date  Date,
  region      String,
  product_id  UInt64,
  amount      Decimal(10, 2),
  currency    String
) ENGINE = ReplicatedMergeTree('/cluster/{cluster}/analytics/sales', '{replica}')
PARTITION BY toYYYYMM(event_date)
ORDER BY (region, product_id)
SETTINGS index_granularity = 8192;

-- Пример хранения с компрессией
ALTER TABLE analytics.sales MODIFY SETTING compression_codec = 'LZ4';

-- TTL-правило для старых партиций
ALTER TABLE analytics.sales MODIFY TTL event_date + INTERVAL 1 MONTH DELETE;

Пример использования Materialized View для агрегации по дням:


CREATE MATERIALIZED VIEW mv_daily_sales
TO analytics.daily_sales
AS
SELECT
  toDate(event_date) AS date,
  region,
  sum(amount) AS total_amount
FROM analytics.sales
GROUP BY date, region;

Пример Projection для ускорения запросов по дате и региону:


ALTER TABLE analytics.sales ADD PROJECTION p_daily_region AS
SELECT toDate(event_date) AS date, region, sum(amount) AS total_amount
FROM analytics.sales
GROUP BY date, region;

Пример настройки пропусков индексов (skip indexes) для критических фильтров:


-- Объявление skip index (примерная синтаксическая форма; конкретика может варьироваться по версии)
ALTER TABLE analytics.sales ADD INDEX idx_region_type TYPE minmax GRANULARITY 64;

Пример загрузки данных из Parquet через внешний источник:


INSERT INTO analytics.sales
## FORMAT Parquet
FROM INFILE 's3://data-bucket/sales/part-000.parquet';

Рассмотрение архитектурных решений:

  • График нагрузок: в реальной среде чаще всего встречаются пики во время загрузок и апдейтов к прошлым месяцам. В таких случаях помогает параллельная обработка, лимитирование параллелизма и преднамеренная агрегация через projections и materialized views.
  • Архитектура хранения: горячий слой на локальных SSD, холодный слой на S3-совместимом хранилище. StoragePolicy позволяет автоматически перемещать данные между слоями на основе TTL, частоты использования и политики хранения.
  • Мониторинг и алерты: мониторинг задержек репликации, скорости загрузки и дефектов узлов, анализ задержек в очередях миграций и слияний.

     

Организационные и процессные аспекты

  • Роли и ответственности: системные инженеры отвечают за конфигурацию кластера и мониторинг; дата-архитекторы - за моделирование данных и архитектуру запросов; аналитики - за оптимизацию запросов и сценариев отчетности.
  • Процедуры выпуска изменений: изменения параметров стоит тестировать на стенде, затем разворачивать поэтапно в продакшн, с контролем по SLA и регрессиям.
  • Управление изменениями конфигураций: хранение конфигураций в системе контроля версий, документирование причин изменений и ожидаемых эффектов.
  • Безопасность и соответствие: ограничение доступа к таблицам и данным, аудит изменений, шифрование в покое и в передаче.
  • Стоимость и оптимизация ресурсов: баланс между потреблением CPU, памяти и хранения; выбор компрессий и TTL в контексте сроков хранения данных и бизнес-требований.
  • Образование и развитие команды: подготовка внутрикорпоративных курсов, участие в open-source инициативах, обмен опытом между командами.

     

Технические детали реализации (алгоритмы, схемы, протоколы, интеграции)

  • Алгоритмы обработки запросов: распределение по потокам, пайплайнинг агрегаций, использование материзованных представлений и projections.
  • Применение Compression и Encoding: выбор LZ4, ZSTD для конкретных колонок по характеру данных; настройка уровней компрессии.
  • Репликация и консистентность: использование ReplicatedMergeTree совместно с Keeper (или ZooKeeper) для синхронной/асинхронной репликации и детекции сбоев.
  • Планирование партиционирования: выбор Granularity, рабочая нагрузка на ферментах по времени (месяц, неделя, день) для эффективной фильтрации.
  • Интеграции с внешними источниками: Kafka для стриминга, S3-совместимые хранилища для архива, Parquet/ORC как форматы промежуточной загрузки.
  • Мониторинг и трассировка: логи запросов, профилирование времени исполнения, анализ узких мест через system.merges, system.mutations, system.parts.
  • Примеры Open-Source и российских продуктов:
    • Open-source: ClickHouse (ядро), ClickHouse Operator для Kubernetes (open-source), CHBench для бенчмаркинга, Prometheus/Grafana для мониторинга, Apache Kafka для источников данных.
    • Российские и близкие по экосистеме решения: Яндекс.Облако предоставляет управляемый ClickHouse (managed service) с интеграциями в экосистемы Яндекса, альтернативные консорциумы и инструменты мониторинга в рамках отечественного стека; собственные решения компаний могут включать внутренние коннекторы к данным и сценарии миграции на гибридные хранилища.

       

Риски, ограничения и типовые ошибки

  • Неподходящее проектирование ORDER BY и PARTITION BY: может привести к перекрытию диапазонов, большим расходам на хранение и медленным ответам.
  • Слишком агрессивная компрессия: экономия на месте может привести к ухудшению скорости чтения больших фрагментов.
  • Неправильное TTL-планирование: слишком раннее удаление данных или, наоборот, хранение слишком долго может увеличить стоимость.
  • Игнорирование изменения паттернов нагрузки: кластеры должны адаптироваться к пиковым нагрузкам, иначе задержки и очереди будут расти.
  • Недостаточная поддержка мониторинга: без детального наблюдения невозможно оперативно обнаружить проблемы, такие как долгие миграции данных или задержки репликации.
  • Риск непродуманной миграции на Keeper: переход к Keeper требует тестирования совместимости и корректного обновления конфигураций.

     

Заключение

Оптимизация ClickHouse - это системная задача, включающая архитектуру, схемы данных, параметры выполнения, процессы загрузки и мониторинга. Включение в архитектуру проекции, materialized views и skip-индексов, грамотное проектирование партиционирования и порядка (ORDER BY), а также эффективная стратегия хранения позволяют значительно снизить задержки и повысить производительность анализа. Российские решения и экосистемы предлагают дополнительные инструменты для управления кластерами и мониторинга, поддерживая устойчивость и развитие аналитических платформ в условиях высокой динамики данных.

 

Вопрос-Ответ (FAQ)

  1. Что такое.clickhouse оптимизация и зачем она нужна на практике?
  • ClickHouse оптимизация - это совокупность практик, инструментов и конфигураций, направленных на снижение задержек запросов, повышение пропускной способности и уменьшение затрат на хранение и эксплуатацию кластера. Она включает архитектурные решения (sharding, replication), настройку таблиц и индексов, применение materialized views и projections, а также эффективное управление загрузкой и хранением данных.
  1. Какие ключевые компоненты кластера влияют на производительность?
  • Основные факторы: структура таблиц (ENGINE, PARTITION BY, ORDER BY), использование MergeTree-подобных движков, агрегации и предвычисления (materialized views, projections), политики TTL, компрессия данных, стратегия хранения (StoragePolicy), мониторинг и управление ресурсами (CPU, RAM, дисковая подсистема, сеть).
  1. Когда стоит использовать ReplicatedMergeTree и Keeper?
  • ReplicatedMergeTree необходим для отказоустойчивости и корректного восстановления данных в случае сбоя узлов. Keeper обеспечивает координацию кластера (аналог ZooKeeper) и упрощает управление конфигурациями. Рекомендовано использовать их в продакшн-широких кластерах с необходимостью высокой доступности и согласованности.
  1. Как выбрать PARTITION BY и ORDER BY?
  • PARTITION BY следует подбирать под паттерны запросов по времени или по другим ключам фильтрации, чтобы ограничить диапазоны чтения данных. ORDER BY определяет сортировку внутри партиции и влияет на скорость фильтрации и агрегаций. Правильная конфигурация помогает пропускать большие объемы данных и ускорять частые операции выборки.
  1. Какие способы ускорения часто задаваемых запросов наиболее эффективны?
  • Materialized views и projections для предагрегирования и быстрого доступа к агрегированным результатам; skip indexes для ускорения фильтров по крупным колонкам; TTL и политику хранения для оптимизации объема данных; использование подходящих форматов хранения и эффективной компрессии.
  1. Как организовать загрузку данных без потери производительности?
  • Использовать пакетную загрузку (bulk insert) через INSERT SELECT, потоковую загрузку через Kafka, параллельную обработку загрузок, а также оптимизировать параллелизм, сетевые батчи и формат файлов (Parquet/ORC). Важно разделять нагрузку на чтение и на запись, чтобы они не конкурировали за ресурсы.
  1. Какие открытые инструменты и российские решения можно применить вместе с ClickHouse?
  • Open-source: ClickHouse, ClickHouse Operator, CHBench, Prometheus/Grafana для мониторинга, Kafka для источников данных, Parquet/ORC для форматов загрузки.
  • Российские решения: управляемые сервисы ClickHouse в Яндекс.Облаке, локальные инструменты мониторинга и инженерного сопровождения, интеграции с отечественными системами хранения и управления данными. Это позволяет адаптировать процессы под регуляторные и бизнес-требования в рамках российского рынка.
  1. Как проектировать архитектуру под рост данных?
  • Применяйте горизонтальное масштабирование через шардирование, настройку репликации и отказоустойчивости. Разделяйте данные по партициям по времени, внедряйте projections и materialized views для типовых запросов, планируйте хранение в многоуровневых хранилищах (hot/cold). Важно регулярно пересматривать конфигурацию и ориентироваться на реальную нагрузку.
  1. Какие ошибки чаще всего встречаются в конфигурациях?
  • Неправильный выбор ORDER BY/PARTITION BY, неучет пиковых нагрузок, отсутствие мониторинга и тестирования изменений, чрезмерное хранение данных без TTL, неэффективная загрузка и плохая интеграция с внешними источниками. Без дисциплины в изменениях конфигураций производительность легко деградирует.
  1. Какие направления обучения полезно углублять для специалистов?
  • Изучение архитектуры MergeTree и его семейств, настройка TTL и политики хранения, работа с materialized views и projections, оптимизация запросов, мониторинг и диагностика в реальном времени, интеграция CLIs и Kubernetes-операторов для автоматизации. Также полезно освоить практики работы с управляемыми сервисами в российских облаках и совместимость с отечественными требованиями к безопасности и хранению данных.

(Примечание: приведенные примеры кода и архитектурные схемы являются иллюстративными и ориентированы на типовые сценарии оптимизации ClickHouse в реальных проектах.)

← Предыдущая статья
ClickHouse execute: фазы исполнения запросов в распределенной архитектуре ClickHouse
Следующая статья →
Подсчет в ClickHouse: точность, производительность и архитектура

 

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

Решения

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

Клиенты
  • ПАО АНК «Башнефть» — российская вертикально-интегрированная нефтяная компания, с 2016 года входит в ПАО НК «Роснефть». Главный офис расположен в городе Уфе (Башкортостан). Добыча углеводородов – более 21 млн тонн нефти в год. Объем переработки – более 18 млн тонн нефти в год. Число сотрудников – более 33 тыс. человек.

  • ПАО «Ростелеком» — российский провайдер цифровых услуг и сервисов. Предоставляет услуги широкополосного доступа в Интернет, интерактивного телевидения, сотовой связи, местной и дальней телефонной связи и др. Занимает лидирующие позиции на российском рынке высокоскоростного доступа в интернет, платного ТВ, хранения и обработки данных, а также кибербезопасности

  • Группа компаний «Невский кондитер» основана в 1996 году в Санкт-Петербурге и на сегодняшний день является одним из крупнейших производителей кондитерских изделий в России.

     

  • АО «Новосибирскэнергосбыт» является единственным гарантирующим поставщиком электроэнергии на территории г. Новосибирска и Новосибирской области. Предприятие отвечает за электроснабжение клиентов, закупая электроэнергию на оптовом рынке, регулируя поставку электроэнергии через договорные отношения с сетевыми организациями.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • 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 и политикой конфиденциальности.