非接続でDataSetを使い、SQLを発行することを試みているのですが、
今まで接続したままRDOなので更新していました。
非接続型のメリットが良くわからないのですが教えていただけないでしょうか?
かなりおおざっぱな質問で申し訳ありませんhが、
宜しくお願い致します。
> 今まで接続したままRDOなので更新していました。
意味がちょっと分かりかねますが……RDOしか使用経験が無い、という意味でしょうか?
非接続型は、RDO 2.0でいえば「バッチ更新」の機能に相当します。
「遅延更新」「オプティミスティック一括更新」などとも呼ばれますね。
端的に書けば、更新処理の度にDBと通信を行うのではなく、最初にデータを
一括して取得しておき、更新処理はローカルだけで行なうという考え方です。
更新内容を、実際のDBに反映させるときには、その差分情報だけを、
最後に一括してDBに送り、複数行の情報を一度に更新するという仕組みです。
> 非接続型のメリットが良くわからないのですが
画面上に表示されたデータを、ユーザーが確認・編集する時間を考慮すると、
DBとの接続を維持している時間のうち、実際に使っている時間は、
およそ5%程度に過ぎない、という意見があります。
(アプリケーションの種類にもよるでしょうけれどね)
実際には使わないにも関わらず、接続を維持し続けるという事は、その分だけ、
サーバーリソースを圧迫するという事になります。しかし非接続型を使えば、
必要な時にだけDBとの接続を確立し、それ以外では通信を切断しておく事が可能です。
特に、「Webアプリケーション」で使われるような場合、ブラウザ側と
Webサーバ(ひいては、その先にあるDBサーバ)とは、毎回、通信が切断
される事になりますので、非接続型の方が都合が良いわけです。
# 掲示板だけで、非接続型のメリット・デメリットを細かに解説していくのは
# 辛いので、最終的にはデータベース関連書籍などで確認してくださいね。
返信ありがとうございます。
大変参考になりました。
なんとなく概要がわかりました。
ツイート | ![]() |