

정부에서 제공하는 착한가게 업소 공공데이터를 활용하기로 했다.
https://www.data.go.kr/data/3045247/fileData.do
총 가게의 개수는 약 8000개 정도로
1) 첫 화면에서 페이지네이션을 구현한다고 해도 매번 사용자가 접속할 때마다 오픈 API를 호출하는 것과
2) 차라리 우리 DB에 한번에 데이터를 저장후 필요한 API를 보내주는 것
두개 방법이 존재했고 어떤 것이 더 적합한지 고민했다. 결국 두번째 방법을 선택하게 되었다.
우리 DB에 데이터를 모두 저장하기로 했다.
먼저 이용한 공공데이터를 보여주자면
필드가 이런식으로 구성되어있다
시도-구-업종-업소명-주소-연락처-메뉴1-가격1-메뉴2-가격2-메뉴3-가격3
그런데 이 필드가 모두 채워져있는 것이 아니고 가게마다 메뉴가 아예 없거나 1~3개 사이에서 다양하게 존재했다.
처음에는 메뉴를 배열로 묶어서 생각하지 않았고 이러한 데이터는 불규칙하다고 생각했기 때문에 몽고 디비를 선택했다. 경험이 부족해서 데이터가 불규칙한게 어디까지 불규칙한지, 관계형 디비와 NoSQL 디비에 불규칙이 어디까지 적용되는지 몰랐던 것 같다. 사실 이정도 데이터면 없는 데이터는 Null값으로 채우며 그냥 관계형을 써도 괜찮았을 것 같다.
그러나 이러한 선택으로 인해..
-> 한달이라는 시간동안 개발을 진행했는데 nest js도 처음인데 디비까지 처음인 것을 쓰다보니 공부+구현까지 시간이 오래 걸렸다. 다음에는 이러한 것도 고려해야겠다.