データベースエンジン

7:Re:データベースエンジン
tahrayan 06/03 00:48
昨日返信を書いたときも、もしかしてDB−Eのことかなとは思って
いたのですが、やはりそうでしたか。

すでにEXCHANGEさんが書いていますので、付け加えることは
あまりないのですが、まとめておきます。

DB−Eの使い方は、600シリーズの「データ管理説明書」に詳しく書いてあります。
これを見れば、誰でもできると思います。
blueelionさんのところは、S7200もあるとのことですので、
S7200シリーズ用の説明書を見ているのではないでしょうか。
S7200と600シリーズでは、DB−Eの方式が違うため、
S7200の方の説明書を見ても書いてありません。
(600シリーズのDB−Eは標準機能なので、標準の説明書に方法が
書いてあるが、S7200の方はオプションなので、装置側の説明書
に書いてあるはず。)

おそらく皆さんご存知のことかと思いますが、DB−Eの仕組みは、
(以下の説明は説明書の内容から予想した部分もあります。)

高速化したいファイルをメモリ上に貼り付けて、ディスクからデータを
読み込んだり書き込んだりするのではなく、メモリから読み書きする
というもの。
つまり、ディスクキャッシュや、10年ぐらい昔にパソコンがフロッピー
ディスクベースだった頃はやったRAMディスクのようなもので、今と
なってはごく普通の技術です。
(パソコンの驚速とかいうソフトで、CD-ROMの読み書きを高速化する
のと同じ仕組み?)
S7200の頃は、専用の装置(メモリがいっぱい載っている)を
使って実現していました。
600シリーズ(700シリーズも?)は、専用の装置の代わりに、
本体のメモリをそのまま使っています。

ここからは予想なのですが、EXCHANGEさんが書いている
「ただ、これを使うとCPU負荷がかかるらしく、」という話は
以下の理由によるものだと思います。

・600シリーズのDB−Eは、本体のメモリを使用している。
・DB−Eが、64Mバイトなり128MBなりのメモリを使用すれば、
当然Windowsが使用できるメモリは減る。
・Windowsは、仮想メモリと物理メモリを使って、メモリの使用
を制御している。メモリが足りないと、仮想メモリ?物理メモリのSWAP
が多発する。
・SWAPが多発すると、その処理のためにCPU負荷とディスクIO
が増える。

普通Windowsサーバのメモリ量が少ないと、やたらとSWAPが
発生して、遅くなりますよね。
つまり、搭載しているメモリが少ないと、DB−Eでせっかくファイル
のアクセススピードが速くなっても、メモリサイズを圧迫してしまい、
WindowsのSWAPが増えて逆に悪影響になってしまう。

ということだと思います。
(あくまでも予想ですが、だいたい合っているのでは?)

それから、「メモリ上のデータ」は、「ディスク上のデータ」の
コピーでしかないので、もし「メモリ上のデータ」を書き換えたら
処理の終了時に「ディスク上のデータ」に書き戻してあげる必要が
あるということです。


1-

BluesBB ©Sting_Band