프로시저를 사용하지 않는 이유

양시준·2022년 1월 29일
1

TIL

목록 보기
1/21

주의사항

여러 사람들의 주관적 의견을 정리한 글로 객관적인 지표를 근거로 작성한 글이 아닙니다.

프로시저를 사용하는 이유

  • 대량의 데이터 처리가 WAS보다 빠르다.
  • DB 서버에서 처리한 이후 WAS에는 결과만 보여주면 되기에 네트워크 처리 비용이 절감된다.
  • 일반적으로 DB 사양이 WAS 보다 좋아서 대량의 데이터를 WAS에 올리고 처리하는 것보다 DB에서 분산처리를 하는 편이 성능이 좋다.
  • 개발 유지보수에 유리하다.

프로시저를 사용하지 않는 이유

  • 시대의 흐름 변화
    • 객체지향적 방법론이 대세가 되었다. ex) Spring의 JPA
      • 프로시저의 제한된 문법으론 추상화와 같은 객체지향적인 개념을 사용하기 어렵다.
    • 클라우드 시스템의 대중화
      • 요즘에는 DB부터 WAS까지 직접 서버를 운용하지 않고 클라우드를 사용한다.
      • 클라우드 특성상 플랫폼 변환을 쉽게 할 수 있는 장점이 있다.
      • 그렇기 때문에 프로시저와 같이 특정 기술의 의존적인 부분을 기피하는 추세이다.
  • 형상관리나 유지보수가 가능은 하지만 실무에서 잘 이루어지지 않는다.
  • 스케일 아웃이 쉬운 편인 WAS와 달리 DB는 스케일 아웃이 어렵고, 프로시저를 사용하면 DB의 부하가 커지기 때문에 WAS에서 처리하는 것이 맞다.
  • 개발 유지보수가 어렵다.

결론

프로시저를 사용하는 비율이 줄어드는 추세처럼 보인다. 하지만 Batch 같은 트래픽 증가 문제가 없는 로직에 대해서는 여전히 프로시져 형태를 사용하는게 효율적으로 보인다.

profile
야크 털 깎기와 러버덕 디버깅을 좋아하는 개발자

0개의 댓글