Protobuf — A high-performance data-interchange format.

Protobuf — A high-performance data-interchange format.

Changing from JSON to Protobuf cut bandwidth usage from 7.86–12.57Mbps to 1.09–1.38Mbps and gives significant data transfer savings.

Protocol Buffers, commonly known as protobuf, is a binary data-interchange format that guarantees type-safety while being language-agnostic and cross-platform. The format is size-efficient and developed with a focus on high serialization/deserialization performance.

The format relies on pre-compiled schemas unlike other data-interchange formats such as JSON that can be serialized/deserialized using generic libraries. The official compiler supports C++, C#, Dart, Go, Java and Python. Utilizing protobuf with a language not supported by the compiler, while possible, is quite cumbersome.


Schema Files

The schema is defined in .proto _files using the language defined in the official language guide. It supports complex structures including nested types, optional fields, repeated fields _(arrays), mappings, and much more.

syntax = "proto3";

package Example;
message Entity {
  int32 identifier = 1;
  optional string description = 2;
  repeated Coordinate points = 3;
}
message Coordinate {
  optional int32 x = 1;
  optional int32 y = 2;
}

This schema is then compiled into the desired languages using protoc _which produces a number of files with class definitions for each _message entity.


Performance — Message Size

I first discovered protobuf while working on Abathur, a framework for modularized StarCraft II agents. The entire game state has to be synchronized every _game step _(16Hz at normal game speed, 22.4Hz at faster) — which creates a high bandwidth requirement, so I decided to run some tests.

cloud protobuf data-science cloud-computing programming big data

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Top Microsoft big data solutions Companies | Best Microsoft big data Developers

An extensively researched list of top microsoft big data analytics and solution with ratings & reviews to help find the best Microsoft big data solutions development companies around the world.

Role of Big Data in Healthcare - DZone Big Data

In this article, see the role of big data in healthcare and look at the new healthcare dynamics. Big Data is creating a revolution in healthcare, providing better outcomes while eliminating fraud and abuse, which contributes to a large percentage of healthcare costs.

Silly mistakes that can cost ‘Big’ in Big Data Analytics

‘Data is the new science. Big Data holds the key answers’ - Pat Gelsinger The biggest advantage that the enhancement of modern technology has brought

Big Data can be The ‘Big’ boon for The Modern Age Businesses

We need no rocket science in understanding that every business, irrespective of their size in the modern-day business world, needs data insights for its expansion. Big data analytics is essential when it comes to understanding the needs and wants of a significant section of the audience.

Multi-cloud Spending: 8 Tips To Lower Cost

Mismanagement of multi-cloud expense costs an arm and leg to business and its management has become a major pain point. Here we break down some crucial tips to take some of the management challenges off your plate and help you optimize your cloud spend.