Дарья Каширина
Яндекс выложил в открытый доступ формат YaFF для работы с большими данными.
Яндекс опубликовал в открытом доступе собственную разработку для высоконагруженных систем — формат YaFF (Yet Another Flat Format), который позволяет сократить потребление вычислительных ресурсов серверов на 10–20%. Технология предназначена для передачи и чтения больших объёмов данных без необходимости их предварительной распаковки, что снижает нагрузку на инфраструктуру и повышает эффективность обработки запросов.
По оценкам аналитической компании JLL, совокупные инвестиции в дата-центры к 2030 году могут достичь 3 трлн долларов. Из этой суммы от 1 до 2 трлн долларов будет направлено на закупку серверов, графических ускорителей и сетевого оборудования. Только капитальные расходы крупнейших мировых ИТ-компаний — Microsoft, Alphabet, Amazon, Oracle и другие — в 2026 году, по прогнозам, превысят 600 млрд долларов. Около 75% этих вложений приходится на инфраструктуру для искусственного интеллекта.
На фоне растущих затрат на вычислительные мощности всё большее значение приобретают технологии, позволяющие эффективнее использовать имеющееся оборудование. Одной из таких задач является сериализация и десериализация данных — процессы упаковки информации для передачи и её последующего преобразования в удобный для работы формат.
Сегодня для этих целей многие компании используют формат Protobuf. Он широко распространён и удобен, однако требует обязательной распаковки полученных данных, что может отнимать до 10% вычислительных ресурсов сервиса. Существуют альтернативы, например FlatBuffers, позволяющие читать данные напрямую, но их внедрение зачастую требует серьёзной переработки существующего программного кода.
Разработанный Яндексом формат YaFF решает эту проблему. Он работает поверх Protobuf и позволяет обращаться к данным напрямую, без этапа распаковки. Благодаря этому компании могут получить преимущества «плоских» форматов хранения данных без дорогостоящей миграции и переписывания сервисов.
По словам инженера-исследователя группы «Вычислительный интеллект» Института AIRI Данила Сивцова, YaFF способен упростить использование Protobuf в крупных проектах и снизить необходимость перехода на более сложные решения вроде FlatBuffers.
В Яндексе сообщили, что технология уже применяется в Рекламной сети Яндекса. При обработке сотен тысяч запросов в секунду использование YaFF позволило снизить нагрузку на процессоры на 10–20%. Освободившиеся ресурсы компания использует для обработки дополнительного объёма запросов без расширения серверного парка.
Исходный код и документация Yet Another Flat Format опубликованы на GitHub, а подробное описание принципов работы технологии доступно на Хабре.