STUDY

SECTION 4.4 데이터베이스의 종류

Lim임 2026. 3. 18. 13:44

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 자동 생성 (기본키 역할)

유닉스 타임스탬프(4바이트) + 랜덤 값(5바이트) + 카운터(3바이트)

redis

  • 인메모리 데이터베이스 + 키-값 모델 기반

일반 DB는 보통
👉 하드디스크(SSD/HDD)에 저장

근데 인메모리 DB는
👉 메모리에 바로 올려놓고 사용 -> 속도가 진짜 빠름!

 

  • 기본 데이터 타입: 문자열(string), 최대 512MB
  • 이외에도 셋(set), 해시(hash) 등 지원
  • 주요 사용 사례:
    • pub/sub 기반 채팅 시스템
    • 다른 DB 앞단의 캐싱 계층
    • 세션 정보 관리
    • sorted set을 이용한 실시간 순위표

일반 DB는 보통
👉 하드디스크(SSD/HDD)에 저장

근데 인메모리 DB는
👉 메모리에 바로 올려놓고 사용