1. 데이터 베이스
Sql이 아니라 noSql을 사용하기로 했는데, 크게 세 가지 이유가 있다.
첫번째는 검색 시스템을 만들 때, document의 term frequency를 저장하는 방법을 위해서이다.
inverted term frequency형태로 저장하려고 하는데, term에 등장 document와 등장 빈도 두가지를 엮어서 추가하기 때문에 noSql 형태가 적합하다고 판단했다.
두번째는 사전 검색후 나올 주석, 카테고리등의 정보를 한번에 DB구조에서 보길 원하기 때문이었다.
한 페이지 내부에 들어갈 정보의 종류들이 그렇게 많지 않기 때문에 RDBMS 에서 join을 사용하는 것과 속도 차이가 크지 않을 것이라고 생각했기 때문이다.
세번째는 사용하려고 했던 mySql보다 noSql의 CRUD가 더 빠르다는 여러 글 때문이었다.(직접 확인 필요)
MongoDB를 사용한다.
2. server
처음에는 flask를 사용해서 진행하려고 하다가 express로 전환하였다.
사이트 자체가 유저 인증과 같은 복잡한 절차가 필요하지 않고, 외주 업무 특성상 가볍고 유연한 라이브러리를 사용하는게 좋을 것이라고 생각했다.
또한 NestJS는 TS가 필수적인데, 팀원에게 부담이 될 것 같아 express를 선택하기도 하였다.
3. github
'프로젝트 기록 > 러시아어 사전 및 검색 웹' 카테고리의 다른 글
개발 과정 리뷰 -4- MongoDB 연동 (0) | 2023.12.09 |
---|---|
개발 과정 리뷰 -3- (0) | 2023.12.07 |
개발 과정 리뷰 -2- 라우터와 정규표현식 (0) | 2023.12.04 |
개발 과정 리뷰 -1- (0) | 2023.12.03 |
MongoDB 환경 통일 (0) | 2023.11.30 |