1. 셋 다 무엇인가?
MongoDB, HBase, Couchbase는 모두 NoSQL 데이터베이스입니다. 공통적으로 전통적인 관계형 데이터베이스처럼 모든 데이터를 고정된 표 구조에만 넣는 방식이 아니라, 데이터의 형태와 규모, 서비스 목적에 따라 더 유연하게 저장하고 처리할 수 있도록 설계되었습니다.
2. 한눈에 비교
| 데이터베이스 | 종류 | 쉽게 말하면 | 주로 쓰는 상황 |
|---|---|---|---|
| MongoDB | Document DB | 데이터를 문서(JSON 비슷한 형태)로 저장 | 웹·앱, 사용자 정보, 상품정보 |
| HBase | Wide-column DB | 엄청나게 많은 데이터를 여러 서버에 분산하여 열(Column) 중심으로 저장 | 빅데이터, 로그, 센서·이벤트 데이터, 대규모 데이터 처리 |
| Couchbase | Document + Key-Value DB | 문서형 데이터를 빠르게 저장하고 찾아주는 DB | 실시간 서비스, 모바일·웹 서비스, 빠른 조회가 필요한 시스템 |
3. 쉬운 예시로 이해하기
MySQL 같은 관계형 데이터베이스
먼저 표의 칸을 정해 두고, 모든 데이터가 그 구조에 맞춰 들어가는 방식입니다. 쉽게 말하면 “모든 사람이 같은 양식의 신청서를 작성한다”는 느낌입니다.
| 고객번호 | 이름 | 여행지 | 나이 |
|---|---|---|---|
| 001 | 이유안 | 안동 | 30 |
| 002 | 김민수 | 부산 | 25 |
MongoDB
사람마다 가진 정보가 조금 달라도 문서 단위로 저장할 수 있습니다.
고객 001
{
이름: "이유안",
여행지: "안동",
관심분야: ["문화관광", "맛집"]
}
고객 002
{
이름: "김민수",
여행지: "부산",
SNS: "Instagram",
동반자: 3명
}
즉, 사람마다 내용이 다른 파일철을 보관하는 방식이라고 생각하면 됩니다.
HBase
관광객의 이동기록, 센서값, 클릭 로그처럼 데이터가 아주 많이 쌓이는 상황에 적합합니다.
관광객 A → 10:01 안동역 관광객 A → 10:15 월영교 관광객 B → 10:16 하회마을 관광객 C → 10:17 안동찜닭거리 ... 수억·수십억 건
이처럼 매우 큰 데이터를 여러 서버에 나누어 저장하면서 처리하는 데 강합니다.
Couchbase
문서형 데이터와 Key-Value 방식을 함께 활용하면서 빠른 실시간 응답이 필요한 서비스에 적합합니다. 예를 들어 여행 앱에서 사용자가 호텔을 누르자마자 가격, 객실, 예약상태 등을 빠르게 보여주는 상황을 떠올리면 됩니다.
4. 비유로 기억하기
MongoDB → 문서 서랍장 📁
“사용자마다 정보가 달라도 괜찮아.”
각 문서마다 필요한 필드가 달라도 저장할 수 있는 유연한 문서 저장소입니다.
HBase → 거대한 물류창고 🏭
“수십억 건의 데이터를 여러 서버에 나눠 보관하자.”
엄청난 양의 데이터를 여러 컴퓨터에 나눠 담는 대규모 분산 저장소입니다.
Couchbase → 빠른 문서 창고 ⚡
“문서도 저장하고 실시간으로 빨리 꺼내 쓰자.”
문서 저장과 빠른 조회를 함께 고려한 실시간 서비스형 저장소로 이해할 수 있습니다.
기출문제 핵심:
MongoDB · HBase · Couchbase = NoSQL
MySQL = 관계형 SQL 데이터베이스
MongoDB · HBase · Couchbase = NoSQL
MySQL = 관계형 SQL 데이터베이스
5. 비유 중심 그림
MongoDB = 문서 서랍장 / HBase = 거대한 물류창고 / Couchbase = 빠른 문서 창고
6. 실제 활용 상황 중심 그림
웹·앱 사용자·상품정보 / 빅데이터·로그 / 실시간 모바일·웹 서비스의 대표 활용 상황을 비교한 그림
7. 마지막 10초 정리
MongoDB 유연한 문서 저장
→
HBase 초대용량 분산 처리
→
Couchbase 빠른 실시간 서비스