Google open-sources data exchange language

Google has open-sourced its internal data exchange language, according to official blog posts.

Google has open-sourced its protocol buffers, the company's lingua franca for encoding various types of data, in order to set the stage for a wave of new releases, according to official company blog posts and documents.

"Practically everyone inside Google" uses protocol buffers, states a FAQ page. "We have many other projects we would like to release as open source that use protocol buffers, so to do this, we needed to release protocol buffers first."

Google uses "thousands of different data formats to represent networked messages between servers, index records in repositories, geospatial datasets, and more," wrote Kenton Varda, a member of Google's software engineering team, in a blog post. "Most of these formats are structured, not flat. This raises an important question: How do we encode it all?"

The ubiquitous XML (extensible markup language) is not efficient enough for Google's data-sharing needs, according to Varda: "When all of your machines and network links are running at capacity, XML is an extremely expensive proposition."

With protocol buffers, "you define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages," according to a documentation page . "You can even update your data structure without breaking deployed programs that are compiled against the 'old' format."

Protocol buffers are three to 10 times smaller and 20 to 100 times faster than XML, according to Google.

But XML has some advantages for certain tasks, according to the documentation: "Protocol buffers would not be a good way to model a text-based document with markup (e.g. HTML), since you cannot easily interleave structure with text. In addition, XML is human-readable and human-editable; protocol buffers, at least in their native format, are not."

Google has prepared a download page that contains protocol buffer compilers for Java, C++ and Python.

Join the newsletter!

Error: Please check your email address.
Rocket to Success - Your 10 Tips for Smarter ERP System Selection
Keep up with the latest tech news, reviews and previews by subscribing to the Good Gear Guide newsletter.

Chris Kanaracus

IDG News Service
Show Comments

Most Popular Reviews

Latest Articles

Resources

PCW Evaluation Team

Sarah Ieroianni

Brother QL-820NWB Professional Label Printer

The print quality also does not disappoint, it’s clear, bold, doesn’t smudge and the text is perfectly sized.

Ratchada Dunn

Sharp PN-40TC1 Huddle Board

The Huddle Board’s built in program; Sharp Touch Viewing software allows us to easily manipulate and edit our documents (jpegs and PDFs) all at the same time on the dashboard.

George Khoury

Sharp PN-40TC1 Huddle Board

The biggest perks for me would be that it comes with easy to use and comprehensive programs that make the collaboration process a whole lot more intuitive and organic

David Coyle

Brother PocketJet PJ-773 A4 Portable Thermal Printer

I rate the printer as a 5 out of 5 stars as it has been able to fit seamlessly into my busy and mobile lifestyle.

Kurt Hegetschweiler

Brother PocketJet PJ-773 A4 Portable Thermal Printer

It’s perfect for mobile workers. Just take it out — it’s small enough to sit anywhere — turn it on, load a sheet of paper, and start printing.

Matthew Stivala

HP OfficeJet 250 Mobile Printer

The HP OfficeJet 250 Mobile Printer is a great device that fits perfectly into my fast paced and mobile lifestyle. My first impression of the printer itself was how incredibly compact and sleek the device was.

Featured Content

Latest Jobs

Don’t have an account? Sign up here

Don't have an account? Sign up now

Forgot password?