by-nc-sa     개발자, DBA가 함께 만들어가는 구루비 지식창고!

14S_필자의 접근법




필자의 프로젝트 경험 요약
  • 데이터베이스를 기반으로 만들어진 애플리케이션은 데이터베이스를 어떻게 사용하느냐에 따라 성공/실패 할 수 있다
  • 애플리케이션은 계속 변화하지만, 데이터는 영원하다.
  • 개발팀에게 가장 필요한 것은 데이터베이스의 핵심을 잘 알고 있는 개발자다.
  • 하지만 많은 사람들은 데이터베이스를 마치 블랙박스 보듯 접근 한다.
챕터의 주제
  • 데이터베이스 아키텍처는 어떻게 작동하며, 어떤 모양인가?
  • 동시성 제어란 무엇이며, 그것이 여러분에게 의미하는 것은 무엇인가?
  • 애플리케이션을 처음부터 어떻게 튜닝할 것인가?
  • 데이터베이스의 기능들이 어떻게 구현되어 있는가? (생각과 다를 수 있다)
  • 사용하고 있는 데이터베이스가 이미 제공하고 있는 기능은 무엇인가? (대개 직접 구현 한 것보다 낫다)
  • 기본 이상으로 SQL을 잘 알아야 하는 이유는 무엇인가?
  • DBA와 개발자들은 서로 이기려고 경쟁하는 적이 아니라 한 팀이다.
Windows 와 Linux 운영체제 이야기
  • 숙련된 Windows 프로그래머가 Linux 플랫폼에서 새로운 애플리케이션을 개발 한다면,
  • 서로 다른 플랫폼의 메모리관리, 프로세스관리 방법을 배워야 하는 것 처럼 데이터베이스 환경도 마찬 가지다.
  • SQL서버에서 잘 작동하는 애플리케이션이 오라클에서 똑같이 동작하지 않는다. (반대도 마찬가지)
  • Windows 와 Linux 가 운영체제 이지만 근본이 다른 것 처럼, 오라클 과 SQL서버(다른 많은 데이터베이스 포함) 는 데이터베이스지만 근본적으로 다르게 동작 한다.
문제 해결을 위해 데이터베이스 중심 접근법 사용
  • 데이터베이스의 기능을 구축한다면 그것을 어디서든지 전개할 수 있다.
    • 오라클은 대부분의 운영체제를 지원 한다 / 자바 가상 머신과 같은 개념 (시스템간 높은 이식성)
    • 데이터베이스(가상 머신)를 이해 한다면, 다른 운영체제에서 정상적으로 작동하는 확장성이 좋은 애플리케이션 구축 가능 (운영체제를 미묘한 차이를 다루는 등의 완전한 이해가 없어도 됨)
  • 데이터베이스 환경으로 처리할 범위가 벗어나면 자바를 사용 한다.
필자의 데이터베이스 소프트웨어 개발 원칙은 아래 순서로 적용 한다.
  • <단일 SQL 문> → <PL/SQL> → <자바 내장 프로시저> → <C 외부 프로시저(빠른 성능, 외부 API 사용)> → <왜 해야 하는지 고민>
    • PL/SQL 은 SQL 과 강하게 결합되고 최적화 되어 일을 수행할 수 있다.
    • 자바도 NATIVE Compile 하면 C만큼 빠르다.

문서정보

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.