상세 컨텐츠

본문 제목

12. DBMS에 저장해서 쓰는 함수 3

CS전공 지식/4. 데이터베이스 개론 & SQL

by 본투비곰손 2023. 8. 28. 22:51

본문

728x90

3-tier architecture에서 stpred procedure의 의미

오늘날의 IT 회사들은 일반적으로 client-server architecture의 한 종류인 three-tier architecture 모델로 서비스를 개발 한다.

  • Three-tier architecture

비즈니스 로직이란?

  • 회원 가입/탈퇴
  • 상품 리스트업 알고리즘
  • 상품 정보 업로드 기능
  • 상품 검색 기능
  • 메시지 기능

데이터

  • 회원 정보
  • 상품 정보
  • 판매/구매 내역
  • 지역 정보

stored procedure

  • RDBMS에 저장되고 사용되는 프로시저
  • 주된 사용 목적은 비즈니스 로직 구현

stored procedure 장점

  • application에 transparent 하다. (DB에서 stored procedure의 body부분만 변경하면 각각의 비즈니스 로직을 수정하지 않아도 된다.)
  • network traffic을 줄여서 응답 속도를 향상 시킬 수 있다.
  • 여러 서비스에서 재사용 가능하다.(서로 다른 서버를 사용하더라도 stored procedure를 호출하여 사용하면 동일한 기능을 사용할 수 있다.. )
  • 민감한 정보에 대한 접근을 제한할 수 있다.

stored procedure 단점

  • 유지 관리 보수 비용이 커진다.(비즈니스 로직이 RDBMS에도 분산되어 수정 및 버전 관리가 어렵다. )
  • 데이터를 가지고 있기 때문에 DB서버를 추가하는 것은 간단한 작업이 아니다. (반대로 logic tier에 애플리케이션 서버 투입은 간단하다.)
  • 항상 transparent 한 것은 아니다. (DB에서 stored procedure의 body부분만 변경하더라도 각각의 비즈니스 로직을 수정하는 경우도 있다.)
  • transparent 한 것이 항상 좋은 것은 아니다.(버그 발생 시 치명적)
  • 재사용 가능한 점이 단점이 될 수 있다.
  • 비즈니스 로직을 소스 코드에 두고도 응답 속도를 향상 시킬 수 있는 방법은 있다.(캐시 사용)
  • 민감한 정보에 대한 접근을 완벽히 제한할 수 없다.
  • 복잡하고 유연한 코드 작성이 어렵다.
  • 현재의 프로그램 언어는 더 다양하고 강력한 기능들을 제공한다.
  • 가독성이 떨어진다.
  • 디버깅이 어렵다.
728x90

관련글 더보기