Компания Яндекс открыла исходный код технологии YaFF (Yet Another Flat Format) — нового формата передачи и чтения данных, предназначенного для высоконагруженных сервисов. Разработка позволяет работать с данными без предварительной распаковки, что помогает сократить потребление вычислительных ресурсов и снизить нагрузку на серверную инфраструктуру.
Современные онлайн-сервисы ежедневно обрабатывают огромные объемы информации, которая передается по сети или считывается с накопителей в компактном виде. Для сериализации данных многие компании используют формат Protobuf, который отличается надежностью и удобством, однако требует обязательной распаковки перед обработкой. По оценкам Яндекса, на эту операцию может приходиться до 10% всех вычислительных ресурсов сервиса.
Что такое YaFF
YaFF (Yet Another Flat Format) позволяет читать данные напрямую, без дополнительной стадии распаковки. При этом технология работает поверх существующего формата Protobuf и не требует полного переписывания программного кода, как это часто происходит при переходе на альтернативные решения вроде FlatBuffers.
Такой подход дает возможность внедрять новый формат в уже работающие проекты с минимальными изменениями, одновременно повышая эффективность использования серверных ресурсов.
Экономия вычислительных мощностей
По данным Яндекса, использование YaFF позволяет экономить до 20% вычислительных мощностей. Особенно заметен эффект в системах, обрабатывающих сотни тысяч запросов в секунду, где даже небольшое снижение нагрузки на процессоры приводит к значительной экономии ресурсов.
Технология уже применяется в рекламной платформе Яндекса. После внедрения формата нагрузка на процессоры снизилась на 10–20%, а высвободившиеся мощности компания использует для обработки дополнительного объема запросов без расширения серверного парка.
Для кого предназначена технология
Новый формат может быть полезен организациям, работающим с большими объемами данных и высокими нагрузками. Среди потенциальных пользователей — банки, маркетплейсы, телекоммуникационные операторы, облачные провайдеры и другие компании, для которых важны скорость обработки информации и эффективное использование инфраструктуры.
Открытый исходный код
Яндекс опубликовал исходный код и документацию YaFF в открытом доступе. Разработчики могут ознакомиться с проектом на GitHub, а подробное техническое описание архитектуры и принципов работы технологии доступно в публикации на Хабре.