最速怪談選手権

こんにちは。
現在、ACCESS2000を使ってクライアントサーバーのシステムを構築
しております。
サーバーはWindows2003 Serverですが、データベースのMDBファイルを
置いてあるだけです。
クライアントはネットワークドライブを切って、サーバーのデータを
参照しています。

稼動してから8年間が過ぎ、機能強化を重ねた結果、いろいろと
問題点が出来ました。

データの大きさは、3ヶ月使用し続けると90MBまで膨らんでしまいます。
また、WAN越えの環境も出てきてしまい、レスポンスの悪さに頭を
悩ませています。

現在、このシステムの見直しを行っております。
まず、MDBファイルをデータベースとして使用した場合、3ヶ月で90MB
という大きさは問題視すべきなのでしょうか?
また、WAN越えで高レスポンスを得るためには、どのようなデータベース、言語を選択すべきなのでしょうか?

先輩の技術者からは、SQL Serverへの移行、またはDB2の採用を勧められました。
このような環境下でのシステム構築に経験がある方、どんなことでも
よいのでアドバイスを頂けたらと思います。

長くなりましたが、よろしくお願いいたします。

A 回答 (2件)

>>UIがACCESSのままでもデータベースを変えるだけで、レスポンスは良く


なる可能性はあると思うのですが、やはり常にデータベースとリンクし
ている以上、レスポンスの改善には繋がらないとの見解でした。

そんなことはないでしょう。ACCESSのままですと、検索処理の対象データが1000件あるとして、検索結果が1件になる場合、ネットワークを1000件のデータが流れます。でもSQLServer/DB2にすることで、サーバサイトで絞り込みがされるため、ネットワークには結果の1件だけが流れることとなります(他のデータも流れるでしょうが、とりあえずおおざっぱに)。

もちろん常に1000件のデータが必要な処理が多いなら、ネットを流れるデータは減らないため、レスポンス向上は、あまり見込めないでしょうが・・・。

>>フロントエンドの部分について、何かアドバイスがございましたらよろ
しくお願い致します。

最近は、この手のプログラムを作ってないので、よくわかりませんが、昔、VisualBasicでプロントエンドのプログラムを作ったとき、使いやすさを追求すると作るのが「めんどくさい!!」って感じましたね。

あと、普通にACCESSで作るのと、SQLServe/DB2を使ってプログラムを作るのでは、かなり差があります。後者はレスポンスをあげるため、SQLを駆使してコーディングしますので、もし現状がSQLをあまり使っていないコードなら大幅な書き直しが必要かもしれません。
    • good
    • 0
この回答へのお礼

lv4u様

どうもありがとうございます。

別の技術者に相談したところ、フロントエンドがACCESSでも、やはりデータベースを
DB2なりSQL SERVERへ移行すれば、レスポンス良は期待できるとのことでした。
理由は、ネットワークドライブとSQLでパケットの転送手段が根本的に違うからとのこと。

フロントエンドはACCESSを継承することで、開発工数をなるべく減らし、
レポート機能の資産も継続できそうです。
ただ、やはりデータベースを参照するコードは大幅に書き換えが必要
になりそうなのですが、これは致し方なしなので、頑張ります。

どうもありがとうございました。
とりあえず、締めさせて頂きます。

お礼日時:2008/07/25 15:59

>>また、WAN越えで高レスポンスを得るためには、どのようなデータベース、言語を選択すべきなのでしょうか?



基本的に、ACCESSは1人でデータベースを使うための個人ユーズをターゲットにしています。なので、以下の先輩のアドバイス

>>先輩の技術者からは、SQL Serverへの移行、またはDB2の採用を勧められました。

に従うのがいいですね。とくにWANで使うのは、絶対やめるべきでしょう。言語としては、使いやすいものにすればいいと思います。お手軽さという面では、Rubyを使って、RubyonRailsってのもありかもしれません。

>>まず、MDBファイルをデータベースとして使用した場合、3ヶ月で90MB
という大きさは問題視すべきなのでしょうか?

上に書きましたように、ACCESSは個人ユーズを目的にしたDBです。こうしたファイルの増大は、良くないのですが、どうしようもありません。システムの作りがどうこうというより、ACCESSを採用していることが問題なんです。

なお、SQLServerあるいは、DB2に変更することで、いろいろと学ぶことが必要だと思います。がんばってください。
    • good
    • 0
この回答へのお礼

lv4u様

どうも貴重なご意見ありがとうございます。

言語については、現在クライアントもACCESS2000のため、VBAで構築
されております。

先輩のアドバイスでは、DB2、SQL Serverへの移行に伴い、WAN越えを
考慮するのならば、VB.NETをすすめられました。
現在の資産を生かした形で、比較的安価で再構築できるからです。
(ACCESSからVB.NETへ変換できるソフトもあるとのこと)
UIがACCESSのままでもデータベースを変えるだけで、レスポンスは良く
なる可能性はあると思うのですが、やはり常にデータベースとリンクし
ている以上、レスポンスの改善には繋がらないとの見解でした。

いずれにせよ、いろいろと試してみるしかないかと思いますので、がん
ばりたいと思います。

フロントエンドの部分について、何かアドバイスがございましたらよろ
しくお願い致します。

お礼日時:2008/07/25 01:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!