ch1. 성공적인 오라클 애플리케이션 개발

  • 데이터베이스 아키텍처는 어떻게 작동하며, 어떤 모양인가?
  • 동시성 제어란 무엇이며, 그럿이 여러분에게 의미하는 것은 무엇인가?
  • 애플리케이션을 처음부터 어떻게 튜닝할 것인가?
  • 데이터베이스의 기능들이 어떻게 구현되어 있는가? 데이터베이스의 기능들은 여러분이 생각하는 것과는 다른 방법으로 구현되어 있을 수도 있다.
  • 여러분이 사용하고 있는 데이터베이스가 이미 제공하고 있는 기능들은 무엇이며, 일반적으로 그 기능들이 여러분이 직접 만든것들보다 더 뛰어난 이유는 무엇인가?
  • 기본 이상으로 SQL을 잘 알아야 하는 이유는 무엇인가?
  • DBA와 개발자들은 서로 이기려고 경쟁하는 적이 아니라 한 팀이다.

필자의 접근법

  • 문제해결을 데이터베이스 안에서 수행할 수만 있다면 그렇게 할 것이다.
    • 유명하고 상업적으로 이용할 수 있는 서버 운영체제 중 오라클을 설치하여 사용할 수 없는 시스템은 없다(필자생각)
  • 필자의 원칙
    • 가능하다면 하나의 SQL문으로 프로그램을 개발해야 한다. 이것은 거의 항상 가능하다.
    • 하나의 SQL문으로 할 수 없다면, PL/SQL로 구현하도록 하라. (가능한 최소한으로 사용하는 것이 좋다)
    • PL/SQL로도 할 수 없다면 자바 내장 프로시저(Java stored procedure)를 사용하라.(9i 이상에서는 그렇게까지 할 필요도 거이 없어졌다)
    • 자바로도 프로그램을 개발할 수 없다면 C의 외부 프로시저를 사용하여 프로그램을 개발해보자.
      (빠른 실행성능을 필요로 하거나 C로 작성된 외부 프로그램의 API를 사용할 필요가 있을 때 자주 사용)
    • C외부 로직으로도 구현할 수 없다면, 그 일을 왜 해야만 하는지 심각하게 고민할 필요가 있다.