保存フォーマットとしてのXML

Web上でデータベース・レコードを保存する主な方法として、CSV , XML , hash の3種類が上げられる。より良いシステム構築のためには最適な形式の選択が不可欠である。それぞれの特徴を簡単にまとめてみた。但しここで述べるhash形式とは、DBMなどのシステムを用いてランダムアクセスなファイルに最適化したものを指す。

CSVXML、hash の比較
CSV XML hash
形式 2次元配列階層型keyと値の組み合わせ
データ量 最小やや多い
汎用性 極めて高い高い低い
探索・解析速度 逐次アクセス(遅め)ツリーを解析(かなり遅い)ランダムアクセス(最速)
システム 単純XMLパーサが必要専用のデータ管理システムが必要
階層的データの管理 2次元レベルまでなら可能いくらでも可困難
データラベル レコード名・フィールド名の組み合わせノード名、ノードの位置keyのみ
可読性 フィールドの意味を把握する必要があるスキーマを用いて解読できる基本的には解読不可

それぞれ特徴があり一概に「どれが一番」とは言えないが、ごく簡単なシステムならばわざわざ無理をして XML を採用する必要もないだろう。
しかし例えばあるグループに属するレコードすべてに修正を加えるなどといった作業を頻繁に行う場合は、他の方法では全てのレコードを取り出す必要があるのに対し、適切に構造化されていれば大幅に無駄が削減できる。階層化モデルが生かせるか否かが保存用フォーマット検討の大きな軸になるのではないだろうか。