Data/NoSQL

NoSQL MongoDB 사용하기

makeitworth 2022. 8. 1. 09:23

nlp 중에서도 문서 단위의 long text를 분석 단위로 하다보니 RDB에 문서 단위의 텍스트를 저장하고 불러오는게 부담스러웠다. 문서의 길이가  대부분 5000 정도는 쉽고 table의 row도 만 개가 넘어가다 보니 단순히 SELECT *  만 해도 데이터를 받아보는데 수 초가 걸리는 상황이라 어쩔 수 없이 NoSQL로의 DB 전환을 할 수 밖에 없는 상황이 되었다.

 

DB를 MongoDB에서 자체적으로 제공하는 클라우드 서비스인 MongoDB Atlas Database 나 AWS에서 MongoDB호환으로 서비스 하는 DocumentDB 를 활용하여 서버리스 데이터베이스를 구축하는 것이 좋겠지만, 아직까지는 서비스 운영을 위한 DB구축이 아니라 테스트 단계로 일단  AWS EC2 Ubuntu에 MongoDB를 설치하여 DB를 구성하였다. 

 

참고: Q. AWS EC2에 MongoDB 설치하고 외부 접속 가능하게 만드는 방법은? (tistory.com)

 

이렇게 했을 때 가장 큰 문제가 되는 것은 백업.

AWS RDS 서비스를 경험하면서 가장 편리했던 것 중에 하나는 알아서 하루에 한 번씩 스냅샷을 찍어주고, 이를 밖으로 내보내서 저장하거나, AWS S3에 보내는 것을 대시보드 메뉴에서 기본으로 제공해주는 것이었는데, 그걸 이용할 수가 없다.

 

백업 코드를 활용하여 S3에 정기적으로 백업하는 방식으로 데이터베이스 관리를 따로 해줘야 한다.

 

Datable 쿼리는 터미널에서 작성하거나 익숙한 언어인 python을 활용할 수 있는 pymongo를 활용해 노트북이나 파이썬 파일 내에서도 사용이 가능하다. 아직 MongoDB language에 익숙하지 않은 것이 현재 느끼는 가장 불편함...