投稿日時:

Microsoft社は「Access」と「SQLServer」と2つのRDBMS(Relational Data Base Management System)を販売しています。
なぜ2つも出しているのだろうか?この2つの違いは何だろうか?

Accessは「ファイル共有型」と呼ばれるRDBMSです。

例えば共有フォルダにAccessファイルを配置し、それをみんなで使用するとする。
自PCから共有フォルダ上のAccessファイルを使用しようとすると、共有フォルダ上のAccessファイルを一旦、自PCにコピーすることになる。
もしもAccessファイル内に1億件のレコードがあれば、1億件のレコードをコピーした上で使用する事になる。

SQLServerは「サーバ型」と呼ばれるRDBMSです。

自PCからSQLServerに、例えば「顧客番号10番下さい」と命令すると、DBから顧客番号10番のレコードが返ってきます。
SQLServer内に1億件のレコードがあっても、ネットワークの中は命令と1件分のレコードしか流れない仕組みになっており、なるべく負担をかけないようになっています。
Oracle、PostgleSQL、MySQLといったRDBMSもサーバ型です。

ゆえに、Accessの場合、ファイルサイズが大きくなるほど、使用者の数が増えるほどネットワークに負担をかける事になり、処理速度が低下してしまう。
ゆえに、SQLServerは大規模向け、Accessは小規模向けなるイメージが定着しているのです。

では小規模ってどれぐらいの規模なのだろうか?
私の経験則で、PCやネットワークの性能によっても左右されますが、Accessファイルのサイズが10MB以上か、使用者の数が5台以上になる場合はサーバ型を使用する事をお薦めします。

RDBMSはAccessだけではありませんし、必ずしも「Accessなら簡単」ではありません。
自分達のPC環境を吟味した上で、適切なRDBMSを使用して頂けたらと思います。

(担当:奥田 英太郎