Amikor a cégek CPU-ciklusok megtakarításáról beszélnek, a legtöbb ember elengedi a füle mellett. Érthető módon: ez nem az a téma, amitől a többség izgalomba jönne. Nagy léptékű szolgáltatásokat futtató szervezeteknél viszont már a kisebb hatékonyságnövekedés is komoly pénzt jelenthet.
Ezért érdemes odafigyelni arra, hogy a Yandex nyílt forráskódúvá tette a YaFF-et, teljes nevén Yet Another Flat Formatot.
A cég szerint a YaFF-et egy, a Protobufnál gyakran felmerülő problémára találták ki. A széles körben használt adat-sorosítási technológia, a Protobuf hatékony az adatok továbbítására, de az alkalmazásoknak általában deszerializálniuk kell az adatot, mielőtt használni tudnák. A Yandex úgy látja, hogy nagy rendszerekben ez a folyamat akár a rendelkezésre álló CPU-erőforrások 10 százalékát is felemésztheti.
A YaFF más utat választ. Nem kényszeríti az alkalmazásokat arra, hogy az adatok eléréséhez előbb deszerializáljanak, hanem közvetlen hozzáférést tesz lehetővé, miközben kompatibilis marad a meglévő Protobuf sémákkal és folyamatokkal. Vagyis a fejlesztők teljesítmény-fejlesztést érhetnek el anélkül, hogy át kellene írniuk az alkalmazásokat, vagy teljesen más formátumra kellene átállniuk.
Valószínűleg éppen ez a kompatibilitás lehet a projekt legnagyobb vonzereje. Léteznek már olyan technológiák, mint a FlatBuffers, amelyek hasonló problémákra kínálnak megoldást, de egy új formátumra való átállás drága és időigényes lehet. A Yandex szerint a YaFF a meglévő Protobuf infrastruktúra mellett működik, így a bevezetése jóval egyszerűbb lehet.
A cég állítja, hogy a YaFF-et már használják a hirdetési platformján, amely másodpercenként több százezer kérést dolgoz fel. Ebben a környezetben a Yandex szerint a technológia 10–20 százalékkal csökkentette a CPU-használatot.
Az ilyen számokat természetesen érdemes fenntartásokkal kezelni, amíg független fejlesztők nem tudják a saját környezetükben is kiértékelni a technológiát. Az ötlet mindenesetre érdekes. Ha a YaFF valóban képes érezhető teljesítmény-fejlesztést hozni anélkül, hogy jelentős architekturális változtatásokat kényszerítene ki, könnyen megtalálhatja a közönségét a nagy terhelésű backend rendszerekért felelős fejlesztők között.
A Yandex a YaFF-et Apache 2.0 licenc alatt adta ki, a forráskód GitHub-en érhető el itt. Most jön az igazi próba: a tágabb fejlesztői közösség vajon meg tudja-e ismételni a cég eredményeit a Yandex infrastruktúráján kívül is.

