YaFF от Яндекса: новый формат данных экономит до 20% серверных мощностей — что это и как работает

Схема работы формата YaFF, экономящего серверные мощности

Яндекс представил открытый формат данных YaFF (Yandex Fast Format), который позволяет экономить до 20% серверных мощностей. Эта разработка уже прошла проверку на рекламной системе компании — одном из самых нагруженных сервисов — и теперь доступна всему сообществу на GitHub.

В основе экономии лежит оптимизация процесса десериализации. Каждый раз, когда сервер получает запрос, он должен преобразовать компактные данные в формат, понятный программе. Эта рутинная операция незаметно потребляет до 10% ресурсов дата-центра, то есть компании вынуждены платить за серверы, которые в основном заняты распаковкой, а не полезной работой.

YaFF решает эту проблему кардинально: данные читаются напрямую из памяти, минуя этап преобразования. Это позволяет снизить нагрузку на процессор до 20% при тех же запросах. Эффект особенно заметен в высоконагруженных системах, где каждый процент экономии означает значительное сокращение затрат на инфраструктуру.

Важное преимущество формата — обратная совместимость. Разработчикам не придется переписывать существующий код, так как YaFF работает поверх привычного Protobuf. Это означает, что интеграция происходит плавно, без необходимости менять архитектуру приложений.

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

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

Яндекс не только поделился наработками, но и предоставил полную документацию и инструменты для работы с форматом. Разработчики могут протестировать YaFF в своих проектах и оценить выгоду от его внедрения.

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