XMLよりシンプルで速いProtocol Buffers

グーグル、また基盤技術の1つをオープンソース化

2008/07/08

 グーグルは7月7日、同社の基盤を支える要素技術の1つ「Protocol Buffers」をオープンソースで公開した。Protocol Buffersはさまざまな構造化データを言語に非依存な形で定義し、利用するためのソフトウェア。JavaやC++、Pythonで利用でき、定義したデータは各言語のクラスライブラリにコンパイルされるという。例えば、いくつかの32ビット整数やストリングからなるデータ型を「.proto」というファイルで定義しておけば、このデータ型で定義されるメッセージストリームを、各言語から利用できるという。

 オープンソース化を担当した同社ソフトウェアエンジニアのケントン・バーダ(Kenton Varda)氏によれば、Protocol Buffersは、XMLやIDLで満たせないニーズを満たすものだという。「XMLは優れているが、グーグルで扱うデータ量はXMLにするには多すぎる。HTMLのような構造化されたテキストデータならXMLでも構わないが、シンプルなデータを扱うには、XMLはデコードやエンコード、ツリーのパースなどの処理が面倒だ。Protocol BuffersはIDLに似ていると思うかもしれないが、IDLは複雑すぎるという問題がある」(バーダ氏)。Protocol Buffersは、XMLデータに比べて1/3〜1/10に小さくなり、20〜100倍高速に処理できるという。

 バーダ氏によれば、こうした仕組みがグーグルで導入されたのは、メモリ上に直接生のバイナリデータを書いたり読んだりする方法が破綻したことにあるという。何か新しいサーバを立ち上げた場合でも、すぐに古いサーバと通信する必要があり、既存のデータ構造にフィールドを加えたり、削除した場合であっても、きちんと動く必要があったためという。

 グーグルは7月4日にも、社内向けで利用してきたC++向けテストフレームワークをBSDライセンスでオープンソースとして公開するなど、社内ツールのオープン化を進めている。

(@IT 西村賢)

情報をお寄せください:

HTML5 + UX フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

キャリアアップ

- PR -

注目のテーマ

ソリューションFLASH

「ITmedia マーケティング」新着記事

2023年のSNS炎上総数は189件、炎上元の媒体1位は「X」――コムニコ「炎上レポート」
コムニコが「炎上レポート」2023年版を公開しました。

今度の「TikTok禁止」はこれまでとどう違う?
米国ではまたしてもTikTok禁止措置が議論されている。これまでは結局実現に至らなかった...

「ゼロクリック検索」とは? SGE時代の検索の変化と5つの対策を解説
SEO専門家やマーケター、そして情報を求める人々にとって、「ゼロクリック検索」はどのよ...