Bileşenler

Google Açık Kaynak Veri Değişim Dili

Avril Lavigne - Hello Kitty

Avril Lavigne - Hello Kitty
Anonim

Google açık Resmi şirket blog gönderilerine ve belgelerine göre, yeni sürümlerden oluşan bir dalganın sahnesini belirlemek için çeşitli veri türlerini kodlamak amacıyla şirketin protokol arabelleğini, şirketin lingua franca'sını kullandı.

"Google içindeki herkes pratikte" protokol kullanıyor tamponlar, bir SSS sayfasını belirtir. "Protokol arabelleklerini kullanan açık kaynak olarak serbest bırakmak istediğimiz birçok başka projemiz var, bu nedenle bunu yapmak için önce protokol arabelleklerini yayınlamamız gerekiyordu."

Google, "sunucular arasında ağa bağlı iletileri temsil etmek için binlerce farklı veri biçimini kullanıyor", depolarda dizin kayıtları, coğrafi veri kümeleri ve daha fazlası, "bir blog yazısında Google'ın yazılım mühendisliği ekibinin bir üyesi olan Kenton Varda'yı yazdı. "Bu formatların çoğu yapılandırılmış, düz değil. Bu önemli bir soruyu gündeme getiriyor: Her şeyi nasıl kodlarız?"

Varda'ya göre, her yerde bulunan XML (genişletilebilir biçimlendirme dili) Google'ın veri paylaşımı ihtiyaçları için yeterince verimli değil.: "Tüm makineleriniz ve ağ bağlantılarınız kapasitede çalışırken, XML son derece pahalı bir tekliftir."

Protokol arabellekleriyle, "verilerinizin bir kez nasıl yapılandırılmasını istediğinizi tanımlarsınız, ardından özel oluşturulmuş kaynak kullanabilirsiniz. kod, yapısal verilerinizi çeşitli veri akışlarına ve çeşitli veri akışlarına kolayca yazabilmenizi ve okuyabileceksiniz. "Veri yapınızı," eski "biçime karşı derlenmiş dağıtılmış programları kırmadan güncelleştirebilirsiniz."

Protokol arabellekleri, Google'a göre XML'den üç ila 10 kat daha küçük ve 20 ila 100 kat daha hızlıdır.

. Ancak XML, belgelere göre bazı görevler için bazı avantajlara sahiptir: "Protokol arabellekleri, metne kolayca metin ekleyemediğinizden, biçimlendirmeyle metin tabanlı bir belgeyi (örn. HTML) modellemek için iyi bir yol olmaz. Ayrıca, XML insan tarafından okunabilir ve insan tarafından düzenlenebilir; protokol arabellekleri, en azından kendi yerel formatlarında değildir. "

Google, Java, C ++ ve Python için protokol arabellek derleyicileri içeren bir indirme hazırlamıştır.