이펙티브 오라클 (2009년)
중요한것은 팀 노력이다 0 0 44,856

by 구루비스터디 DBA와 개발자 역할 [2018.05.26]


저장 프로시저에 대한 논쟁
  • DBA 입장 : "데이터베이스를 보호하는 것은 우리의 임무다"
    *개발자 입장 : "코드를 작성하는 것은 우리의 일이고, 그렇게 할 수 있도록 하는 것은 DBA의 임무다"
  • 공통된 목표 : 최종 사용자의 요구를 충족시키고, 성능이 우수하며 필요에 따라 확장이 가능하고 유지보수가 가능한 데이터베이스 애플리케이션을 가능한 한 효율적인 방법으로 구축하는 것


1.1. DBA와 개발자 역할

  • DBA : 데이터베이스 아키텍처, 데이터베이스 패치, 데이터베이스 동작 방식 등을 이해해야 할 책임(성공적인 백업과 복구)
  • 개발자 : 데이터베이스를 단순히 하나의 툴로 보는 프로그래머/분석가 대부분의 경우 인터페이스 디자인과 같이 데이터베이스와 무관한 일을 하는데 많은 시간을 보낸다.


1.1.1 DBA가 해야 할 것과 하지 말아야 할 것


DBA가 하지 말아야 할 것
  • (1)DBA는 자신의 주요 임무가 악의적인 개발자로부터 데이터베이스를 보호하는 것이라는 생가에서 벗어나야 한다.
  • (2)정당한 이유 없이 특정 기능을 금지시키지 않아야 한다.
  • 1)뷰 금지 : 성능에 악영향을 끼친다는 고정관념
  • 2)저장 프로시저 금지 : 문제가 SQL에 기반을 두고 있다면 성능이 나쁜 모듈을 쉽게 튜닝할 수 있다.
  • 3)버전 6 이후에 추가된 기능 금지 : 새로운 기능에 대해 확신하지 못하는 고참 DBA에게서 흔히 나타나는 현상
  • 4)N 릴리스의 새로운 기능에 대한 채택 기피 : 지역적으로 관리되는 테이블 영역이 전형적인 예


DBA가 해야 할 것들
  • (1)개발자를 지도할 수 있고 데이터베이스 지식을 전수해 줄 수 있는 누군가라고 생각하라.
  • (2)새로운 기능이 소개되면 이들을 평가하고 테스트하라.
  • (3)사실에 입각한 증거로 정책과 절차를 뒷받침하라
  • ex)"캐시 적중률이 99.9%이면 임무 완료다","테이블은 하나의 익스텐트(extent)에 존재하여야 한다"와 같은 성능 튜닝 신화


1.1.2 개발가자 해야 할 것과 하지 말아야 할 것

  • (1)DBA 주위에서 일하지 말고 그들과 함께 일하라.
  • (2)DBA는 개발자를 적대시한다고 추측하지 말라.
  • (3)DBA에게 이유를 설명하도록 요청하라.
  • (4)말하고 있는 것에 대해 확신을 가져야 한다.가설로 시작하고 테스트함으로써 이 가설을 증명하도록 노력
"구루비 데이터베이스 스터디모임" 에서 2009년에 "이펙티브 오라클" 도서를 스터디하면서 정리한 내용 입니다.

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

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

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

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