[リストへもどる]
一括表示

投稿時間:2004/01/16(Fri) 12:56
投稿者名:Dai
Eメール:
URL :
タイトル:
Accessのテーブルについて(ASPアプリで利用)
一つのmdbファイルの中に沢山のテーブルを作るのと、mdb自体を複数用意して
(例えばカテゴリ別に)あるとします。

パターン1
a.mdb
 tbl1
 tbl2
 tbl3

パターン2
a.mdb
 tbl1
b.mdb
 tbl2
c.mdb
 tbl3

ASP等のアプリによってMDBへアクセスする場合
どちらがどうなのでしょうか??
 レスポンスなどはどちらが速い?
 データの保全性の意味からはどちらが良い?
 等。。。
 アプリやテーブルがどんどん増えていき、
 業務上(保守的な観点からも)どういった方向でいけばいいのか
 悩んでおります。

投稿時間:2004/01/16(Fri) 14:44
投稿者名:ak
Eメール:
URL :
タイトル:
Re: Accessのテーブルについて(ASPアプリで利用)
同じデータベース内であればJoin等容易に行えますが、データベースを
分けてしまうとリンクさせなければならない為プログラムも複雑になり
ますし、レスポンスも悪くなります。

そういった点を考えて違うアプリでも前に作成したデータベースを参照する
のであれば同じデータベース内に作成した方が良いと思います。

同じデータベースを参照するのであれば同じデータベース内に作成。
全く関係ないのであれば違うデータベースで良いのではないでしょうか。
保守的にもそうした方が楽かと思います。

あと保全性についてですが、アクセスの場合あくまでもmdbファイルですので
消されたら終わりです。

対策としてはサーバー内に共有フォルダを設け、ユーザー、パスワードで制限を
かけるぐらいです。

高いセキュリティを望むのならOracleやSQLServerを使うべきかと思います。

投稿時間:2004/01/16(Fri) 14:46
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: Accessのテーブルについて(ASPアプリで利用)
> ASP等のアプリによってMDBへアクセスする場合
> どちらがどうなのでしょうか??
う〜ん。そもそも、ASPで使用すべきではないと思いますけれども。(^^;
無理にとはいいませんが、できれば、他のデータベース(MSDE等)を採用された方が良いのでは。

# 下記の[地獄への階段]、[天国への扉]なども参考に。
# http://www.naboki.net/access/


>  レスポンスなどはどちらが速い?
データ設計や環境など、さまざまな要因が絡んできますので、正直なところ、
「やってみなければわからない」といったところです。
ただ、テーブル設計、インデックスの利用などが適切に行われている、という
前提であれば、同一ファイル上にまとめてあった方が、検索/更新のレスポンスが
高くなる傾向にあります。その反面、ファイルサイズが大きくなるにつれて、
最初の接続にかかる時間が長くなるという問題もありますけれどね。

>  データの保全性の意味からはどちらが良い?
Jetはトランザクションログなどを残す機能が無いため、分散してもしなくても、
障害発生時のデータの保全性という点では、ほとんど期待できないと思います。

保全性という面で見た場合、どちらかといえば、データを分散させるかどうかよりも、
「最適化」と「バックアップ」を確実に行う、という事の方が重要かと。

# データを分散させておけば、たとえファイルが破損したとしても、一度に失われる
# データ範囲を減らす事ができます……が、ファイル数が増えるという事は、その分、
# 破損確率も上がるという考え方もありますし。

…まぁ、私がもし、『mdbで作らなければならない』『でもデータ量は多い』という
状態になったとしたら、「参照頻度は高くても、更新される頻度は低いファイル」
(マスタ系など)と「更新頻度の高いファイル」とに分散しますかね。

投稿時間:2004/01/16(Fri) 15:12
投稿者名:Dai
Eメール:
URL :
タイトル:
Re^2: Accessのテーブルについて(ASPアプリで利用)
貴重な意見ありがとうございます。( ^.^)( -.-)( _ _)
開発も保守も(アプリ、データ共)運用開始後のメンテナンスも一人でやっている状況で。。( ̄□ ̄;)!!

おっしゃる通りOracle導入検討したいのですが(IS部門から参照するデータはOracleなので)
今の状況下でオラクルマスター的負担も請け負うのは。。自殺行為なもので (-_-、)

まずはバックアップ環境だけ整えます!
サーバーさえ立ち上げれば後はwwwrootの下だけ全部コピーしてしまえば
動くのがASP+MDBの助かる所  (^。^;)

何とか地獄だけは見ない様に精進いたします!

投稿時間:2004/01/16(Fri) 17:23
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re^3: Accessのテーブルについて(ASPアプリで利用)
> サーバーさえ立ち上げれば後はwwwrootの下だけ全部コピーしてしまえば
> 動くのがASP+MDBの助かる所  (^。^;)

セキュリティを考えると、wwwrootの下にmdbを置くのは危険だと思います。

mdbに書き込みを行うには、そのフォルダ/ファイルに対する書き込みアクセス権限が必要になります。
それを、Web上で外から見えるフォルダに配置した場合、第3者からの攻撃に晒される可能性があるかと。

投稿時間:2004/01/20(Tue) 23:37
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
ASPでの利用は、予期せぬ動作を招く事が
> ASP等のアプリによってMDBへアクセスする場合

こんな記事を見つけました。
Jetはスレッドセーフでは無いので、ASPで使うべきでは無いそうです。

http://support.microsoft.com/default.aspx?scid=kb;ja;832205

≫ IIS 上の ASP などから Jet にアクセスした際に、
≫ 『応答がなくなる』など予期せぬ動作が引き起こされる可能性があります

投稿時間:2004/01/21(Wed) 21:36
投稿者名:Dai
Eメール:
URL :
タイトル:
Re: ASPでの利用は、予期せぬ動作を招く事が
なるほど。。。。( ̄◇ ̄;)
確かに怖いですね。。。しかし代替環境構築には時間もかかるし
焦りの日々を送る今日この頃です。。。

情報提供ありがとうございます。

投稿時間:2004/01/22(Thu) 08:39
投稿者名:YG
Eメール:
URL :
タイトル:
Re: ASPでの利用は、予期せぬ動作を招く事が
IIS/ASPでのJET(mdb)使用という環境ではありませんが、2層の簡単なクラサバシステムを組んだことが
ありまして・・・(かなり前ですが)
クライアントがこけちゃったら、そのままmdbファイルもどっかいっちゃた経験があります。
それ以来mdbが怖くて使えません。