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 マーケティング」新着記事

売り上げ1億ドル超えのメガヒットアプリ、2021年は233本 うち4分の3がゲーム
年間売り上げが100億ドルを超えるアプリが続出、世界の消費者から財布の中身と生活時間を...

リアル行動ビッグデータを活用したイベント集客特化型デジタル広告 博展とunerryが提供
国内最大級のリアル行動データにより、精度の高いターゲティングを実現するデジタル広告。

InstagramなどSNS向けクリエイティブをディスプレイ広告に変換 「Nova」を使う意義と効果は?
インティメート・マージャーはソーシャルディスプレイ広告の作成・配信ツール「Nova」の...