プロトコルバッファ Part1
プロトコルバッファ(protocol buffer、protobuf)は、Google社によって開発されたデータの交換や保存に用いられるシリアライズフォーマットである。プロトコルバッファ形式で記述されたデータは、XMLやJSONと同じように複数のプログラミング言語で共有することが可能で、拡張子.proto
のファイルとして保存される。
公式のドキュメントによればプロトコルバッファはXMLと比較して以下の点で優れているとしている。
- よりシンプル
- 3倍から10倍サイズが小さい
- 20倍から100倍速い
- 曖昧性がより低い
プロトコルバッファの簡単な例
プロトコルバッファ・XML・JSONの比較を以下に載せる。
- 型
- ユーザ定義型
- required、optional修飾子
Protocol buffer:
person {
required name: strings "Taro Tanaka"
optional age: int32 18
required email: strings "[email protected]"
}
XML:
<person>
<name>Taro Tanaka</name>
<age>18</age>
<email>[email protected]</email>
</person>
JSON:
{
"person": {
"name": "Taro Tanaka",
"age": 18,
"email": "[email protected]"
}
}