Перейти к основному содержимому
Перейти к основному содержимому

Оптимизация затрат: стратегии от сообщества

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

Узнайте, как ClickHouse Cloud может помочь управлять операционными расходами.

Стратегия сжатия: LZ4 против ZSTD в производстве

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

Изначально они использовали стандартное сжатие ClickHouse LZ4, но выяснили, что значительная экономия средств возможна при использовании ZSTD. Хотя LZ4 быстрее, ZSTD предлагает лучшее сжатие, но за счет немного более медленной производительности. После тестирования обоих подходов они приняли стратегическое решение приоритизировать экономию на хранении. Результаты были значительными: 50% экономии на хранении больших таблиц при приемлемом влиянии на производительность при вставках и запросах.

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

  • 50% экономии на хранении больших таблиц благодаря сжатию ZSTD
  • Мощность обработки данных в 2 петабайта в месяц
  • Приемлемое влияние на производительность при вставках и запросах
  • Значительное сокращение затрат на уровне сотен терабайтов

Стратегия удержания на уровне колонок

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

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

Стратегия:

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

Связанные документы

Управление данными на уровне партиций

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

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

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

Связанные документы

Стратегия преобразования строк в числа

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

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

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

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

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

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

Это пример, который специально используется для сценария данных Microsoft Clarity. Если у вас есть все данные в ClickHouse или нет ограничений на перенос данных в ClickHouse, попробуйте использовать словарь вместо этого.

Видео источники

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