TGViewer
Будни разработчика Будни разработчика @htmlshit · 14.4K subscribers
Post #3747 2.63K
#статья дня

Все, наверное, знают о том, что существует поведенческий таргетинг — который определяет, какая реклама вам больше интересна. 

И под капотом такой системы — полноценная big data-инфраструктура: события пишутся в логи, проходят обработку и попадают в key-value хранилище, откуда их читает рантайм показа рекламы. 

Причем система должна работать так надежно, чтобы каждое событие обработалось ровно один раз (exactly-once), и так быстро, чтобы уложиться в миллисекунды на весь цикл. 

Как этого добиться — рассказал в статье Руслан Савченко, разработчик динамических таблиц YTsaurus: https://habr.com/ru/companies/yandex/articles/939078/

Из интересного:

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

— Дошли до низкоуровневой оптимизации аллокатора памяти и работы с ядром Linux, чтобы убрать провалы на высоких перцентилях.

— Вместо перезаписи всего protobuf-профиля система пишет бинарные дельты (через xdelta). Агрегатные колонки накладывают все накопившиеся дельты на оригинальный protobuf — получаем актуальную версию объекта

Все решения, на самом деле, можно применять не только к профилям. Прикольно, что в статье куча графиков — помогают разобраться. Советую почитать на досуге

#highload #db #database
  • 👍 5
  • ❤ 4
  • 🫡 3
More from @htmlshit
  1. Oct 5, 2026Стилизация тултипов Два года назад я писал о проблеме с title и о принятом рабочей группой…
  2. Oct 5, 2026О господи, да неужели я при жизни увижу стилизацию title?!!
  3. Oct 4, 2026#инструмент дня Промо-видео на Rust. Что? Да! Давно знал об FFrames — фреймворке, в которо…
  4. Oct 2, 2026#ссылка дня В комментариях к посту про моргающее меню а-ля macOS HIG всплыл вопрос: а есть…
  5. Oct 1, 2026⚡️ JavaScript, архитектура и ИИ: о чем будут говорить на юбилейной HolyJS 2026 Autumn 📆 2…
  6. Oct 1, 2026#фишка дня Давайте нормализуем выкладывание кода вместе с обучающим видео! Немного раздраж…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →