ClickHouse в Авито: посиделки в прямом эфире с Алексеем Миловидовым

9 апреля инженеры Авито соберутся на уютные посиделки с главным разработчиком ClickHouse Алексеем Миловидым. Поговорим про то, как мы используем систему управления базами данных, с какими сложностями сталкиваемся в процессе и зададим Алексею вопросы о настоящем и будущем ClickHouse. Приглашаем всех принять участие в онлайн-трансляции встречи. Формат: три микродоклада и большая Q&A сессия, где зрители смогут задать свои вопросы.

ИТ и интернет 18+

Программа трансляции

[17:00 — 17:20] — Микродоклады инженеров Авито. 

[17:20 — 18:45] — Q&A сессия с Алексеем Миловидовым. 

[18:45 — 19:00] — Перерыв на чай.

[19:00 — 20:00] — Продолжаем Q&A сессию.

Доклады

Начнём с трёх докладов Авито, чтобы погрузить зрителей и Алексея в контекст беседы. Наши инженеры расскажут, как их команды используют ClickHouse. На всё про всё — 20 минут, и перейдём к сессии вопросов и ответов. 

Владимир Колобаев, lead system administrator 

У команды мониторинга два кластера ClickHouse. Первый — про метрики и мониторинг. Он состоит из 6 серверов общим объёмом данных 20 ТБ на SSD. Мы столкнулись с необходимостью перебалансировать все данные на 12 серверов. Боевая нагрузка никуда не делась, и стабильность кластера не должна пострадать. Это нестандартная для нас задача, потому что инструментов, позволяющий перебалансировать данные в пределах расширяемого кластера, нет. 

Второй кластер — про логи, там 150 ТБ данных на 4 серверах. Был момент, когда мы эти серверы пытались разместить в трёх дата-центрах для того, чтобы повысить стабильность кластера. Хотелось бы обсудить нюансы обеих задач.

Максим Котяков, senior backend engineer

Коротко обрисую три момента, о которых хочется поговорить. 

Первый — команда статистики для профессиональных пользователей Авито делает платформу реалтаймовой аналитики и статистики, которая пребывает в стадии бурного роста. Сейчас у нас на каждом шарде по 3 с лишним терабайта данных на SSD. Данных будет становиться всё больше, равно как и шардов, и реплик этих шардов. Поэтому нам особенно интересно всё, что связано с масштабированием кластеров.

Второй — покажу, как мы построили архитектуру нашего хранилища. Все события — как пользовательские, так и порождённые внутренними сервисами Авито — попадают в единственную большую и широкую таблицу, доступную снаружи только на запись. Оттуда они растекаются по множеству ad hoc оптимизируемых таблиц, скрывающихся под Materialized View. 

Третий — расскажу, почему мы не вычитываем напрямую из Кафки, и как при таком раскладе гарантируем или не гарантируем в зависимости от бизнес-потребности доставку событий до ClickHouse.  

Сос Саакян, middle engineer в направлении big data

В Авито я строю инфраструктуру хранилища для Realtime AB. Весь наш кликстрим льется в ClickHouse. Мы постоянно чистим данные по Cron-у — у нас версия 18.7. За день накапливается 3—4 ТБ. 

Пайплайн устроен через множество Materialized View. Данные агрегируем в наблюдения и метрики, считаем статтесты и выводим в отчёты. К ClickHouse подключены внешние словари с активной lazy_load, и я расскажу про особенности их использования и какие сайд-эффекты возможны при перезагрузке ноды.

Отдельно поговорим про дыру с реквизитами в XML конфиге словарей и то, как мы её скрыли. Хочется понять, как справиться с проблемой не костыльными способами.  

Q&A сессия с Алексеем Миловидовым

Гость встречи — Алексей Миловидов, главный разработчик ClickHouse в Яндексе. Он ответит на вопросы команды Авито и зрителей трансляции.

После вступительных докладов поразгоняем с Алексеем самые разные темы и накопившиеся боли. В дискуссии участвуют докладчики, Александр Козлов — бэкенд-инженер юнита Sale Success в Авито — и Кирилл Самохин — технический лид того же юнита. К ним присоединится Кирилл Шваков — Golang-разработчик из компании Integros. Надеемся, что беседа будет полезна всем инженерам, которые используют ClickHouse. 

Кроме тем из докладов, планируем поговорить про: 

  • Бэкапы. Лучшие практики, дружбу с Collapsing MT и партиционирование.

  • Решардинг при добавлении новых серверов.

  • Кэши. Параллельность выполнения N одинаковых select и частичное кэширование старых партиций. 

  • Ноды в кластере. Как правильно альтерить distributed на всём кластере. 

  • WAL. Rollback для alter и как реализовать контролируемое отставание реплики.

  • Асинхронный матвью. Как победить дублирование данных.

  • Логи. Три типа логов, по которым нет документации, и возможное существование дашборда.

  • Kafka engine. В каком состоянии движок. 

  • Kill query. Почему не отрабатывает при высокой нагрузке на сервер.

  • Driver GoLang. Потребление памяти, проблемы с таймзонами и древние issues. 

  • Внешние словари. Ошибки lazy_load и проблемы с безопасностью.

Чтобы задать свой вопрос, подключайтесь к прямой трансляции посиделок на ютубе. Модератор встречи Кирилл Самохин будет следить за чатом и вбрасывать интересные темы в обсуждение. 

Пароли и явки

Трансляция стартует на нашем ютуб канале 9 апреля в 17:00. Зарегистрируйтесь ниже, и мы пришлём напоминание со ссылкой в день мероприятия. 

Берегите здоровье, увидимся в онлайне!

Поделиться:

1690 дней назад
9 апреля 2020 17:00–20:00

Событие пройдет онлайн

Уже есть билет
Ссылка на онлайн-событие рассылается за час до его начала.
Получить ссылку

Поделиться:

Связь с организатором

На этот адрес придёт ответ от организатора.

Подпишитесь на рассылку организатора

Возврат билета

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

Подробнее о возврате билетов