데이터베이스 · L0 입문 · 약 7분
SQL vs NoSQL 감 잡기
칸이 정해진 서류함 vs 자유로운 서류봉투
한 줄로 말하면
SQL 데이터베이스는 칸이 정해진 표에 데이터를 넣고, NoSQL 데이터베이스는 모양이 자유로운 덩어리(문서)로 데이터를 넣어.
SQL: 정해진 표와 관계
- 표(테이블)로 저장. 열마다 값의 종류가 정해져 있어
- 설계도(스키마)를 먼저 정하고, 거기 맞는 데이터만 받아
- 표끼리 연결(관계)하기가 쉬워. "회원 ↔ 주문 ↔ 상품"
- 대표 선수: Postgres(Supabase가 이걸 써), MySQL, SQLite(폰 안에서도 씀)
회원(users)
id | 이름 | 도시
7 | 민지 | 서울
주문(orders)
id | 회원id | 상품 | 가격
101 | 7 | 운동화 | 39000
102 | 7 | 양말 | 5000
NoSQL: 자유로운 문서
- 문서(JSON 같은 덩어리)로 저장. 문서마다 모양이 달라도 돼
- 관련 정보를 한 문서 안에 통째로 넣는 경우가 많아
- 대표 선수: Firestore(Firebase), MongoDB, 그리고 키-값 저장소인 Redis(주로 캐시용)
{
"id": "minji",
"name": "민지",
"city": "서울",
"orders": [
{ "item": "운동화", "price": 39000 },
{ "item": "양말", "price": 5000 }
]
}
그래서 뭘 골라?
- SQL이 잘 맞아: 회원·주문·결제처럼 서로 얽힌 데이터, 정확성이 중요한 돈 관련 데이터, 다양한 조건으로 검색·통계가 필요한 경우
- NoSQL이 잘 맞아: 모양이 제각각인 데이터, 읽는 방식이 단순하고 정해져 있는 경우, 실시간 동기화가 핵심인 경우(Firestore)
- 고민되면: 대부분의 앱은 SQL(Postgres)로 시작해도 충분해. Postgres는
jsonb라는 열로 자유로운 문서도 일부 담을 수 있어
확인 퀴즈
Q. Supabase가 쓰는 데이터베이스는?
- Firestore
- MongoDB
- Postgres
- Redis
정답 보기
3번. Supabase는 Postgres라는 SQL 데이터베이스를 중심으로 만들어졌어.
Q. 회원·주문·상품이 서로 얽혀 있고, 다양한 조건으로 검색해야 해. 더 잘 맞는 건?
- SQL 데이터베이스
- 문서형 NoSQL
- 엑셀 파일
- 메모장
정답 보기
1번. 관계가 많고 다양한 검색이 필요하면 표와 관계를 다루는 SQL이 잘 맞아.
Q. "NoSQL은 설계가 필요 없다"는 말에 대해 맞는 건?
바코친 앱에서 퀴즈 풀고 AI한테 물어보기- 맞다, 아무렇게나 넣으면 된다
- 틀리다, 어떻게 읽을지 먼저 생각해서 설계해야 한다
- NoSQL은 데이터를 저장하지 않는다
- NoSQL은 SQL보다 항상 빠르다
정답 보기
2번. NoSQL은 설계 방식이 다를 뿐이야. 읽는 방식(접근 패턴)을 먼저 정하고 문서 모양을 설계해야 해.
무료 · 카카오로 바로 시작 · 레슨 243개