Новая технология «Яндекса» позволяет экономить 20% серверных мощностей

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

Новая технология «Яндекса» позволяет экономить 20% серверных мощностей
Источник

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

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

Разработанный в «Яндексе» YaFF предлагает иное решение. Формат может использоваться поверх существующего Protobuf, что дает возможность считывать данные напрямую, минуя этап распаковки. Благодаря этому технологию можно интегрировать в уже работающие проекты без существенной доработки кода. Потенциальными сферами применения названы банковский сектор, маркетплейсы, телекоммуникационные компании и облачные платформы — то есть любые проекты, где важны скорость обработки данных и эффективное использование аппаратных ресурсов.

Новинка уже прошла апробацию в рекламной системе «Яндекса». При обработке сотен тысяч запросов в секунду внедрение формата позволило снизить нагрузку на процессоры в диапазоне от 10 до 20%. Освободившиеся мощности компания перенаправляет на обработку дополнительного числа пользовательских запросов без увеличения серверного парка.

Исходный код и документация YaFF доступны на платформе GitHub.

Что будем искать? Например,ChatGPT

Мы в социальных сетях