오늘날 대부분의 IT 프로젝트가 Oracle 11g 및 SQL Server 2008과 같은 최신 데이터베이스 엔진에 존재하는 풍부한 기능을 무시하는 것처럼 보이는 가장 큰 이유 ( "데이터베이스 독립성" 제외)는 무엇입니까?
또는 다음과 같이 설명하는 헬싱키 선언 블로그 에서 빌리려면 :
지난 20 년 동안 우리는 DBMS 내부에서 사용할 수있는 기능 (기능)이 기하 급수적으로 증가한 것을 관찰했습니다. 이러한 기능을 통해 우리는 데이터베이스 애플리케이션을 구축 할 수있었습니다. 이것이 우리 모두가 90 년대에 시작된 일입니다.
그러나 새천년이 시작되자 어떤 일이 일어났습니다. 그리고 그것은 데이터베이스 애플리케이션 프로젝트 내에서 DBMS의 역할을 미스테리하게 감소 시켰습니다. (...) 새 천년기에 우리는 DBMS의 모든 애플리케이션 로직을 중간 계층 서버로 밀어 넣고 있습니다. DBMS 외부에서 구현 된 기능이 폭발적으로 증가했으며 기능이 풍부한 DBMS는 행 스토리지 외에는 거의 사용되지 않습니다.
우리는 다음과 같은 것에 대해 이야기하고 있습니다.
- 데이터 API로 사용되는 저장 프로 시저 (보안 및 과도한 네트워크 트래픽 방지)
- 구체화 된 뷰
- 대신 트리거
- 계층 적 쿼리 (연결 기준)
- 지리 (공간 데이터 유형)
- 분석 (리드, 지연, 롤업, 큐브 등)
- 가상 사설 데이터베이스 (VPD)
- 데이터베이스 수준 감사
- 플래시백 쿼리
- 데이터베이스의 XML 생성 및 XSL 변환
- 데이터베이스의 HTTP 콜 아웃
- 백그라운드 작업 스케줄러
이러한 기능이 사용되지 않는 이유는 무엇입니까? 대부분의 Java, .NET 및 PHP 개발자가 "SELECT * FROM mytable"접근 방식을 고수하는 이유는 무엇입니까?