2008年7月16日水曜日

XMLの今後の運命

CNet:グーグル、XMLに代わるデータ交換ツール「Protocol Buffers」をオープンソース化

先週のニュースですが、GoogleがProtocol Buffersをオープンソースとしてリリースしています。

Protocol Buffersは、Google内で利用されているというデータ交換の仕組みで、専用の言語でデータ・フォーマットを定義してコンパイルすると、JavaやPython、C++用のクラスが生成され、そのクラスを使ってset/getやserializeができ、ネットワークやディスクに書き出せるというものです。

異なる言語やバージョンでのデータ交換で互換性を持たすために、今まではXMLを使おうという流れでしたが、Googleのようにデータの大量処理が必要なシステムだとXMLでは捌ききれなかったために、新しい仕組みを用意したということのようです。

たしかに、WebServiceしかり、一時期データのやり取りはなんでもかんでもXMLだという時代がありましたが、必ずしも成功していないところがあるように思えます。
XMLを導入することで柔軟性が増すということだったのですが、けっきょく最後はRDBに格納するためにデータ定義を柔軟に変更するなどということには対応できず、また、XML Parserが非常に重たいためにつねにパフォーマンス上の問題を抱えていました。

異なる言語間での相互運用性が高まったのは事実ですが、けっきょく柔軟性は高まらず重たい処理が増えただけで、相互運用性のメリットの割に払われるコストが高すぎたようです。

また、柔軟性を高めるため、XML DBを利用することも重要な検討項目になっていますが、XMLありきでデータの格納もXML DBにしようということであれば本末転倒な気がします。

XMLというツールが目的として一人歩きし、なんでもかんでもXMLということになって自滅していったようにさえ見えます。

そうこうするうちに、Web2.0の世界ではRESTが使われだし、XMLの出番は減ってきているように思えます。
さらには、Webの世界では、単純な"変数=値"を束ねたセットでデータとして事足りることが多く、複雑に対応できるXMLやさらにはRDBでさえ不要だという流れさえ部分的には見えます。

RDBの世界は、データ運用や厳密なACIDの実現で豊富な実績やノウハウがあるため、今後も使われていくでしょうが、なんでもかんでもRDBに入れておくということではなくなっていくかもしれません。
XMLはなおさら使われる場所が少なくなるように思えます。

GoogleのProtocol BuffersやHadoopは、XML(やRDB)ありきではなく、データを適材適所に取り扱うためにどうすればよいかということをもう一度考え直させるきっかけを与えてくれているのではないでしょうか。

0 コメント:

 
Clicky Web Analytics