Komponenter

Google Open-kilder Dataudvekslingssprog

Årsaker til første verdenskrig

Årsaker til første verdenskrig
Anonim

Google har åbent -sourced sine protokollabuffere, selskabets lingua franca til kodning af forskellige typer data, for at sætte scenen for en bølge af nye udgivelser i henhold til officielle firmablogposter og -dokumenter.

"Praktisk alle i Google" bruger protokol buffere, angiver en FAQ side. "Vi har mange andre projekter, vi gerne vil frigive som open source, der bruger protokollabuffere. For at gøre dette behøvede vi først at frigive protokollbuffere."

Google bruger tusindvis af forskellige datformater til at repræsentere netværksbeskeder mellem servere, indeksoptegnelser i repositorier, geospatiale datasæt og meget mere ", skrev Kenton Varda, et medlem af Googles software engineering team, i et blogindlæg. "De fleste af disse formater er strukturerede, ikke flade. Dette rejser et vigtigt spørgsmål: Hvordan kan vi kode det hele?"

Den allestedsnærværende XML (extensible markup language) er ikke effektivt nok til Googles datadeling behov, ifølge Varda: "Når alle dine maskiner og netværksforbindelser kører i kapacitet, er XML et ekstremt dyrt forslag."

Med protokollabuffere "definerer du, hvordan du vil have dine data struktureret én gang, så kan du bruge specialgenereret kilde kode for nemt at skrive og læse dine strukturerede data til og fra en række datastrømme og bruge en række forskellige sprog ", ifølge en dokumentationsside. "Du kan endda opdatere din datastruktur uden at bryde implementerede programmer, der er kompileret mod det gamle format."

Protokolbuffere er tre til 10 gange mindre og 20 til 100 gange hurtigere end XML, ifølge Google.

Men XML har nogle fordele for bestemte opgaver, ifølge dokumentationen: "Protocol buffere ville ikke være en god måde at model et tekstbaseret dokument med markup (f.eks. HTML), da du ikke nemt kan sammenlægge strukturen med tekst. Derudover XML er menneskelig læselig og menneskelig redigerbar; protokoll buffere, i det mindste i deres oprindelige format, er ikke. "

Google har udarbejdet en download pagethat indeholder protokoll buffer kompilere til Java, C ++ og Python.