Facebook maakt tool voor beheer grote hoeveelheden data opensource

Facebook geeft de zelf ontwikkelde code genaamd F14 vrij, een hashtabel die wordt gebruikt om grote hoeveelheden data te beheren. Naast dat de code te downloaden is via GitHub wordt deze ook toegevoegd aan Folly, een opensource-bibliotheek van softwarecomponenten geschreven in de C ++ programmeertaal, aldus Silicon Angle.

“Folly’s F14 wordt veel gebruikt binnen Facebook. Het levert CPU- en RAM-efficiëntie, die robuust is in een groot aantal verschillende gebruikssituaties”, aldus Facebook software ingenieurs Xiao Shi en Nathan Bronson in een uitgebreide blogpost. 

Minder collisions

Volgens de ingenieurs zijn hashtabellen een mechanisme dat door software wordt gebruikt om snel gegevens op te slaan en te zoeken. Reden temeer, waarom  F14 volgens hen een goede keuze is. Hashtabellen zouden een snelle manier bieden om een set sleutels of kaartsleutels te behouden tot waarden, zelfs als de sleutels objecten zijn, zoals tekenreeksen. Ontwikkelaars zouden dit type hashtabellen zeggen waarderen, vanwege hun vermogen om snel gegevens op te zoeken. Ook als de hoeveelheid opgeslagen gegevens exponentieel toeneemt.

F14 zou ten opzichte van andere hashtabellen voordelen bieden op het gebied van collisions. De door Facebook ontwikkelde code zou de mogelijkheid bieden de kans hierop te verkleinen. Dat gezien meerdere sleutels in de hashtabel proberen om dezelfde vragen op te lossen. Wel kan dit volgens Shi en Bronson andere taken vertragen, omdat het proces meer van het geheugen vraagt.

14-wegs tellende hashtabel

Hashtabellen worden volgens de ingenieurs tegenwoordig op grote schaal gebruikt aangezien bedrijven steeds meer  gegevens opslaan en hashtabellen een grote invloed kunnen hebben op de mogelijkheden van verschillende software en applicaties. “Ze zijn zo’n alomtegenwoordig hulpmiddel in de informatica, dat zelfs incrementele verbeteringen een grote impact kunnen hebben. Het potentieel voor optimalisatie leidde tot een toename van hashtabel-implementaties binnen Facebook, ieder met zijn eigen sterke en zwakke punten. Om het selecteren van de juiste hashtabel te vereenvoudigen, hebben we de 14-wegs tellende hashtabel F14 in Folly gebouwd”, aldus de ingenieurs.

Hybride opslagmechanisme

Bovendien zou F14 ook helpen bij het verminderen van overheadkosten van geheugen en centrale verwerkingseenheden. Hierdoor zouden de softwareprestaties verbeteren, doordat meer gegevens in de geheugencache passen. Iets dat wordt gerealiseerd door het gebruik van een hybride opslagmechanisme genaamd F14Fast. Dat opslagmechanisme werkt  de meest efficiënte gegevensopslagmethode voor elk stuk informatie uit, afhankelijk van het waardetype. Volgens de ingenieurs is het geschreven met aanzienlijk minder code dan andere hashtabellen. Iets wat zich zou terugbetalen in verbeterde prestaties.

 

Lees ook: Google ontwikkelt cloud-native code voor implementatie Kubernetes-clusters