TGViewer
Ворчливый IT-дед Ворчливый IT-дед @vit_ded · 1.32K subscribers
Post #459 866
Who let the dogs out? Yaff!

Если вам надоело греть воздух десериализацией протобуфов, а переписывать все ради FlatBuffers нет сил, этот пост для вас. Недавно Яндекс выложил в опенсорс исходники YaFF (Yet another Flat Format) - альтернативного wire формата для Protobuf, поддерживающего zero‑copy чтение.

Для сильных духом есть статья на хабре - там автор рассказывает буквально всю подноготную и объясняет, почему иного пути нет. Но, вкратце, несколько важных тезисов таковы:

• постоянная трансляция данных между хранилищем, рантаймом и аналитикой - дорого и неудобно (куча конвертеров и цпу-баунд операций);
• нельзя забывать про эволюцию форматов ("добавить полюшко" превращается в кросс‑командный квест);
• FlatBuffers - это не Protobuf без десериализации (нужно синхронизировать схемы, разные api, ручное перекладывание полей);
• источником истины остаётся обычный.proto‑файл, интерфейсная и шаблонная совместимость с Protobuf (дешевое внедрение);
• несколько стратегий хранения - flat layout для плотных данных, sparse layout для разреженных, dynamic сам подбирает оптимальный вариант;

Мы привыкли воспринимать Protobuf‑экосистему как монолит: proto‑схема, wire format и парсинг. YaFF разделяет эти слои. Схемы остаются контрактом между командами и сервисами, а Protobuf‑like API остается привычным интерфейсом для разработчика. Сериализованное представление становится отдельным бэкендом, который можно выбирать под конкретную нагрузку. Это ли не чудо?
  • 🔥 9
  • ❤ 1
More from @vit_ded
  1. Sep 16, 2026Впечатлениями и фотографиями с Семата поделюсь позже, а пока просто тематический мем
  2. Sep 15, 20262 до par Представим себе, что у нас есть далекая цель. Такая, что с наскоку, одним ударом,…
  3. Sep 13, 2026Тачки и кофе Про сходки vёshki cars&coffee я уже упоминал, а ведь зетка там еще не была. Н…
  4. Sep 12, 2026КБ. На днях заехал в гости к нашим друзьям из Yandex Robotics в центр робототехники - отде…
  5. Sep 6, 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 →