A Meta bemutatja a „Tulip”-t, egy bináris szerializációs protokollt, amely segíti az adatsematizálást az AI és a gépi tanulási munkaterhelések protokoll-megbízhatóságának kezelésével. A PlatoBlockchain adatintelligencia. Függőleges keresés. Ai.

A Meta bemutatja a "Tulip"-t, egy bináris szerializációs protokollt, amely segíti az adatsematizálást azáltal, hogy javítja a protokollok megbízhatóságát a mesterséges intelligencia és a gépi tanulási munkaterhelések esetén

A Meta bemutatja a „Tulip”-t, egy bináris szerializációs protokollt, amely támogatja a séma evolúcióját. Ez egyszerre foglalkozik a protokoll-megbízhatósággal és más problémákkal, és segít az adatok sematizálásában. A tulipán több örökölt formátummal rendelkezik. Ezért a Meta adatplatformjában használják, és jelentősen megnövekedett teljesítménye és hatékonysága. A Meta adatplatformja számos heterogén szolgáltatásból épül fel, mint például raktári adattárolás és különféle valós idejű rendszerek, amelyek nagy mennyiségű adatot cserélnek, és szolgáltatás API-kon keresztül kommunikálnak egymással. Mivel a Meta rendszerében növekszik a mesterséges intelligenciával és a gépi tanulással kapcsolatos, ML-hez kapcsolódó munkaterhelések száma, amelyek ezen ML-modellek betanításához használnak adatokat, folyamatosan dolgozni kell az adatnaplózó rendszereink hatékonyságán. Az adatok sematizálása óriási szerepet játszik a Meta léptékű adatok platformjának létrehozásában. Ezeket a rendszereket azon tudás alapján tervezték, hogy minden döntés és kompromisszum hatással van a megbízhatóságra, az adat-előfeldolgozási hatékonyságra, a teljesítményre és a mérnök fejlesztői tapasztalatára. Az adatinfrastruktúra szerializációs formátumainak megváltoztatása nagy tét, de hosszú távon olyan előnyöket kínál, amelyek miatt a platform idővel fejlődik.

A Data Analytics Logging Library jelen van a webes rétegben és a belső szolgáltatásokban, és ez felelős az analitikai és működési adatok naplózásáért is a Scribe – a Meta által használt tartós üzenetsor-rendszer – segítségével. Az adatok beolvasása és feldolgozása a Scribe-ből történik, amely magában foglalja az adatplatform-betöltési szolgáltatást és a valós idejű feldolgozó rendszereket is. Az adatelemzési olvasókönyvtár segít az adatok deszerializálásában és strukturált hasznos terheléssé történő újrahidratálásában. A naplózási sémákat havonta hoznak létre, frissítik és törlik a Meta mérnökei, és ezek a naplózási séma adatfolyamok petabájtban minden nap a Scribe-en keresztül terjednek. 

A sematizálásra azért van szükség, hogy a (de)szerializáló verziójától függően a múltban, jelenben vagy jövőben naplózott üzenetek bármikor megbízhatóan (de)szerializálhatók legyenek, a lehető legnagyobb pontossággal és adatvesztés nélkül. Biztonságos séma evolúció visszafelé és előre kompatibilitáson keresztül a neve ennek a jellemzőnek. A cikk fő hangsúlya az adatplatform által végül feldolgozott adatok kódolására használt on-wire szerializációs formátumon van. A korábban használt két szerializálási formátumhoz, a Hive Text Delimitedhez és a JSON szerializáláshoz képest az új kódolási formátum hatékonyabb, 40-85 százalékkal kevesebb bájtot és 50-90 százalékkal kevesebb CPU-ciklust igényel az adatok (de)szerializálásához.

A naplózási könyvtár alkalmazásai különböző nyelveken, például C++, Java, Haskell, Hack és Python nyelven vannak megírva, hogy a rakományt a naplózási séma szerint sorozzák, és ezek a naplózási sémák az üzleti igényeknek megfelelően vannak meghatározva, és a könnyebb kézbesítés érdekében a Scribe-be íródnak. . A naplózási könyvtár két változatban érhető el, nevezetesen Code Generated és Generic. A kód generált változatban a típusbiztos használat érdekében statikusan beírt beállítók generálódnak minden mezőhöz. Az optimális hatékonyság érdekében utófeldolgozási és szerializációs kód is generálódik. Míg a Generic ízben dinamikusan tipizált hasznos terhelések (de)szerializálásának lebonyolítására, a Tulib nevű C++ könyvtárat kínálják. A dinamikus gépelést használó üzenetek egy naplózási séma szerint sorba rendeződnek. Mivel lehetővé teszi az üzenetek (de)szerializálását anélkül, hogy szükség lenne az alkalmazás bináris fájljának újraépítésére és újratelepítésére, ez a módszer rugalmasabb, mint a kód által generált mód.

A naplózókönyvtár több háttérrendszernek küld adatokat, amelyek hagyományosan saját sorosítási szabályokat határoztak meg, és különféle problémák merülnek fel, amikor ezeket a formátumokat használják a rakományok sorba rendezésére.

  • Szabványosítás: A szerializációs formátumokat korábban nem szabványosították; minden downstream rendszernek saját formátuma volt, ami a karbantartási és fejlesztési költségek növekedéséhez vezetett. 
  • Megbízhatóság: Új oszlopok csak a végére adhatók hozzá a deszerializálás megbízhatóságának megőrzése érdekében. Bármilyen erőfeszítés egy mező beszúrására egy meglévő oszlop közepére vagy egy oszlop eltávolítására az összes következő oszlop eltolódását okozza, ami lehetetlenné teszi a sor deszerializálását, és a frissített séma valós időben kerül az olvasókhoz. 
  • Hatékonyság: A bináris (de)szerializálással összehasonlítva a Hive Text Limited és a JSON protokoll is szövegalapú és nem hatékony.
  • Helyesség: A mezőhatárolókat és a sorhatárolókat meg kell szabadítani, illetve meg kell szabadítani a szövegalapú protokollok, például a Hive Text esetében. Minden író és olvasó ezt teszi, ami növeli a könyvtári szerzőkre nehezedő nyomást. Nehéz kezelni az elavult vagy hibás megvalósításokat, amelyek pusztán ezeknek a karaktereknek a jelenlétét keresik, és elutasítják a teljes üzenetet, ahelyett, hogy megszöknének a problémás karakterek elől.
  • Előre és visszafelé kompatibilitás: A fogyasztó által látott verzió előtt és után is szerializációs sémával sorosított rakományok fogyasztása kívánatos. A Hive Text Protocol nem nyújtja ezt a biztosítékot.
  • Metaadatok: A Hive Text Serialization nem triviálisan támogatja a metaadatok beszúrását a hasznos terhelésbe. Ahhoz, hogy a későbbi rendszerek olyan funkciókat valósítsanak meg, amelyek a metaadatok jelenlétéből profitálnak, az adatok terjesztése elengedhetetlen.

A Tulip megoldja alapvető problémánkat, a megbízhatósági problémát azáltal, hogy biztonságos sémafejlesztési formátumot biztosít, amely visszafelé és előre kompatibilis a különböző telepítési ciklusokkal rendelkező szolgáltatások között. A tulipán egy mozdulattal megoldotta ezeket a problémákat, így jobb befektetésnek bizonyult, mint a többi rendelkezésre álló lehetőség. 

A Thrift TCompactProtocol-ja a hasznos teher sorosítására szolgál a Tulip szerializációs protokollban, amely egy bináris szerializációs protokoll. A mezők azonosítókkal vannak számozva, ugyanúgy, ahogy a mérnöktől elvárható lenne, amikor egy Thrift struktúrában módosítja az azonosítókat. A mérnökök a naplózási séma létrehozásakor határozzák meg a mezőnevek és -típusok listáját, és a mezőazonosítókat az adatplatform-felügyeleti modul kezeli, nem pedig a megadott mérnökök. A sorosítási séma tárháza tartalmazza a naplózási séma lefordítását egy sorosítási sémává. A mezőnév, a mezőtípus, a kapcsolódó naplózási séma mezőazonosítója és a mezőelőzmények listája egy sorosítási konfigurációban tárolódik. Amikor egy mérnök frissíteni szeretne egy naplózási sémát, a rendszer tranzakciós műveletet hajt végre a sorosozási sémán.

Hivatkozás: https://engineering.fb.com/2022/11/09/developer-tools/tulip-schematizing-metas-data-platform/

Kérjük, ne felejtsen el csatlakozni ML Subredditünk

Avanthy Yeluri az IIT Kharagpur dual Degree hallgatója. Erősen érdeklődik az adattudomány iránt, mivel annak számos alkalmazási területe van a legkülönbözőbb iparágakban, valamint a legkorszerűbb technológiai vívmányok és a mindennapi életben való felhasználása miatt.

<!–

->

Időbélyeg:

Még több Blockchain tanácsadók