Componentes

Google Open-sources Data Exchange Language

Machine Learning with Scikit-Learn and Xgboost on Google Cloud Platform (Cloud Next '18)

Machine Learning with Scikit-Learn and Xgboost on Google Cloud Platform (Cloud Next '18)
Anonim

Google ha abierto -proporcionó los buffers de protocolo, la lingua franca de la compañía para codificar varios tipos de datos, con el fin de preparar el escenario para una ola de nuevas versiones, según publicaciones y documentos oficiales del blog de la compañía.

"Prácticamente todo el mundo dentro de Google" usa el protocolo buffers, establece una página de preguntas frecuentes. "Tenemos muchos otros proyectos que deseamos lanzar como código abierto que usan búferes de protocolo, así que para hacerlo necesitamos liberar búferes de protocolo primero."

Google usa "miles de formatos de datos diferentes para representar mensajes en red entre servidores", indexe registros en repositorios, conjuntos de datos geoespaciales y más ", escribió Kenton Varda, miembro del equipo de ingeniería de software de Google, en una publicación de blog. "La mayoría de estos formatos están estructurados, no planos. Esto plantea una pregunta importante: ¿cómo codificamos todo?"

El omnipresente XML (lenguaje de marcado extensible) no es lo suficientemente eficiente para las necesidades de intercambio de datos de Google, según Varda: "Cuando todas sus máquinas y enlaces de red se ejecutan a capacidad, XML es una propuesta extremadamente costosa".

Con búferes de protocolo, "usted define cómo desea que sus datos se estructuren una vez, luego puede usar una fuente generada especial código para escribir y leer fácilmente sus datos estructurados desde y hacia una variedad de flujos de datos y usando una variedad de idiomas, "de acuerdo con una página de documentación. "Incluso puede actualizar su estructura de datos sin interrumpir los programas implementados que se compilan contra el formato 'anterior'".

Los búferes de protocolo son de tres a 10 veces más pequeños y de 20 a 100 veces más rápidos que XML, según Google.

Pero XML tiene algunas ventajas para ciertas tareas, de acuerdo con la documentación: "Los búferes de protocolo no serían una buena forma de modelar un documento basado en texto con marcado (por ejemplo, HTML), ya que no se puede intercalar fácilmente la estructura con el texto. es legible por humanos y editable por humanos, los búferes de protocolo, al menos en su formato nativo, no lo son ".

Google preparó una página de descarga que contiene compiladores de búfer de protocolo para Java, C ++ y Python.