Komponenter

Googles öppna källor Datautbytesspråket

The dawn of the age of holograms | Alex Kipman

The dawn of the age of holograms | Alex Kipman
Anonim

Google har öppet -sourced protokoll buffertar, företagets lingua franca för kodning av olika typer av data, för att ställa scenen för en våg av nya utgåvor, enligt officiella företags blogginlägg och dokument.

"Praktiskt taget alla inuti Google" använder protokoll buffertar, anger en FAQ-sida. "Vi har många andra projekt vi vill frigöra som öppen källkod som använder protokollbuffertar. För att göra detta behövde vi släppa protokollbuffertar först."

Google använder "tusentals olika dataformat för att representera nätverksmeddelanden mellan servrar, indexrekord i repositories, geospatial dataset och mer, "skrev Kenton Varda, en medlem av Googles mjukvaruutvecklingsteam, i ett blogginlägg. "De flesta av dessa format är strukturerade, inte plana. Det här lyfter en viktig fråga: Hur kodar vi allt?"

Den allestädes närvarande XML-filen (extensible markup language) är inte tillräckligt effektiv för Googles datatjänstbehov, enligt Varda: "När alla dina maskiner och nätverkslänkar körs med kapacitet, är XML ett extremt dyrt förslag."

Med protokollbuffertar "definierar du hur du vill att dina data ska struktureras en gång, då kan du använda speciell genererad källa kod för att enkelt skriva och läsa din strukturerade data till och från en mängd olika dataströmmar och använda olika språk ", enligt en dokumentationssida. "Du kan även uppdatera din datastruktur utan att bryta ut implementerade program som är kompilerade mot det gamla formatet."

Protokollbuffertar är tre till 10 gånger mindre och 20 till 100 gånger snabbare än XML, enligt Google.

Men XML har vissa fördelar för vissa uppgifter, enligt dokumentationen: "Protokoll buffertar skulle inte vara ett bra sätt att modellera ett textbaserat dokument med markup (t.ex. HTML), eftersom du inte enkelt kan interfoliera strukturen med text. Dessutom kan XML är mänskligt läsbara och mänskligt redigerbara; protokollbuffertar, åtminstone i sitt ursprungliga format, är inte. "

Google har utarbetat en nedladdningshandbok innehåller protokollbuffertkompilatorer för Java, C ++ och Python.