Komponente

Google Otvoreni izvori za Exchange Exchange

Yochai Benkler: Open-source economics

Yochai Benkler: Open-source economics
Anonim

Google je otvoren

"Praktički svi unutar Googlea" upotrebljavaju protokole koji koriste protokol za protokoliranje, jezik francuske tvrtke za kodiranje različitih vrsta podataka, kako bi postavili pozornicu za val novih izdanja, prema službenim blogovima i dokumentima tvrtke. buffers, navodi FAQ stranicu. "Imamo mnogo drugih projekata koje želimo objaviti kao otvoreni izvor koji koriste protokol odbojnika, pa da bismo to učinili, morali smo najprije osloboditi protokolske pufere."

Google koristi "tisuće različitih formata podataka za prikaz mrežnih poruka između poslužitelja, indeksni zapisi u spremištima, geoprostorne skupove podataka i još mnogo toga ", napisao je Kenton Varda, član Googleovog tima za programski inženjering, u postu na blogu. "Većina tih formata je strukturirana, a ne ravna, što postavlja važno pitanje: Kako kodirati sve?"

Sveprisutni XML (extensible markup language) nije dovoljno učinkovit za Googleove potrebe za dijeljenjem podataka,: "Kada svi vaši strojevi i mrežni linkovi budu prikazani na kapacitetu, XML je iznimno skupe prijedlog."

Sa protokolnim puferima, "definirate kako želite da se vaši podaci strukturirate jednom, tada možete koristiti posebni generirani izvor koda za jednostavno pisanje i čitanje strukturiranih podataka u različitim tokovima podataka i korištenju različitih jezika ", prema stranici dokumentacije. "Možete čak i ažurirati svoju strukturu podataka bez razbijanja raspoređenih programa koji su sastavljeni prema" starom "formatu."

Protokolni su puferi tri do deset puta manji i 20 do 100 puta brži od XML, No, XML ima neke prednosti za određene zadatke, prema dokumentaciji: "Protokolski odbojnici ne bi bili dobar način za modeliranje dokumenta koji se temelji na tekstu s oznakom (npr. HTML), budući da tekst strukture ne možete lako umetnuti, "

Google je pripremio download pagethat koji sadrži kompilatore protokolskog protokola za Java, C ++ i Python.