- PR -

Accessを利用したデータベースについて

投稿者投稿内容
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2006-12-08 20:41
引用:

BTさんの書き込み (2006-12-08 12:26) より:
環境というのは、IISのみのホスティング環境で運用しているというのが理由です。イントラネットや自前のサーバならExpress Editionという手もありますが(インターネット公開用でExpress EditionはOKなんでしたっけ?)、このホスティングサービスは自分も関与しているのですが、ウェブデザインのおまけみたいなものです。MSのサービスプロバイダ契約(SPLA)ではExpress Editionは使えないはず(といいながら何処かのホスティングサービスでは使っている風なことを掲示しているのでどうもハッキリしないのですが)ですし、ウェブサーバとDBサーバを分離したりしていると、最終的にはコストが10倍以上違うので、先程挙げたような使い方で大丈夫ならXMLを使ってIISのみで運用したいと思っています。それに、関係しているとはいっても勝手にいろんなアプリをインストールするわけにはいきませんし・・。という感じです。


あ、こっち見落としてました。ごめんなさい。m(_ _)m
アクセス数やデータの規模にもよりますが、開発や保守にかかるコストを加味すると、
自前でXMLとどっちが高くつくかっていうことになると思います。
勝手にいろんなアプリをインストールしちゃまずいでしょうけど、
明らかにコストが下がるならDBMSくらい駄目なのかな?SQL Serverが駄目ならMySQLとか。
これもアクセス数やデータの規模によりますが、ウェブサーバとDBサーバが同一マシンでも良いのでは?
ひら
ぬし
会議室デビュー日: 2005/03/04
投稿数: 260
投稿日時: 2006-12-08 21:27
引用:

甕星さんの書き込み (2006-12-08 06:55) より:
まずスレッドセーフと言う言葉を理解してください。


言葉足らずですみません。結果的に、スレッドセーフではないことに起因する
のでしょうが、MDBファイルを使った時に発生する不具合の多くは、挙動を
見るとマルチスレッドよりマルチプロセスで動かした時のほうが多いように見えます。

引用:

でよく言うネットワークでMDBファイルを共有すると、データが壊れますよと言うのは、まったく異なる次元の話です。JETに限らずファイル書き込み中に書き込みを行ってるプロセスが異常終了したらファイルが壊れますよね。2台から同時に利用すれば、そういった事態が起こる可能性は2倍になります。5台なら5倍の確立でトラブルが発生します。


確かに違う次元の話でした・・・しかし、ネットワークでMDBファイルを共有すると、
ACCESSが強制終了をしなくても壊れてしまうことがよくあるのはなぜでしょうか?
ひら
ぬし
会議室デビュー日: 2005/03/04
投稿数: 260
投稿日時: 2006-12-08 21:33
引用:

R・田中一郎さんの書き込み (2006-12-08 09:29) より:
ACCESS は「そういう用途を前提として作られていない」ということですから。


表現の問題ですよね。
しかし、あれだけの技術力のある会社が開発しているのですから、「想定外の使われ方」と
突き放したような言い方をするのではなく、そのような使われ方がされないようにロックするとか
たとえそれが原因で不具合が発生したとしても、最低限データだけは壊れないような
作り方をしていても良いよいな気がします。
MS社の技術力を鑑みて欠陥という表現にしました。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2006-12-09 07:25
Accessがファイル共有型のデータベースであるという前提で、LANやイントラネットで多用してきました。そして、いままでデータベースが破壊されたという問題も発生していません(もちろん排他制御などAccess固有の処理を実装済み)。

ただ、SQL Server 2005 Express Editionが無償にて入手できるようになったので、AccessからExpress Editionに切り替えています。

私が契約しているWebホスティングでは、Express Editionが無償にて利用できます。AccessのMDBのようにMDFをアップロードしてアタッチするだけでOKです。

また、WebサイトのMDFもバックアップして簡単にダウンロードする仕掛けが用意されていますので、MDBと同じ感覚で利用できます。

WebアプリでAccessを使うかどうか悩んでいる方は、Express Editionも選択肢にいれてみてはどうでしょうか。

[ メッセージ編集済み 編集者: Access 編集日時 2006-12-09 07:27 ]
あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2006-12-09 18:04
引用:

ひらさんの書き込み (2006-12-08 21:33) より:
たとえそれが原因で不具合が発生したとしても、最低限データだけは壊れないような
作り方をしていても良いよいな気がします。



「データが壊れない」の定義によりけりでしょうね。
コンピュータサイエンスの用語ではACID特性と呼ぶので調べてみるとよいと思います。
この辺りを理解すれば、AccessをまともなDBMSと呼べない理由がわかるはずです。

http://ja.wikipedia.org/wiki/ACID_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E7%A7%91%E5%AD%A6)

SQL Serverを含むまともなDBMSは十分なレベルでACID特性を満たしていますよ。
どのみちAccessのファイル共有なアーキテクチャじゃ実現は無理な話です。

製品のセグメントを理解しましょう。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-12-09 18:32
引用:

ひらさんの書き込み (2006-12-08 21:33) より:
引用:

R・田中一郎さんの書き込み (2006-12-08 09:29) より:
ACCESS は「そういう用途を前提として作られていない」ということですから。


表現の問題ですよね。
しかし、あれだけの技術力のある会社が開発しているのですから、「想定外の使われ方」と突き放したような言い方をするのではなく、そのような使われ方がされないようにロックするとか
たとえそれが原因で不具合が発生したとしても、最低限データだけは壊れないような
作り方をしていても良いよいな気がします。
MS社の技術力を鑑みて欠陥という表現にしました。



あれ?携帯から送ったんだけど、なんにも入ってない(;^_^A アセアセ…

 技術力があることと、仕様を決めることは、同じではありません。
 技術力があるからといって、何でもかんでも入れられるわけではありません。ターゲットとする市場と、その市場における多数を占めるニーズ、価格帯、その価格に見合う機能。そういうのも含めて、考慮しなければなりません。

 そういう意味で、Access を、多人数が同時に使用することが見込まれる環境で使うのは、「想定外」なのです。

[ メッセージ編集済み 編集者: Jitta 編集日時 2006-12-09 23:51 ]
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2006-12-11 12:19
10 年前から言われている事なんですよね…。

スキルアップ/キャリアアップ(JOB@IT)