MongoDB atlas는 MongoDB사에서 직접 제공하는 클라우드 기반의 완전 관리형 데이터베이스 서비스(DBaaS)입니다. 서버 설치, 구성, 유지 보수, 백업 등을 사용자가 직접 관리할 필요 없이 클릭 몇 번으로 데이터베이스를 배포하고 운영할 수 있게 해 줍니다.
왜 쓰는가?
- Zero Ops: 데이터베이스 서버 구축/관리에 시간을 낭비할 필요가 없다.
- 멀티 클라우드 : AWS, Google Cloud, Azure 중 원하는 곳을 골라 쓸 수 있다.
- 사용 예시) 백엔드를 AWS를 Seoul 리전에 배포, MongoDB atlas를 AWS/Seoul 리전 선택
- 결과) 콘솔에 통합된 것은 아니지만 AWS 인프라 위에서 돌아가 두 영역이 효율적으로 통신함.
- 무료 사용: 평생 무료 등급(M0)이 있어 학습용으로는 최고이다.
핵심 기능
Database ; 기본 데이터 저장소 : 웹/앱 서비스 데이터 저장
- JSON(Document) 형태로 그대로 저장 및 조회
- 하나의 문서 안에 배열(list)이나 하위 문서(Nested Object)를 자유롭게 포함
// User 컬렉션의 데이터 예시
{
"_id": "user_123",
"name": "홍길동",
"skills": ["Java", "Python", "MongoDB"], // 배열 저장 가능
"address": { "city": "Seoul", "zip": "04524" } // 하위 문서 저장 가능
}
Atlas Search ; 검색 엔진 내장 : 구글 같은 텍스트 검색 기능 구현
- 별도 서버 없이 MongoDB 쿼리 문법으로 검색 구행
- Aggregation Pipeline 첫 단계에 $search/ 연산자만 추가하면 됨
db.products.aggregate([
{
$search: {
index: "default",
text: { query: "galaxy", path: "description" }
}
}
])
Vector Search ; AI 벡터 검색 : RAG(AI 답변 생성), 추천 시스템 구축
- 텍스트나 이미지를 AI 모델을 통과시켜 얻은 '실수 배열(Embedding)'을 MongoDB 문서의 필드(Field)로 저장
- 사용자의 질문을 벡터로 변환한 뒤 $vectorSearch를 사용하여 가장 의미가 가까운 문서를 찾음
// 벡터 데이터가 포함된 문서 예시
{
"title": "MongoDB 매뉴얼",
"content": "...",
"plot_embedding": [0.012, -0.234, 0.551, ...] // AI가 이해하는 좌표값
}
Charts ; 데이터 시각화 : 별도 툴 없이 대시보드/그래프 생성
- 쿼리 작성 없이, 드래그 앤 드롭으로 차트를 만들고 웹사이트에 심음.
- Atlas 웹 UI에서 차트를 다 만든 후, 생성된 "IFrame 코드"나 "SDK"를 복사해 프론트엔드 코드에 붙여 넣음.
사용 흐름
- 배포(Cluster) : 무료 티어(Shared M0) 선택 -> 리전(Seoul 등) 선택 -> 생성
- 계정 (User) : DB에 접속할 ID/비밀번호 만들기. (로그인 계정과 다름)
- 네트워크 (IP) : 내 컴퓨터 IP 허용하기 (Add Current IP). --> 주의!
- 연결 (Connect) : 연결 문자열(mongodb+srv://...) 복사해서 코드에 붙여 넣기
요금제 요약
- M0 (Free) : 512MB 제공, 평생 무료 (연습용 추천)
- M10 ~ (Dedicated) : 월 $57~, 실제 서비스 운영용 (오토 스케일링 지원)
- Serverless : 사용한 만큼만 지불, 트래픽 들쑥날쑥할 때 유리
참고 문서