|
|
前のページ 1 2
|
|
PHPデータベース抽象化レイヤの変遷(2) |
|
ネイティブドライバ(拡張モジュール)
|
|
- 各データベース用の低レベルAPIを提供
- データベース固有機能をカバー
- 速度は速い
- 対応DBMSは多い
|
|
dbx(拡張モジュール)
|
|
- 共通APIの提供
- 速度は速い
- 単一モジュールで複数データベースをサポート
- 対応DBMSは多い
|
|
PEAR::DB(スクリプト+ネイティブドライバ)
|
|
- 共通APIの提供
- オブジェクト指向ライクなAPIを提供
- 速度は遅い
- 機能追加が多く肥大化
- 対応DBMSは多い
|
|
MDB/MDB2(スクリプト+ネイティブドライバ)
|
|
- 共通APIの提供
- オブジェクト指向ライクなAPIを提供
- データ構造の抽象化
- 速度は遅い(ただし、PEAR::DBより速くを目標に開発)
- 対応DBMSが多い
|
|
DB_DataObject(スクリプト+PEAR::DB)
|
|
- 共通APIの提供
- オブジェクト指向ライクなAPIを提供
- O/Rマッピング機能の提供
- 速度は遅い
- 対応DBMSは多い
|
|
PDO
|
|
- 共通APIの提供
- オブジェクト指向ライクなAPIを提供
- 例外処理に対応
- 速度は速い
- コアモジュールとドライバモジュールを分離
- 対応DBMSは少ない
|
このように、一口にデータベース抽象化レイヤといっても多種多様で方向性も異なるので、利用にあたっては目的に合ったものを選択する必要があります。
|
前のページ
1
2
|
|
|
|
著者プロフィール
著者:岩切洋一
「まるごとPHP!Vol.1(インプレス刊)」にて本記事「PDOデータベース抽象化レイヤクラス」の執筆や、「WEB+DB PRESS Vol.18(技術評論社刊)」にて「PEAR実践入門 第4章 使ってみよう!作ってみようPECL」の執筆などを行う。
|
|
|
|