MSDE vs. Jet |
Microsoft系のデータベースエンジンには、大きく分けて2種類あります。ここでは、適用する用件の目的に応じたメリット、デメリットを述べ、選出基準を示します。なお、これらを操作するデータアクセス手法は、こちらのページを参照してください。
case | MSDE | JET |
特徴 | SQL Server互換 | MDB用に作られた。 |
互換性 | ANSI- SQL準拠 Transact- SQL ( T-SQL )言語ガイドライン準拠 SQL Server と完全互換(ストアドプロシージャなどすべて) |
ANSI- SQL準拠(AccessVBAは、SQL89,
ADO経由は、SQL92) T-SQLには非準拠 ストアドプロシージャはないが、QueryDefオブジェクトをサポート NULL値を扱えない? |
移植性 | MSDE向けに開発したコードは、SQL Serverに移行するとき、変更する必要がない # 本当か!? |
かなりの変更量が必要であるらしい。 |
メモリ消費量 | JETより多く消費する。(具体的な数値は?です) | リソースに限りがあるシステムでは、MSDEよりパフォーマンス上有利。 |
同時アクセスについて トランザクションパフォーマンス |
5人まで(5セッション)までならスケーラビリティを維持する。ただし、それ以上のアクセス数がある場合、SQL Serverにしたほうが良い。 | ファイル共有形式なので、複数の処理から開くとどれかが占有してしまうため、正確な共有を行うことができない。また、同時アクセスによるパフォーマンスは、MSDEのほうが上。 (個人的見解:なんかJET4.0の行ロックには信頼性がなさそう) |
クライアントがハングしてトランザクションが途中で終わってしまった対応 | トラブル発生の直前まで復元(自動復旧する)。 トランザクション整合性の保証 フォールト トレランスあり |
前回のバックアップ(ファイル単位)で復元(自動復旧しない)。 トランザクションのロギングなし |
セキュリティ | Windows 2000 のセキュリティとの統合 | Windows 2000 のセキュリティとの統合なし |
コスト | 大 | 小 |
背景が白:メリット | 背景が灰色:デメリット |
データベース エンジンの選び方 (Microsoft) | http://www.microsoft.com/japan/msdn/dataaccess/msde/msdeforvs.asp | |
MSDE と Access 2000 の違いについて | http://www.users.gr.jp/Developer/asp/tech/msde.asp | |
AAccessの新常識! MSDEでできること | http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/0004/msde/ | |
Access2000では、MDBのサイズが倍になる | http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/0001/db_solu/ | |
Jetデータベースエンジン3.5と4.0を比較する | http://homepage1.nifty.com/tsware/labo/labo_22.htm |
上記の参考リンクの情報によると、JET3.5有利だが、Access2000が出たての情報なので再検証が必要と思われる。
(個人的見解:バージョンアップして、遅くなるほうがおかしい。マ社もそこまで間抜けではないだろう。ServicePack(Release)で改善しているか!?でも、Hagaki
StudioをVer1.5から2000にしたとき、確かに以前のファイルより肥大化していた。)
ちなみに、Access2002(XP)のJETは、Access2000と同じです。なお、最新(SP6)Versionは、Windows 2000では、4.0.6128、Windows XPでは4.0.6226です。ということは、JETは、このまま廃れるのか!
個人的な見解:JETを採用するなら、4.0にし、Accessは、2002を使用し、データベース形式は、2000形式で運用して、Access2000でも参照できるようにする。