現在改良中の家計簿ソフトのデータモデルを変更するかどうかについてのメモ。今のところはmicrosoftのaccessのjetという名前のデータベースでデータを管理している。作る前まではデータを保存する方法といえばこれ一択だった。技術と知識があまりないためだけれども。で、多少慣れてきたのでxml形式でのデータ保存に変更しようかどうか考え中。
microsoft accessを使うことのメリット
- windowsアプリケーションを作る上では親和性が高い
- スタンドアロン形式のmdbファイルを使うことができるので外部サーバなどを用意しなくてもよい
- テーブルやクエリなどの管理が開発者にとっては容易
- データを一元的に管理できるため楽
microsoft accessを使うことのデメリット
- ファイルが破損した場合全てのデータが失われる可能性がある
- ファイルサイズが大きくなった場合に処理速度が低下する可能性
- オフィスのバージョンアップ毎に機能の変更をチェックしなければならない(?)
今のところ、accessのデメリットというものはあまり感じてない。まあ、accessに限ったことではないし、そうそう壊れるものでもないだろう・・・という楽観的な考えで、バックアップ機能を実装することで最低限これで良しとかいいかげんに考えているからなわけで。それで、accessを使うことをやめてxml形式にした場合にどうなるか考えてみた。
xmlファイルをデータ保存に使うことのメリット
- microsoft excel 2003以降で開くことができる
- メモ帳でも開くことができる
- 別のプログラムで加工して利用するというようなこともできる(かも)
- mdbに比べてファイルサイズを小さくすることができる(かも)
- windows以外のコンピュータでも開くことができる
xmlファイルをデータ保存に使うことのデメリット
- sqlを発行するデータベースに比べてデータの検索や追加などの処理速度が遅くなる可能性がある
- コード量が割り増ししそうで疲れそう(開発者にとって)
- データの秘匿・機密性というものがない(私が知らないだけかも・・・)
- パソコン初心者にはとっつきにくい。
結論
あまり、xmlを使うことのメリットらしいものは思いつかなかった。そもそも初心者向けの家計簿ソフトでxml形式のデータがどうしても欲しいなんていうことはないだろうしなぁ。処理速度が速くなってファイルサイズが小さくなるならxmlファイル形式にすぐにでも変更したいところだけど、そうとも言えないどころかパフォーマンスは悪化しそうだ。excelで開けるといっても年に1回するかどうかもわからない機能のためにこだわるわけにもいかんし。家計簿ソフトのxmlファイル形式への変更は、中止。やっぱり今のままaccessのmdbで運用して、xmlファイル形式に出力できる機能を追加するというのがベストの予感。