DB서버를 분리하는 이유가 뭘까

프로젝트를 진행하다보면 다양한 서버 구죽 환경을 만난다.
단일서버도 있고 DB서버를 분리하여 서버를 구축하기도 한다.
실무에선 주로 DB서버를 분리하는 데 단일서버와의 차이점이 궁금했다.
어떨때 DB서버를 분리하고 어떨 때는 분리하지 않는걸까? 그로 인한 장단점에는 뭐가 있을까?

DB서버와 WAS를 나누는 이유

프로젝트 관리정책이나 클라이언트의 요구에 따라 단일 서버를 쓰기도 하고 DB서버를 분리하기도 한다.
DB서버를 분리하는 이유는 크게 두 가지를 들 수 있다.

  1. 보안
    • 서버를 분리할수록 보안에 유리하다.
  2. 성능
    • DB 서버는 메모리를 빡빡하게 쓴다. 리소스를 많이 잡아먹으므로 서버분리를 통해 성능을 높일 수 있다.
    • 실무에선 WAS에서 처리하는게 많은 경우,DB서버와 분리한다.




DB서버 분리 단점

보안과 성능이라는 두가지 장점이 있다면 단점도 분명 있을 것이다.
단점도 크게 두가지로 볼 수 잇다.

  1. 서버 비용 증가
  2. 방화벽설정 문제가 발생할 수 있음
    • 단점이라기보단 예상할 수 있는 문제에 가깝지만, 실무에서 DB서버를 분리함으로서 방화벽설정에 문제가 있을 수 있다. 예를 들어 관리포인트가 많을 경우 한 쪽서버만 접속되는 문제가 발생할 수 있다.




소스코드가 있는 프로그램을 부르는 명칭이 따로 있을까?

나는 늘 그랬듯 용어가 궁금했다. 소통을 잘하고싶은 마음때문에 항상 용어를 신경쓴다.
소스코드가 있는 그 프로그램을 뭐라고 부르는지 무척 궁금했는데 과장님이 프로그램을 소스코드 경로 최상단인 webroot 라고도 부른다고 알려주셨다.
감사합니다 과장님!

과장님과 얘기나누던 중에 내가 아파치와 톰캣을 명확히 구분하지 못한다는 사실을 발견했다.
이와 관련되서는 따로 포스팅했다. 참고 아파치 vs 톰캣 같은 거 아냐? 차이점

여담으로, 회사 선임분들이 너무 좋다. 팀장님도 좋고 과장님도 좋다. 내가 난해하게 물어볼때도 최대한 알기쉽게 알려주신다. 항상 감사하다. 덕분에 많이 배웁니다.




출처