HEY-I를 mongoDB에 연결하기
구현
우리는 왜 몽고DB를 쓰는가?
왜 MongoDB? #1
이런 특징들을 이루어 보았을 때 HEY-I 프로젝트에서 NoSQL에 포함되는 MongoDB를 사용하려는 큰 이유는 3개의 모델 구동과 연관되어 있다.
NoSQL은 기존의 RDB와는 다르게 하나의 고성능 하드웨어에 데이터를 저장하는 것이 아니라
일반적인 서버 여러 개를 연결해 데이터를 처리한다.
데이터를 여러 대의 서버에 분산해 저장하고, 분산을 할 때에도 데이터를 각각 상호 복제해서 특정 서버에 문제가 있어도 서비스에 영향이 가지 않는다
왜 MongoDB? #2
확장성 문제이다.
아직 개발 초기 단계이기 때문에 추후 과정을 확정 지을 수가 없는 현 시점에서 우리는 일단 지금 구현하려는 기능들이 완성된다면 이라는 가정 아래 음성, 시선 추적 등의 기능을 추가 및 보완하려는 계획을 가지고 있다.
이런 상황에서라면 확장성에 이슈가 있는 MySQL보다는 MongoDB를 사용하는 것이 이점이 있을 수 있다.
왜 MongoDB? #3
json을 활용한 생산성의 문제이다.
우리는 서빙 관점에서 무게를 둔 부분이 재학습 파이프라인을 구축하는 것이다.
우리가 DB에 데이터를 저장하는 이유는 사용자의 정보를 받아 인사이트를 얻는 것보다는 해당 데이터를 다시 모델의 학습에 활용하고 싶기 때문이다.
그렇다면 데이터 구조를 뜯어서 어떤 사용자가 어떤 정보를 줬느냐에 포커스를 맞추기 보다는 받은 데이터를 그대로 다시 모델의 input에 들어갈 수 있게끔 하는 것이 낫다고 판단했다.
그래서 저장 형식은 output이자 input이라 할 수 있는 json으로 고정했다.
Reference