> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Выводы — оптимизация затрат

> Стратегии оптимизации затрат, собранные на встречах сообщества ClickHouse: реальные примеры из production и проверенные подходы.

*Это руководство входит в подборку выводов, собранных на встречах сообщества. На этой странице представлен практический опыт сообщества по оптимизации затрат при использовании ClickHouse — подходы, которые хорошо зарекомендовали себя в конкретных сценариях и конфигурациях. Больше практических решений и полезных наблюдений можно найти [в подборке по конкретным проблемам](/ru/resources/support-center/tips-and-tricks/community-wisdom).*

*Узнайте, как [ClickHouse Cloud помогает управлять операционными расходами](/ru/products/cloud/getting-started/intro)*.

<div id="compression-strategy">
  ## Стратегия сжатия: LZ4 или ZSTD в продакшене
</div>

Когда Microsoft Clarity понадобилось работать с сотнями терабайт данных, они выяснили, что выбор сжатия может кардинально влиять на затраты. При их масштабе важен каждый бит сэкономленного дискового пространства, и они столкнулись с классическим компромиссом: производительность или стоимость хранения. Microsoft Clarity работает с огромными объёмами данных — 2 PB несжатых данных в месяц по всем аккаунтам, обрабатывая около 60 000 запросов в час на восьми узлах и обслуживая миллиарды просмотров страниц с миллионов веб-сайтов. При таком масштабе стратегия сжатия становится критически важным фактором стоимости.

Изначально они использовали стандартное для ClickHouse сжатие [LZ4](/ru/reference/statements/create/table#lz4), но обнаружили, что [ZSTD](/ru/reference/statements/create/table#zstd) позволяет существенно сократить затраты. Хотя LZ4 работает быстрее, ZSTD обеспечивает более высокую степень сжатия ценой небольшого снижения производительности. Протестировав оба подхода, они стратегически решили отдать приоритет экономии места в хранилище. Результаты оказались значительными: экономия 50% места на крупных таблицах при приемлемом влиянии на производительность ингестии и запросов.

**Ключевые результаты:**

* Экономия 50% места на крупных таблицах за счёт сжатия ZSTD
* Возможность обрабатывать 2 PB данных в месяц
* Приемлемое влияние на производительность ингестии и запросов
* Существенное снижение затрат при масштабе в сотни ТБ

<div id="column-retention">
  ## Стратегия хранения на уровне столбцов
</div>

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

Такой подход на основе данных позволяет принимать взвешенные решения о политиках хранения и управлении жизненным циклом столбцов. Анализируя эти данные телеметрии, Microsoft может выявлять горячие точки хранения — столбцы, которые занимают много места, но почти не используются в запросах. Для таких редко используемых столбцов можно применять более агрессивные политики хранения, сокращая срок хранения с 30 месяцев до одного месяца, либо полностью удалять столбцы, если к ним не обращаются вообще. Такая выборочная стратегия хранения снижает затраты на хранение без влияния на пользовательский опыт.

**Стратегия:**

* Анализируйте шаблоны использования столбцов с помощью телеметрии ClickHouse
* Выявляйте столбцы с высоким потреблением хранилища и низкой частотой запросов
* Применяйте выборочные политики хранения
* Отслеживайте шаблоны запросов для принятия решений на основе данных

**Связанная документация**

* [Managing Data - TTL на уровне столбца](/ru/guides/use-cases/observability/build-your-own/managing-data)

<div id="partition-management">
  ## Управление данными на основе партиций
</div>

В Microsoft Clarity выяснили, что стратегия партиционирования влияет и на производительность, и на простоту эксплуатации. Их подход: партиционирование по дате, ORDER BY по часу. Эта стратегия дает сразу несколько преимуществ помимо удобства очистки данных: она позволяет легко удалять данные, упрощает расчеты биллинга для их клиентского сервиса и помогает соблюдать требования GDPR к удалению отдельных строк.

**Ключевые преимущества:**

* Простая очистка данных (удаление партиции вместо построчного удаления)
* Упрощение расчетов биллинга
* Более высокая производительность запросов за счет исключения партиций
* Более простое операционное управление

**Связанная документация**

* [Управление данными — Партиции](/ru/guides/use-cases/observability/build-your-own/managing-data#partitions)

<div id="string-integer-conversion">
  ## Стратегия преобразования строк в целые числа
</div>

Платформы аналитики часто сталкиваются с проблемой хранения категориальных данных, которые повторяются в миллионах строк. Инженерная команда Microsoft столкнулась с этой проблемой в данных поисковой аналитики и разработала эффективное решение, позволившее сократить объём хранилища затронутых датасетов на 60%.

В системе веб-аналитики Microsoft результаты поиска вызывают разные типы ответов — карточки с погодой, спортивную информацию, новостные статьи и фактологические ответы. Каждый результат запроса помечался описательными строками вроде "weather\_answer", "sports\_answer" или "factual\_answer". Поскольку система обрабатывала миллиарды поисковых запросов, эти строковые значения многократно сохранялись в ClickHouse, занимая огромный объём хранилища и требуя дорогостоящих сравнений строк при выполнении запросов.

Microsoft реализовала систему сопоставления строк и целых чисел с использованием отдельной базы данных MySQL. Вместо хранения самих строк в ClickHouse они сохраняют только целочисленные ID. Когда вы выполняете запросы через интерфейс и запрашиваете данные для `weather_answer`, оптимизатор запросов сначала обращается к таблице сопоставления в MySQL, чтобы получить соответствующий целочисленный ID, а затем преобразует запрос так, чтобы использовать это число перед отправкой в ClickHouse.

Такая архитектура сохраняет удобство для пользователей: на панелях мониторинга они по-прежнему видят понятные метки вроде `weather_answer`, а в хранилище и запросах используются гораздо более эффективные целые числа. Система сопоставления выполняет всё преобразование прозрачно, не требуя никаких изменений в пользовательском интерфейсе или пользовательских сценариях работы.

**Основные преимущества:**

* Сокращение объёма хранилища затронутых датасетов на 60%
* Более высокая производительность запросов за счёт сравнения целых чисел
* Снижение использования памяти для JOIN и агрегаций
* Снижение затрат на передачу данных по сети для больших результирующих наборов

<Note>
  Это пример, специально используемый для сценария данных Microsoft Clarity. Если все ваши данные находятся в ClickHouse или у вас нет ограничений на перенос данных в ClickHouse, попробуйте использовать [словари](/ru/concepts/features/dictionaries).
</Note>

<div id="video-sources">
  ## Видео по теме
</div>

* **[Microsoft Clarity и ClickHouse](https://www.youtube.com/watch?v=rUVZlquVGw0)** — команда Microsoft Clarity
* **[Опыт использования ClickHouse в Contentsquare](https://www.youtube.com/watch?v=zvuCBAl2T0Q)** — Doron Hoffman & Guram Sigua (ContentSquare)

*Эти рекомендации сообщества по оптимизации затрат отражают стратегии компаний, обрабатывающих от сотен терабайт до PB данных, и демонстрируют реальные подходы к снижению эксплуатационных расходов ClickHouse.*
