Рубрика «clickhouse»

В этой статье мы поговорим о том, как реализовать поведение атомарной вставки в ClickHouse. Рассмотрим несколько вариантов, подсветим их сильные и слабые стороны, а также, когда каждый из них применять.

Задача

Мы хотим добиться, чтобы не было случаев, когда мы начали вставку, а пользователь прочитал данные до её завершения и получил неактуальный (неполный) набор данных.

Неатомарная вставка = риск чтения некорректного набора данных.

Сценарии, когда такое может произойти:

  1. Удалили партицию и хотели начать вставлять данные взамен удалённой, но пользователь обратился к этому интервалу.

  2. Читать полностью »

Зачем нужны ID запросов в логах?

Когда вы работаете с распределённой системой — будь то микросервисы, фронтенд + бэкенд или nginx + приложение — жизненно важно иметь ��озможность «протянуть» один и тот же идентификатор запроса через все её компоненты. Это позволяет сопоставлять логи из разных источников, быстро находить ошибки и проводить корреляционный анализ.

В nginx для этого из коробки есть переменная $request_id — 32-символьный hex-идентификатор (например, a1b2c3d4e5f678901234567890abcdef). Его можно передать бэкенду через proxy_set_header X-Request-ID $request_id; или fastcgi_param HTTP_X_REQUEST_ID $request_id;, а также сохранить в access-логах.

Читать полностью »

Все датасеты, конфигурации и результаты тестирования в данной статье актуализированы по состоянию на 2022 год. Если вам интересно, вы можете воспроизвести тестирование, скачав актуальные наборы данных и следуя последним инструкциям соответствующих проектов/бенчмарков (например, ClickHouse, StarRocks, TPC‑H, SSB). Мы будем признательны за обратную связь: поделитесь, пожалуйста, вашими результатами и замечаниями.

Новый выбор среди колоночных СУБД

Читать полностью »

Делюсь практическим опытом внедрения Uptrace v2.0 — от разворачивания до оптимизации запросов. С цифрами, кодом и реальными кейсами.

TL;DR

Uptrace v2.0 использует новый JSON-тип ClickHouse для хранения трейсов, что даёт 10x ускорение запросов. Показываю на практике: установка за 5 минут, настройка трансформаций данных, экономия на retention policies. Бенчмарки на 500M span'ах: запросы стали выполняться за 0.3-0.5 сек вместо 4-7 сек.

Почему я вообще это затеял

Читать полностью »

Сгенерировано с помощью gigaChat

Сгенерировано с помощью gigaChat

Один из моих коллег сказал когда-то, что "база данных - это хранилище, а не считалище!"Читать полностью »

Всем привет! В этой статье я расскажу свой опыт установки БД Clickhouse на пару с zookeeper`ом.

Установка

Для начала скачаем пакеты для установки

wget curl https://packages.clickhouse.com/tgz/stable/clickhouse-client-22.9.3.18-amd64.tgz && 
wget curl https://packages.clickhouse.com/tgz/stable/clickhouse-common-static-22.9.3.18-amd64.tgz && 
wget curl https://packages.clickhouse.com/tgz/stable/clickhouse-common-static-dbg-22.9.3.18-amd64.tgz && 
wget curl https://packages.clickhouse.com/tgz/stable/clickhouse-server-22.9.3.18-amd64.tgz

Список версий можно посмотреть здесь.

Читать полностью »

Сравнительный анализ баз данных для хранения миллиардов записей логов

В современную эпоху больших данных выбор оптимальной системы управления базами данных для работы с миллиардами записей становится критически важным. В данной статье проводится детальный анализ четырех популярных СУБД (MySQL, PostgreSQL, Redis и ClickHouse) с точки зрения их эффективности при работе с большими объемами данных журналирования, с постоянной записью новых данных и необходимостью выполнения сложных поисковых запросов через веб-интерфейс.

Критерии сравнения

Для объективной оценки рассматриваются следующие ключевые аспекты:

Вполне логично предположить, что сократитель ссылок — довольно простой сервис как с точки зрения пользователя, так и под капотом. Но что, если, взяв за основу такую простую задачу, построить целую распределенную систему?

Мой шортенер начинался как простая практика с Go и gRPCЧитать полностью »

К нам обратился один из крупнейших строительных холдингов России (ГК компаний из 10+ юридических лиц) с потребностью в сборе всех данных с филиалом, анализе и визуализации на дашбордах.

При входе на проект аналитической инфраструктуры у компании почти не было, только множество учетных систем без централизованного хранилища данных. Объем проекта был непонятен, «аппетит приходит во время еды». Важная особенность проекта – полностью закрытый контур с доступом через терминальные решения.

Было решение выбрать архитектуру Data Lakehouse на open source стеке, основой которого стали - kafka, dagster, s3+iceberg, trino, clickhouse и DBT. Читать полностью »

Привет! Меня зовут Влад Божьев, я старший разработчик юнита АБ-тестирования Авито. В нашей команде мы ежедневно работаем с по-настоящему большими объёмами данных – это не просто фигура речи, это наша реальность. Мы помогаем создавать метрики, которые помогают бизнесу не «гадать на кофейной гуще», а принимать взвешенные решения, основанные на данных.

Читать полностью »

https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js