今日のほとんどのITプロジェクトがOracle11gやSQLServer 2008などの最新のデータベースエンジンに存在する豊富な機能を無視しているように見える主な理由(「データベースの独立性」を除く)は何ですか?
または、ヘルシンキ宣言のブログから借りるには、次のようにします。
過去20年間で、DBMS内で利用できる機能(機能)が飛躍的に成長していることがわかりました。これらの機能により、データベースアプリケーションを構築することができました。これは、私たち全員が活況を呈している90年代に始めたことです。
しかし、その後、新しい千年紀の夜明けに、何かが起こりました。そして、その何かが、データベースアプリケーションプロジェクト内のDBMSの役割を不思議なことに減少させ、取るに足らないものにしました。(...)新しいミレニアムの時点で、すべてのアプリケーションロジックをDBMSから中間層サーバーにプッシュしています。DBMSの外部に実装されたものの機能は爆発的に増加し、機能豊富なDBMSは行ストレージ以外にはほとんど使用されていません。
私たちは次のようなものについて話している
- データAPIとして使用されるストアドプロシージャ(セキュリティのため、および過剰なネットワークトラフィックを回避するため)
- マテリアライズドビュー
- 代わりに-トリガーの
- 階層クエリ(接続方法)
- 地理(空間データ型)
- 分析(リード、ラグ、ロールアップ、キューブなど)
- 仮想プライベートデータベース(VPD)
- データベースレベルの監査
- フラッシュバッククエリ
- データベースでのXML生成とXSL変換
- データベースからのHTTPコールアウト
- バックグラウンドジョブスケジューラ
これらの機能が使用されていないのはなぜですか?ほとんどのJava、.NET、およびPHP開発者が「SELECT * FROMmytable」アプローチに固執しているのはなぜですか?