ポイント:DBMSの選択、SQLServer、Access

事務所TOPへ ] 上へ戻る ]


DBMSの選択について


 DBMSとは、共有データとしてのデータベースを管理し、データに対するアクセス要求に応えるソフトウェアのことで、カード型、リレーショナル型、オブジェクト型などがある。現在最も広く普及しているのはリレーショナル型(RDBMS)で、大規模システムではOracleやSQLServerが、小規模システムではAccessがよく使われている

 ただ、大規模システムと小規模システムといっても明確な基準があるわけではない。そのため、本来OracleやSQLServerを採用すべきなのだが、Accessをファイルサーバーで共有し、そのままシステム構築をしてしまっている場合があ る。そのような場合、運用当初はデータが少ないため、問題とならなくても、データが増えてくると、途端にデータベースの処理性能が落ちたと相談される。Accessだけで構築してしまい、処理性能が落ちたシステムを部分的にSQLServerに自動的に変換しパフォーマンス向上を行うツールがあるが、さすがに全自動というわけにはいかず、手直しをおこなう必要がある。それならば、各DBMSの特徴を知り、最初から適正なDBMSを選択することをお勧めする。

 AccessとSQLServerは共にマイクロソフトの提供するDBMSであり、この2つは何が違うのか?  AccessとSQLServerの違いに関して説明する機会があり、それぞれの特徴をふまえて、メリット、デメリットを調査した。その一部を抜粋して記載する。

 まず、Accessは個人がローカルで使用するDBMSとしてメリットが大きい。ザックリとした特徴だが、以下のような点が考えられる。

    • デスクトップ上での動作をターゲットとしている。
    • 2GB未満データを ローカルで扱うのに適している。
    • データベースと管理ツールが一体化している。
    • フォーム、レポート、クエリ、マクロなどの作成が容易である。
    • SQLServerに比べて少ない投資でシステム構築が可能な場合が多い。
しかし、問題点としても以下のような点が考えられる。  
    • 処理速度が遅い。(特に回線速度の遅い環境での利用時)
    • 複数人で使うと、データの競合が発生する。
    • 障害発生時の対処が困難である。
    • DBが2GBを超えたとき、DB分割が必要となる。
    • 情報漏洩、不正アクセスへの対処が難しい。
問題点に関してそれぞれ、もう少し詳説する。  
  •  処理速度が遅い。(特に回線速度の遅い環境での利用時)

     特に回線速度の遅いネットワーク環境(例WAN)での利用時に影響がある。
    daiary050725
     Accessの場合、テーブルごとローカルのパソコンに全レコードを送り、その後抽出する。
     SQLServerの場合、“C”という抽出条件に合ったレコードだけをローカルのパソコンに送る。


  •  複数人で使うと、データの競合が発生する。

     Accessでは他のユーザーによって、変更中のレコードを読み取られてしまう。不注意により、お互いのデータの変更を上書きしてしまう。
     SQLServerでは編集中のレコードは更新処理ができないようにする(ロックする)。


  •  障害発生時の対処が困難である。

     Accessの障害対策は、誰も使っていないときに、mdbファイルをコピーする。その問題点は、 処理中にmdbファイルが壊れた場合、どこまで処理がされていたかわからない、バックアップをし忘れることがある、などがある。
     SQLServerの障害対策は、使用中データベースのオンラインバックアップができる。また、自動バックアップのスケジュールが可能などのメリットがある。


  •  DBが2GBを超えたとき、DB分割が必要となる。

     Accessはデータベースのファイルサイズが2GBまでと使用で決められている。その際にクエリー、フォーム、プログラムも含めてmdbファイルのサイズが2GBであることに注意する。2GBを超えた場合は、データベース分割が必要。
     SQLServerの場合は、100万TB(1TB=1000GB)までデータベースの管理が可能のため、理論的には、ほぼ無限大のデータベースが構築できる。


  •  情報漏洩、不正アクセスへの対処が難しい。

     Accessの場合、ファイル単位でのセキュリティを利用することが多い。また、mdbファイルとして、容易にコピーできるので、ノートパソコンにコピーし持ち帰ったり、mdbをコピーしたノートパソコンを失くす危険性がある。そして、万が一、情報漏洩があった場合、誰が持ち出したのかわからない。
     SQLServerの場合、DBへの参照・更新権限を細かく設定できる。そして、ログイン/ログアウト情報、実行したSQL文、DBのバックアップ/復元などに関しての監視体制が強化されている。

     今回はAccessのデメリットをクローズアップしてしまったが、もちろん、Accessの方がシステム構築にあっている場合も多い。むしろ、中小企業や個人事業主の場合は、Accessだけでシステム構築する機会の方が多いと思う。繰り返すが、システム構築の際は、DBMSの検討を機能やコストなど多面的に行い、適正なDBMSを選択することをお勧めする



  • 関連コラム
    Accessでのシステム構築の意味 2006年10月2日記述
    DBMSの選択について 2005年7月25日記述
    OpenOffice.orgのひとつの活用方法 2005年5月9日記述
    CSVファイルの役割 2004年12月20日記述

    2005年7月25日 宿澤直正


事務所TOPへ ] 上へ戻る ]


Copyright (C) 2005 宿澤経営情報事務所