All streams
Search
Write a publication
Pull to refresh
19
1
Руслан Савченко @savrus_pub

Руководитель разработки динтаблиц YTsaurus

Send message

Как используются динтаблицы YTsaurus: рекламные профили поведенческого таргетинга

Reading time21 min
Views2.1K

Когда вы видите баннер, кликаете по рекламе или указываете, что вас не интересует тот или иной товар, — за кулисами происходит немало вычислений. Система поведенческого таргетинга, отвечающая за персонализацию рекламы в Яндексе, получает эти события, обновляет ваш профиль, а затем использует его, чтобы в следующий раз показать что‑то более подходящее.

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

Меня зовут Руслан Савченко, в Yandex Infrastructure я руковожу разработкой динамических таблиц YTsaurus — системы, в которой поведенческий таргетинг хранит данные. В этой статье я подробно разберу кейс поведенческого таргетинга с динтаблицами: почему таблицы в памяти иногда тормозят из‑за аллокатора, зачем мы внедрили xdelta, как именно устроены агрегатные колонки и что пришлось сделать, чтобы миллисекунды отклика в 99,9 перцентиле стали реальностью.

Читать далее

Новые динтаблицы: вторичные индексы, web assembly и ещё много улучшений к версии YTsaurus 24.1.0

Reading time17 min
Views2.6K

Динамические таблицы — это распределённая база данных, key‑value‑пары которой объединяются в привычные пользователям реляционных СУБД таблицы. В YTsaurus в них можно хранить огромные массивы данных, при этом их можно быстро читать — поэтому YTsaurus используют почти все сервисы Яндекса: Реклама, Маркет, Такси, даже Поиск при построении поисковой базы, и другие.

Я руковожу службой разработки динамических таблиц в Yandex Infrastructure и раньше уже рассказывал, как мы оптимизировали чтение, улучшали выборку строк в SQL‑запросах и защищались от перегрузок. Сегодня вышла новая версия YTsaurus 24.1.0, в которой динамические таблицы получили ещё несколько долгожданных доработок. В статье расскажу про них подробнее.

Читать далее

Как ломаются большие системы и как их траблшутить — инсайты из интенсива ШАДа Яндекса

Reading time10 min
Views8.1K

Привет, меня зовут Руслан Савченко, я руководитель службы разработки динамических таблиц в Yandex Infrastructure и преподаватель в Школе анализа данных. Сегодня я поделюсь актуальными инсайтами о том, как ломаются большие системы и как их траблшутить. Думаю, это будет полезно разработчикам и студентам, которые интересуются Site Reliability Engineering. Вообще, мало где сейчас обучают SRE, хотя в индустрии такие задачи очень востребованы.

В основе статьи — материалы SRE Week, открытого интенсива ШАДа по работе с большими нагруженными системами.

Читать далее

Улучшаем динамические таблицы YTsaurus с помощью алгоритмов

Reading time17 min
Views5.9K

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

Всё это звучит здорово, но стоять на месте никак нельзя. Поэтому мы постоянно работаем над всякого рода улучшениями и оптимизациями. Зачастую новые фичи хранят под капотом не самую тривиальную идею. И сегодня я хочу рассказать о нескольких таких улучшениях, которые мы затащили в виде новых фич в последнем релизе. 

В этой статье разберёмся, как работает xor-фильтр, в чём особенность чанкового хеш-индекса и как overload controller повышает стабильность работы. Все примеры разберём на примере YTsaurus, но они будут полезны любому разработчику СУБД.

Читать далее

Information

Rating
1,602-nd
Registered
Activity