수정전에는 해당 서버를 aws를 사용해서 매달 사용량 만큼 요금이 부과되는 방식으로 호스팅하려 했으나 온프레미스 방식
으로 직접 서버를 컴퓨터로 돌리고 db또한 해당 컴퓨터에 저장해서 호스팅하는 방식으로 바꾸기로 했다.
따라서 수정 전에는 요금이 적게 부과되기 위해서 테이블 생성을 최소한으로 하며 테이블간의 트렌젝션 또한 많이 고려하려 최대한 단순하게 구성하였다.
하지만 온프레미스방식으로 바꾸었기때문에 매달 요금이 과하게 청구될 일이없기때문에 각 용도별로 테이블을 분리시켰다.
또한 게시물 같은 경우 postTime
칼럼을 따로 만들었지만 시퀄라이즈 옵션에서 만든시각, 업데이트시각,삭제여부를 자동으로 기록해주는 timestamps
,paranoid
를 사용해서 erd상에서는 지웠다.
클라우드 저장소
: 외부 서비스 공급자가 데이터를 호스트 한다. 클라우드 공급자가 모든 하드웨어, 소프트웨어및 기타 지원 인프라를 조달하고 자사의 데이터 센터에 설치 및 관리를 한다.(ex. aws)
온-프레미스 저장소
: 온-프레미스 저장소에서는 회사의 서버가 조직의 인프라 내에 호스트되어 있으며, 많은 경우 사내에 물리적으로 존재한다.
서버는 회사와 사내 IT 팀 또는 IT 파트너가 직접 제어, 관리, 유지 및 조달합니다.
데이터와 기타 정보는 로컬 네트워크를 통해 컴퓨터 간에 공유된다.
참고 사이트
호스팅 방식 변경의 이유는 비용적인 측면이 컸다.
기존에 aws를 사용했을때 2코어 1gb램인 무료 사양을 쓰면서 한달에 약 15000원정도 부과되었는데 기존에는 비교적 낮은사양에서 잘 돌아가는 node를 사용하면서 아주 간단한 기능만을 구현했었기에 무료사양을 쓸 수 있었다.
리뉴얼 후에는 많은 기능이 추가되고 spring이 사용될 예정이라 기본사양이 아닌 업그레이드를한 사양을 사용해야해 기존의 요금보다 약 8배에서 15배정도 높은 금액이 부과될것으로 추정이 된다.(아래 요금 부과표 기준)
또한 지금 프로젝트를 진행하는 인원이 많지않아 학기중 프로젝트 진행, 유지보수, aws관리까지 하기에는 부담스러운 상황이기 때문에 온프레미스 방식을 채택한다면 서버 컴퓨터와 보안과 관련된것을 한 학기에 일정 비용을 받고 호스팅 해주겠다는 분이 있어서 바꾸었다.
수정전 ERD에대해 약간 설명하자면 post테이블
에 project대표 게시글
을 제외한 모든 게시물들을 post
에 저장했다.
사실 테이블 안의 자료를 꺼내기 어려운것도 어려운거지만 이 ERD만 보고 이해할 수 없는 부분이 한가지 있어 수정이 시작된것이다.
이 ERD상 post에는 위의 수정후 버전에서의 patchNote테이블
의 역할도 하고 있는것이다.
단순하게 ERD만보면 post에서 저 patchNote table
의 역할을 하는것이 한눈에 보이지 않아 앞으로 인수인계를 할 때 일일이 계속해서 설명을 해주고 이해를 시켜야 했을 것이다.
따라서 단순하게 이번만 이 프로젝트를 완성시키는것에서 끝나는 것이 아니라 앞으로의 유지보수 측면
에서 수정후 버전으로 바꾼것이다.