Обновить

Комментарии 8

Вот такие должны быть статьи на хабре - пот, кровь и трино.

По каким причинам не рассматривали и даже не тестировали Clickhouse в качестве замены? Он тоже по-всякому умеет работать - и с разделением хранилища и вычислительных нод, и когда всё в одном. Тем более опыт его эксплуатации есть

clickhouse мы используем уже больше 6 лет. подробнее про это написано в статье про эволюцию dwh в Авито https://habr.com/ru/companies/avito/articles/600053/ и немного даже в этой статье.

сам clickhouse не подходит для построения dwh общего назначения – не умеет джоины в общем случае, плохо упраляет ресурсами (выполняет запросы на все деньги).

clickhouse хорошо подходит для кейсов аналитики одной таблицы, чем мы активно и пользуемся в нескольких сценариях, один из которых кликстрим (до 60млн событий в минуту)

Как-то не дает покое ощущение, по описанию, что DWH и весь процесс ETL построен неоптимально или Vertica используется некорректно, поэтому и присутствуют все проблемы. Например, говорится о таблицах с сотнями колонок, но у column-based баз, как Vertica, нет таких таблиц физически. Там хранилище организовано по-другому. Или например, низкая скорость вставки. Да, если вставлять по одной записи скорость будет относительно низкая, причем, и в реляционной базе тоже, т.к. перестройка индексов занимает львиную долю времени и чем больше индексов (колонок, измерений), тем больше времени.

Еще смущает такое количество витрин. Какие критерии используются: по отраслям, направлениям и т.д.? Похоже как агрегация производится "в лоб". Если такое количество нужно постоянно переиндексировать, то рано или поздно любая база не справится.

Может в другой части раскроите больше деталей?

Не совсем понял, о каких конкретно проблемах Vertica в контексте ETL вы говорите. Если вы только про таблицы с сотнями колонок, то речь была про clickstream. В Авито на текущий момент кликстрим - более 60млрд строк в день и более 2500 колонок. Большая часть колонок - поля в разных событиях. Когда-то давно, когда кликстрим был раза в 3 меньше, мы грузили его в Vertica. Почему в Vertica? Потому что все данные мы хранили в одном месте. Vertica отлично справлялась с миллиардами строк, но вот с сотнями колонок - плохо. Все потому что бай дизайн все таблицы в Vertica обязаны быть отсортированы, а сортировка сотен колонок в ее движке реализована не самым эффективным образом. Вот и были проблемы. Однако решили мы их миграцией кликстрима в ClickHouse и написав свой движок в вертике для прямого обращения в ClickHouse (об этом мы рассказывали в предыдущей статье, на которую даём ссылку в начале текущей статьи). На сегодняшний день он отлично справляется с 60 миллиардами событий и 2500+ колонок в день. А в рамках данной статьи мы лишь подчеркнули, что и Трино мог бы справиться с задачей вставки такого числа колонок - потому что он не требует пересортировки данных (если в таблице ее нет)

Еще смущает такое количество витрин. Какие критерии используются: по отраслям, направлениям и т.д.?

Авито – огромная data driver компания, где трудятся более 10к сотрудников, из которых более 1500 каждый месяц работают с SQL, более 8000 каждый месяц работают с BI. Применений данных в компании невероятное количество: операционная и продуктовая аналитика (в Авито сотни разных продуктов), антифрод, crm, ab, сотни интеграций в продукт Авито и многое другое. На таких масштабах витрины решают специфичные задачи специфичных команд.

Отличная статья, спасибо! Интересно было почитать про ваш опыт.
Я помню, что у вас ещё были проблемы с CEPH - вроде он плохо справлялся с потоком больше 10 Гбит/с, если не изменяет память.
В итоге выбрали что-то другое или смогли оптимизировать?

Про сеф рассказали в отдельной статье: https://habr.com/ru/companies/avito/articles/980980/

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Информация

Сайт
avito.tech
Дата регистрации
Дата основания
2007
Численность
5 001–10 000 человек
Местоположение
Россия
Представитель
vvroschin