[NoSQL] - 빅데이터 때문에... PostGre, MongoDB
2025. 9. 4. 11:36ㆍDB/POSTGRE
비정형, 정형으로 나눌수 있음.. 하지만, Oracle 등 자료형이 다름...
관계형 데이터베이스 vs NoSQL 무엇을 쓰는게 좋은지?
밑에 이미지 읽기전에
다음과 같이 정의 내릴 수 잇습니다.
핵심 차이점
SQL (관계형 DB)
- 스키마 구조 필수
- 부모-자식 관계(외래키) 강제
- 데이터 정규화 (중복 최소화)
sql
-- 부모 테이블
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(100)
);
-- 자식 테이블 (참조 관계)
CREATE TABLE orders (
id INT PRIMARY KEY,
user_id INT,
FOREIGN KEY (user_id) REFERENCES users(id) -- 관계 강제
);
NoSQL (MongoDB)
- 스키마 자유로움
- 참조 관계 없음 (또는 선택적)
- 데이터 비정규화 (중복 허용)
javascript
// 관계 없이 한 문서에 모두 포함
{
"_id": ObjectId("..."),
"name": "홍길동",
"orders": [ // 중첩해서 저장
{ "order_id": 1, "product": "노트북" },
{ "order_id": 2, "product": "마우스" }
]
}
// 또는 참조를 쓰더라도 강제가 아님 (권장사항일 뿐)
{
"user_id": "user123", // 관계 강제 안됨
"product": "노트북"
}
비유하자면
SQL: 엄격한 가족관계 등록 시스템 (호적)
- 부모-자식 관계 명확히 정의
- 규칙 위반하면 에러
NoSQL: 자유로운 메모장
- 관계 있든 없든 자유롭게 작성
- 중복되든 말든 상관없음
정리: 맞습니다! "관계(참조) 강제 여부"가 가장 큰 차이입니다.



sequence 또는 auto increament 와 같은 것이 Serial primary key 에서 Serial 이다. pk에 넣으면 자동 증감
