Składniki

Google Open-sources Data Exchange Language

Class 4: Open APIs & Marketing Channels

Class 4: Open APIs & Marketing Channels
Anonim

Google ma otwarte - zaopatrzyło się w bufory protokołów, lingua franca firmy do kodowania różnego rodzaju danych, w celu przygotowania fali nowych wydań, zgodnie z oficjalnymi firmowymi blogami i dokumentami.

"Praktycznie każdy w Google" używa protokołu bufory, podaje stronę z najczęściej zadawanymi pytaniami. "Mamy wiele innych projektów, które chcielibyśmy udostępnić jako open source, które używają buforów protokołów, więc aby to zrobić, musieliśmy najpierw wypuścić bufory protokołów."

Google używa "tysięcy różnych formatów danych do reprezentowania komunikatów sieciowych między serwerami, rekordy indeksu w repozytoriach, zbiory danych geoprzestrzennych i inne "- napisał Kenton Varda, członek zespołu inżynieryjnego Google ds. oprogramowania w poście na blogu. "Większość z tych formatów jest ustrukturyzowana, a nie płaska. Rodzi to ważne pytanie: w jaki sposób kodujemy to wszystko?"

Wszechobecny XML (rozszerzalny język znaczników) nie jest wystarczająco wydajny, by zaspokoić potrzeby udostępniania danych przez Google, zgodnie z Vardą: "Kiedy wszystkie twoje maszyny i łącza sieciowe działają na swoim poziomie, XML jest niezwykle kosztowną propozycją."

Dzięki buforom protokołów "definiujesz, jak chcesz, aby twoje dane miały strukturę raz, możesz użyć specjalnego wygenerowanego źródła Kod umożliwiający łatwe zapisywanie i odczytywanie danych strukturalnych do różnych strumieni danych i używanie ich w różnych językach ", zgodnie ze stroną dokumentacji. "Możesz nawet zaktualizować strukturę danych bez naruszania wdrożonych programów, które są kompilowane w stosunku do" starego "formatu."

Bufory protokołów są trzy do 10 razy mniejsze i 20 do 100 razy szybsze niż XML, zgodnie z Google.

Ale XML ma pewne zalety dla pewnych zadań, zgodnie z dokumentacją: "Bufory protokołów nie byłyby dobrym sposobem na modelowanie dokumentu tekstowego przy pomocy znaczników (np. HTML), ponieważ nie można łatwo przepleść struktury z tekstem. jest czytelny dla człowieka i można go edytować przez człowieka, bufory protokołów, przynajmniej w ich macierzystym formacie, nie są. "

Google przygotował plik do pobrania zawierający kompilatory buforów protokołu dla języków Java, C ++ i Python.