Protocol Buffers(プロトコルバッファー)は構造データのシリアライズを目的とした技術スタックである[1]。 通信や永続化において構造データのシリアライズは重要である。Protocol Buffers はこれを実現するための仕様およびライブラリであり、定義言語(インタフェース定義言語)・シリアライズ形式・各言語向けランタイムライブラリ・プロトコンパイラ生成コードの4要素からなる[2]。 Protocol Buffersのデザインの目的はシンプルさとパフォーマンスである。とりわけ、XMLより高速になるようデザインされている。GoogleはXMLとの比較で、3〜10倍小さく、20〜100倍高速であると主張している[3]。Google自身が挙げている例では、XMLでは69バイト以上の物が Protocol Buffersでは28バイトであり、XMLのパースは5〜10マイクロ秒も必要だ