protocol protobuffers protobuf buffers array python xml database protocol-buffers

python - protobuffers - protocol buffer list



¿Alguna experiencia con Protocol Buffers? (4)

Estaba buscando información sobre el formato de intercambio de datos de los buffers de protocolo de Google. ¿Alguien ha jugado con el código o incluso ha creado un proyecto al respecto?

Actualmente estoy usando XML en un proyecto de Python para contenido estructurado creado a mano en un editor de texto, y me preguntaba cuál era la opinión general sobre Protocol Buffers como un formato de entrada orientado al usuario. Los beneficios de velocidad y brevedad definitivamente parecen estar ahí, pero hay tantos factores cuando se trata de generar y procesar los datos.


Si está buscando interacción con el usuario, quédese con xml. Tiene más soporte, comprensión y aceptación general actualmente. Si es interno, diría que los búferes de protocolo son una gran idea.

Tal vez en unos pocos años a medida que aparezcan más herramientas para admitir los búferes de protocolo, entonces comience a buscar una API pública. Hasta entonces ... ¿ JSON ?


Los búferes de protocolo están destinados a optimizar las comunicaciones entre máquinas. Realmente no están destinados a la interacción humana. Además, el formato es binario, por lo que no podría reemplazar XML en ese caso de uso.

También recomendaría JSON como el formato de texto más compacto.


A partir de su breve descripción, parece que los búferes de protocolo no son los adecuados. La frase "contenido estructurado creado a mano en un editor de texto" casi grita por XML.

Pero si desea comunicaciones eficientes y de baja latencia con estructuras de datos que no se comparten fuera de su organización, la serialización binaria, como los buffers de protocolo, puede ofrecer una gran ganancia.


Otro inconveniente del formato binario como PB es que si hay un solo error, el archivo de datos completo no es analizable, pero con JSON o XML, como último recurso, aún puede corregir el error manualmente porque es legible para el ser humano y tiene redundancia incorporada ...