전문가를 위한 오라클 데이터베이스 아키텍처 (2014년)
필자의 접근법 0 0 93,211

by 구루비스터디 [2018.09.27]


필자의 프로젝트 경험 요약

  • 데이터베이스를 기반으로 만들어진 애플리케이션은 데이터베이스를 어떻게 사용하느냐에 따라 성공/실패 할 수 있다
  • 애플리케이션은 계속 변화하지만, 데이터는 영원하다.
  • 개발팀에게 가장 필요한 것은 데이터베이스의 핵심을 잘 알고 있는 개발자다.
  • 하지만 많은 사람들은 데이터베이스를 마치 블랙박스 보듯 접근 한다.


챕터의 주제

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


Windows 와 Linux 운영체제 이야기

  • 숙련된 Windows 프로그래머가 Linux 플랫폼에서 새로운 애플리케이션을 개발 한다면,
  • 서로 다른 플랫폼의 메모리관리, 프로세스관리 방법을 배워야 하는 것 처럼 데이터베이스 환경도 마찬 가지다.
  • SQL서버에서 잘 작동하는 애플리케이션이 오라클에서 똑같이 동작하지 않는다. (반대도 마찬가지)
  • Windows 와 Linux 가 운영체제 이지만 근본이 다른 것 처럼, 오라클 과 SQL서버(다른 많은 데이터베이스 포함) 는 데이터베이스지만 근본적으로 다르게 동작 한다.


문제 해결을 위해 데이터베이스 중심 접근법 사용

  • 데이터베이스의 기능을 구축한다면 그것을 어디서든지 전개할 수 있다.
    • 오라클은 대부분의 운영체제를 지원 한다 / 자바 가상 머신과 같은 개념 (시스템간 높은 이식성)
    • 데이터베이스(가상 머신)를 이해 한다면, 다른 운영체제에서 정상적으로 작동하는 확장성이 좋은 애플리케이션 구축 가능 (운영체제를 미묘한 차이를 다루는 등의 완전한 이해가 없어도 됨)
  • 데이터베이스 환경으로 처리할 범위가 벗어나면 자바를 사용 한다.


필자의 데이터베이스 소프트웨어 개발 원칙은 아래 순서로 적용 한다.

  • <단일 SQL 문> → <PL/SQL> → <자바 내장 프로시저> → <C 외부 프로시저(빠른 성능, 외부 API 사용)> → <왜 해야 하는지 고민>
    • PL/SQL 은 SQL 과 강하게 결합되고 최적화 되어 일을 수행할 수 있다.
    • 자바도 NATIVE Compile 하면 C만큼 빠르다.
"데이터베이스 스터디모임" 에서 2014년에 "전문가를 위한 오라클 데이터베이스 아키텍처 " 도서를 스터디하면서 정리한 내용 입니다.

- 강좌 URL : http://www.gurubee.net/lecture/3989

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입