高見知英のかいはつにっし(β)

高見知英のアプリケーション開発日誌 のほか、地域活動などの活動報告ブログ。

最近のDB

 .NETでよく使われる(らしい)ADO.NETは、データベースの内容を自分のところにキャッシュして、それを表示したり、操作したりします。つまり、データベースはメモリ上にあるわけですね。
 XMLなんかも同じで、データベースとして扱う際は、全部をメモリに読み込まなくてはいけないでしょう。固定長のレコードならば、ランダムアクセスみたいな方法で、直接アクセスが出来ますが、XMLみたいなテキストデータだと順アクセスしか出来ないので、やはり全データをメモリにおいて使ってる…と考えた方がいいでしょうね。そういえばDelphiのMemIniFileも同じような感じだなぁ、結局メモリ内にセクションリストとそれぞれハッシュリストを作って管理してる。
 となると、やっぱり気になるのがメモリの中身。もし何百個ものレコードがあるデータベースなんか読み込んじゃった日には、あっという間にメモリからあふれてしまうのではないかと思うんです。かといってファイルにキャッシュするのはちょっと危険だし、第一そんな話も聞いた事がないし。実際はどうやってるのやら。
 可変長データベース(の形式をとるもの)は、やっぱり個別に保存した方が楽なのかな…。それが分かればClipperPlusとか、かなり楽が出来ると思うんですが…。