Desde hace unos años, los ingenieros de Google están compartiendo (y de forma libre y abierta) varias de las tecnologías que utilizan dentro de la compañía. Ahora le toca el turno a ‘Protocol Buffers‘, el protocolo que usan para codificar y transmitir datos en formato binario de una manera muy compactada, y que evita por ejemplo el uso de XML para intercambiar datos.
Se asegura que es más sencillo, hasta 10 veces más ligero, hasta 100 veces más rápido, menos ambiguo, y más fácil de ‘parsear’ que XML. Por ejemplo, para modelizar la información de un libro con título e ISBN, el fichero ‘.proto’ en formato texto sería:
libro {
isbn = "9788466319140"
titulo = "Un tranvia en SP"
}
Tenéis en este enlace la documentación de la estructura del protocolo. Y para ‘parsear’ estos ficheros ‘.proto’ (que están en formato binario), Google ofrece una serie de librerías para ser utilizadas en programas creados en C++, Java y Python. lo puedes descargar desde esta página oficial.
Dentro de los sistemas de información de Google existen diferentes servidores, los cuales hablan los unos con los otros, transmitiendo diferentes tipos de datos. Se asegura que ‘Protocol Buffers’ nació para optimizar el proceso de petición de información entre estos servidores, y con la llegada de este nuevo protocolo que ahora se comparte libremente, se consiguió, además de mayor velocidad, un nuevo formato que permitía introducir fácilmente campos nuevos en los modelos de información, y que podía ser tratado por varios lenguajes que son ampliamente utilizados dentro de la compañía.
En estos momentos, dentro de los servidores de Google nos podríamos encontrar más de 12.000 ficheros ‘.proto’ que contienen diferentes tipos de información.


