XMLデータベース

OR学会誌の特集は、XMLデータベースだ。理論的な説明も多い。RDBをベースにXMLDBを制御しようと、大手RDBベンダを中心にやっているようだが、私には無駄な努力に思われる。XMLが適しているのは、データ交換である。データのシリアライズXMLを使うのも(いろいろ気をつければ)OKである。しかし、検索には向かない。


最近、外部データは基本的にXMLにしている。利用法は2パターンある。

  1. DataSetをベースとする。スキーマからDataTable、DataRowを基底にしたクラスを自動生成して使う。 DataGridにそのまま指定できるので、同期を気にする必要がない。自由なデータ構造を作れないのが欠点。「最適生産計画」は、このパターンを用いている。
  2. 任意データ構造で持つ。DataGridとの同期用に汎用クラスライブラリを用いる。関連のあるメンバの設定は、文字列をIDにして、ポインタで格納する。データの取得は、ポインタなので早い。「パケットシミュレーション」は、このパターンを用いている。

どちらもXMLでのシリアライズは、簡単に行える。