1. 관계형 데이터베이스 (RDBMS)
관계형 데이터베이스는 데이터를 테이블 형태로 구조화하고, 테이블 간의 관계를 기본 키와 외래 키를 통해 정의하는 데이터베이스이다.
- 정규화 : 데이터의 중복을 최소화하기 위해 정규화 과정을 거쳐 테이블을 분리하고 관리한다.
- 스키마 : 데이터의 구조와 타입이 테이블 생성 시 명확하고 고정적으로 정의되어야 한다.
- ACID : 원자성, 일관성, 격리성, 지속성의 트랜잭션 속성을 준수한다.
- 확장성 : 수직적 확장에 유리하며, 수평적 확장에는 제한적이다.
| 종류 | 설명 |
| MySQL | 가장 널리 사용되는 오픈 소스 RDBMS 중 하나. 웹 애플리케이션 백엔드에서 폭넓게 사용되며, 안정성과 성능이 검증되었다. |
| PostgreSQL | 객체-관계형 데이터베이스로 불리며, 복잡한 쿼리와 데이터 타입, 높은 동시성 처리에 강점이 있다. 데이터 무결성과 표준 SQL 준수율이 높다. |
2. NoSQL 데이터베이스
NoSQL 데이터베이스는 관계형 모델의 제약에서 벗어나, 데이터의 유연성과 대규모 분산처리에 중점을 둔 데이터베이스이다. 데이터 구조가 유동적이며, 웹과 모바일 환경의 빠른 변화와 대용량 트래픽 처리에 적합하다.
- 유연한 스키마 : 데이터의 구조가 고정되어 있지 않아 데이터 추가 및 변경이 자유롭다.
- 수평적 확장성 : 서버를 추가하는 방식으로 성능을 쉽게 확장할 수 있어 대규모 트래픽 처리에 유리하다.
- BASE 원칙 : BASE 원칙을 따르며, 일시적인 데이터 불일치를 감수하더라도 높은 가용성을 우선한다.
- 다양한 모델 : 저장하는 데이터 형태에 따라 여러 모델로 나뉜다.
| 종류 | 설명 |
| MongoDB | JSON과 유사한 BSON 문서 형태로 데이터를 저장한다. RDMBS와 유사하게 복잡한 데이터를 구조화할 수 있으며, 유연한 스키마를 제공하여 개발 속도가 빠르다. |
| Redis | 키와 값의 쌍으로 데이터를 저장한다. 데이터를 메모리에 저장하여 빠른 읽기/쓰기 속도를 제공한다. 캐싱, 세션 관리 등 빠른 응답 속도가 필요한 곳에 사용된다. |
'CS 스터디' 카테고리의 다른 글
| 4-6. 조인의 종류 - 내부 조인, 왼쪽 조인, 오른쪽 조인, 합집합 조인 (0) | 2025.11.28 |
|---|---|
| 4-5. 인덱스 - 인덱스의 필요성, B-트리, 인덱스 최적화 기법 (0) | 2025.11.28 |
| 4-3. 트랜잭션과 무결성 - 트랜잭션, 무결성 (0) | 2025.11.27 |
| 4-2 ERD와 정규화 과정 - ERD의 중요성, 정규화 과정 (0) | 2025.11.27 |
| 4-1. 데이터베이스의 기본 - 엔터티, 릴레이션, 속성, 도메인, 필드와 레코드, 관계, 키 (0) | 2025.11.27 |