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

マッチングサービス利用率トップ3は「Pairs」「タップル誕生」「Omiai」――MMDLaboとコロプラ共同調査
マッチングサービス・アプリの認知度は25.7%、うち利用経験者は30.2%。MMDLaboとコロプ...

インサイドセールスの生産性向上へ、「SATORI」と「BIZTEL」が連携
マーケティングオートメーションツール「SATORI」とクラウド型電話サービス「BIZTEL」が...

プレイド、「KARTE」にレコメンド機能を追加
CX(顧客体験)プラットフォーム「KARTE」に新機能。