- 締切済み
ACCESSからSQL Serverへの移行について
こんにちは。 現在、ACCESS2000を使ってクライアントサーバーのシステムを構築 しております。 サーバーはWindows2003 Serverですが、データベースのMDBファイルを 置いてあるだけです。 クライアントはネットワークドライブを切って、サーバーのデータを 参照しています。 稼動してから8年間が過ぎ、機能強化を重ねた結果、いろいろと 問題点が出来ました。 データの大きさは、3ヶ月使用し続けると90MBまで膨らんでしまいます。 また、WAN越えの環境も出てきてしまい、レスポンスの悪さに頭を 悩ませています。 現在、このシステムの見直しを行っております。 まず、MDBファイルをデータベースとして使用した場合、3ヶ月で90MB という大きさは問題視すべきなのでしょうか? また、WAN越えで高レスポンスを得るためには、どのようなデータベース、言語を選択すべきなのでしょうか? 先輩の技術者からは、SQL Serverへの移行、またはDB2の採用を勧められました。 このような環境下でのシステム構築に経験がある方、どんなことでも よいのでアドバイスを頂けたらと思います。 長くなりましたが、よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- lv4u
- ベストアンサー率27% (1862/6715)
>>UIがACCESSのままでもデータベースを変えるだけで、レスポンスは良く なる可能性はあると思うのですが、やはり常にデータベースとリンクし ている以上、レスポンスの改善には繋がらないとの見解でした。 そんなことはないでしょう。ACCESSのままですと、検索処理の対象データが1000件あるとして、検索結果が1件になる場合、ネットワークを1000件のデータが流れます。でもSQLServer/DB2にすることで、サーバサイトで絞り込みがされるため、ネットワークには結果の1件だけが流れることとなります(他のデータも流れるでしょうが、とりあえずおおざっぱに)。 もちろん常に1000件のデータが必要な処理が多いなら、ネットを流れるデータは減らないため、レスポンス向上は、あまり見込めないでしょうが・・・。 >>フロントエンドの部分について、何かアドバイスがございましたらよろ しくお願い致します。 最近は、この手のプログラムを作ってないので、よくわかりませんが、昔、VisualBasicでプロントエンドのプログラムを作ったとき、使いやすさを追求すると作るのが「めんどくさい!!」って感じましたね。 あと、普通にACCESSで作るのと、SQLServe/DB2を使ってプログラムを作るのでは、かなり差があります。後者はレスポンスをあげるため、SQLを駆使してコーディングしますので、もし現状がSQLをあまり使っていないコードなら大幅な書き直しが必要かもしれません。
- lv4u
- ベストアンサー率27% (1862/6715)
>>また、WAN越えで高レスポンスを得るためには、どのようなデータベース、言語を選択すべきなのでしょうか? 基本的に、ACCESSは1人でデータベースを使うための個人ユーズをターゲットにしています。なので、以下の先輩のアドバイス >>先輩の技術者からは、SQL Serverへの移行、またはDB2の採用を勧められました。 に従うのがいいですね。とくにWANで使うのは、絶対やめるべきでしょう。言語としては、使いやすいものにすればいいと思います。お手軽さという面では、Rubyを使って、RubyonRailsってのもありかもしれません。 >>まず、MDBファイルをデータベースとして使用した場合、3ヶ月で90MB という大きさは問題視すべきなのでしょうか? 上に書きましたように、ACCESSは個人ユーズを目的にしたDBです。こうしたファイルの増大は、良くないのですが、どうしようもありません。システムの作りがどうこうというより、ACCESSを採用していることが問題なんです。 なお、SQLServerあるいは、DB2に変更することで、いろいろと学ぶことが必要だと思います。がんばってください。
お礼
lv4u様 どうも貴重なご意見ありがとうございます。 言語については、現在クライアントもACCESS2000のため、VBAで構築 されております。 先輩のアドバイスでは、DB2、SQL Serverへの移行に伴い、WAN越えを 考慮するのならば、VB.NETをすすめられました。 現在の資産を生かした形で、比較的安価で再構築できるからです。 (ACCESSからVB.NETへ変換できるソフトもあるとのこと) UIがACCESSのままでもデータベースを変えるだけで、レスポンスは良く なる可能性はあると思うのですが、やはり常にデータベースとリンクし ている以上、レスポンスの改善には繋がらないとの見解でした。 いずれにせよ、いろいろと試してみるしかないかと思いますので、がん ばりたいと思います。 フロントエンドの部分について、何かアドバイスがございましたらよろ しくお願い致します。
お礼
lv4u様 どうもありがとうございます。 別の技術者に相談したところ、フロントエンドがACCESSでも、やはりデータベースを DB2なりSQL SERVERへ移行すれば、レスポンス良は期待できるとのことでした。 理由は、ネットワークドライブとSQLでパケットの転送手段が根本的に違うからとのこと。 フロントエンドはACCESSを継承することで、開発工数をなるべく減らし、 レポート機能の資産も継続できそうです。 ただ、やはりデータベースを参照するコードは大幅に書き換えが必要 になりそうなのですが、これは致し方なしなので、頑張ります。 どうもありがとうございました。 とりあえず、締めさせて頂きます。