Byte/RE ИТ-издание

Формат данных YaFF от «Яндекса» – в доступе на GitHub

«Яндекс» объявил, что выложил в опенсорс YaFF (Yet Another Flat Format) – новый формат передачи и чтения данных для высоконагруженных сервисов. Технология позволяет работать с данными, не расходуя ресурсы на их распаковку. Это дает возможность экономить до 20% вычислительных мощностей.

Современные сервисы и приложения получают данные по сети или с диска в компактном виде. Чаще всего, поясняют в «Яндексе», крупные ИТ-компании используют для «упаковки» и передачи данных формат Protobuf. Он удобен и надежен, но имеет существенный недостаток: полученные данные нужно каждый раз распаковывать. Это ресурсоемкая операция, на которую уходит до 10% всех мощностей сервиса. Альтернативный формат FlatBuffers позволяет читать данные без распаковки, но для перехода на него нужно практически полностью переписать код. Технология «Яндекса» решает эти проблемы.

YaFF можно использовать поверх стандартного формата Protobuf, чтобы считывать данные напрямую, без распаковки. Это позволяет применять YaFF в уже существующих проектах и экономить вычислительные ресурсы, не переписывая код сервиса. Новый формат подойдет банкам и маркетплейсам, телеком-операторам и разработчикам облачных сервисов – всем, для кого критичны скорость обработки данных и эффективность использования «железа».

Технология уже внедрена в рекламной системе «Яндекса». В условиях обработки сотен тысяч запросов в секунду это позволило снизить нагрузку на процессоры на 10–20%. Высвобожденные ресурсы компания направляет на обработку большего числа пользовательских запросов без расширения серверного парка.

Документация и код Yet Another Flat Format опубликованы на платформе GitHub.

Вам также могут понравиться