4.4.1 관계형 데이터베이스 (RDBMS)
행과 열을 가지는 표 형식 데이터를 저장하며 SQL로 조작하는 데이터베이스
- 대표 제품: MySQL, PostgreSQL, Oracle, SQL Server, MSSQL
- 각 제품마다 표준 SQL 외에 자체 SQL을 사용
- Oracle → PL/SQL
- SQL Server → T-SQL
- MySQL → SQL
MySQL
- 현재 가장 많이 사용하는 데이터베이스 (스택오버플로우 2021 기준 1위)
- 메타, 트위터 등 대형 기업에서 사용
- C, C++로 개발
- 주요 기능: MyISAM 인덱스 압축, B-트리 기반 인덱스, 스레드 기반 메모리 할당, 최대 64개 인덱스
- 롤백, 커밋, 이중 암호 지원 보안 제공
- 쿼리 캐시 지원: 동일한 쿼리 재요청 시 구문 분석·최적화·실행을 건너뛰고 캐시 결과 반환
- 모듈식 스토리지 엔진 아키텍처: 데이터 웨어하우징, 트랜잭션, 고가용성 처리에 강점
PostgreSQL
- MySQL 다음으로 개발자들이 선호하는 데이터베이스
- 특징: VACUUM (디스크 조각 영역 회수 장치)
- 최대 테이블 크기: 32TB
- SQL 외에도 JSON으로 데이터 접근 가능
- 지정 시간 복구, 로깅, 접근 제어, 중첩 트랜잭션, 백업 지원
4.4.2 NoSQL 데이터베이스
"Not only SQL" — SQL을 사용하지 않는 데이터베이스
MongoDB
- JSON으로 데이터 접근, BSON(Binary JSON) 형태로 저장
- 기본 스토리지 엔진: 와이어드타이거(WiredTiger) -> 키-값 모델에서 확장된 도큐먼트 기반 데이터베이스
- 빅데이터 저장 성능 우수, 고가용성·샤딩·레플리카셋 지원
- 스키마 없이 데이터 삽입 가능 → 로깅, 다양한 도메인 분석에 강점
- 도큐먼트 생성 시 ObjectID 자동 생성 (기본키 역할)

redis
- 인메모리 데이터베이스 + 키-값 모델 기반
일반 DB는 보통
👉 하드디스크(SSD/HDD)에 저장
근데 인메모리 DB는
👉 메모리에 바로 올려놓고 사용 -> 속도가 진짜 빠름!
- 기본 데이터 타입: 문자열(string), 최대 512MB
- 이외에도 셋(set), 해시(hash) 등 지원
- 주요 사용 사례:
- pub/sub 기반 채팅 시스템
- 다른 DB 앞단의 캐싱 계층
- 세션 정보 관리
- sorted set을 이용한 실시간 순위표
일반 DB는 보통
👉 하드디스크(SSD/HDD)에 저장
근데 인메모리 DB는
👉 메모리에 바로 올려놓고 사용
'STUDY' 카테고리의 다른 글
| SECTION 4.6 조인의 종류 4.7 조인의 원리 (0) | 2026.03.18 |
|---|---|
| SECTION 4.5 인덱스 (1) | 2026.03.18 |
| SECTION 4.3 트랜잭션과 무결성 (0) | 2026.03.10 |
| SECTION 4.2 ERD와 정규화 과정 (0) | 2026.03.10 |
| 코드 리팩토링 - 멘토님의 조언을 적용해보자 (0) | 2026.02.12 |