
4.2
NoSQL
システムの簡単な紹介
63
複数のツールを利用できるが、もちろんこれだけではない。
ProtocolBuffers(http://bit.ly/protocolbuff)
Googleは、XMLの「小型、高速、簡単」なバージョンと表現している。Java、C++、
Pythonで言語バインディングが利用できる。Protocol Buffers(PB)は最古の実装で
あり、他の実装よりも機能は豊富ではないが、非常に安定している。
Thrift(http://thrift.apache.org)
もともとはFacebookが開発し、現在はApache財団がメンテナンスを行う。シリアラ
イゼーションとデシリアライゼーション機能だけでなく、データ転送とRPCメカニズ
ムも備えている。
Avro(http://bit.ly/avro-doc)
Hadoopと 並 行 し て 開 発 さ れ、PBや Thriftよ り も 動 的 で あ る。AvroはJSON
(JavaScri
pt Object Notation)を使ってスキーマを指定し、スキーマをメッセージコ
ンテンツの一部として転送する。そのため、Avroはスキーマ変更に対してより柔軟性
がある。
他にも、MessagePack(http://www.msgpack.org)、ICE(http://www.zeroc.com)、Etch
(http://etch.apache.org)などのシリアライゼーション標準が存在する。しかし、本書の出版時 ...