Componenti

Lingua di scambio di dati open source di Google

The Silk Road: Connecting the ancient world through trade - Shannon Harris Castelo

The Silk Road: Connecting the ancient world through trade - Shannon Harris Castelo
Anonim

Google è aperto -sostituì i suoi buffer di protocollo, la lingua franca dell'azienda per codificare vari tipi di dati, al fine di preparare il terreno per un'ondata di nuove versioni, secondo i post e i documenti ufficiali del blog dell'azienda.

"Praticamente tutti dentro Google" usa il protocollo buffer, afferma una pagina FAQ. "Abbiamo molti altri progetti che vorremmo rilasciare come open source che utilizzano i buffer di protocollo, quindi per fare ciò, dovevamo prima rilasciare i buffer del protocollo."

Google utilizza "migliaia di formati di dati diversi per rappresentare i messaggi in rete tra server, record di indice in repository, dataset geospaziali e altro ancora ", ha scritto Kenton Varda, un membro del team di ingegneri del software di Google, in un post sul blog. "La maggior parte di questi formati è strutturata, non piatta.Questa solleva una domanda importante: come possiamo codificare tutto?"

L'onnipresente XML (linguaggio di markup estensibile) non è abbastanza efficiente per le esigenze di condivisione dei dati di Google, secondo Varda: "Quando tutte le macchine e i collegamenti di rete funzionano a capacità, XML è una proposta estremamente costosa."

Con i buffer del protocollo "si definisce come si desidera strutturare i dati una volta, quindi è possibile utilizzare l'origine generata speciale codice per scrivere e leggere facilmente i dati strutturati da e verso una varietà di flussi di dati e utilizzando una varietà di lingue ", secondo una pagina di documentazione. "Puoi persino aggiornare la struttura dei dati senza rompere i programmi distribuiti che sono compilati con il formato" vecchio "."

I buffer di protocollo sono da 3 a 10 volte più piccoli e da 20 a 100 volte più veloci di XML, secondo Google.

Ma XML ha alcuni vantaggi per determinati compiti, secondo la documentazione: "I buffer di protocollo non sarebbero un buon modo per modellare un documento basato su testo con markup (es. HTML), dato che non si può facilmente interlacciare la struttura con il testo. è leggibile dall'uomo e modificabile dall'uomo, i buffer di protocollo, almeno nel loro formato nativo, non lo sono. "

Google ha preparato una pagina di download che contiene i compilatori di protocolli buffer per Java, C ++ e Python.