👔 데이터베이스란 무엇인가?

우리는 그동안 관계형 데이터베이스(RDBMS)를 다음과 같은 방식으로 다뤄왔습니다:

  1. SQL 구문을 통해 데이터를 삽입, 수정, 삭제
  2. 인덱스나 정렬 최적화 등을 활용한 성능 튜닝

그런데 사실상 이러한 실습들은 모두 현상에 불과하며, 왜 그렇게 동작하는가?를 이해하기 위해서는 이론을 알아야 합니다.


📦 비유로 보는 데이터베이스

데이터베이스 = 물류 창고

  • 클라이언트(예: Unity)는 영화를 찍는 것
  • 서버는 식당을 운영하는 것
  • 데이터베이스는? → 물건을 보관하는 물류 창고에 비유할 수 있습니다

슬라이드에서는 직원이 물건을 창고에 맡기고, 고객이 "OK!"를 받는 장면이 묘사되어 있습니다.
즉, DB는 안전하게, 빠르게, 많이 데이터를 저장해야 합니다.


🧩 초일류 DB 시스템의 3요소

1. 많이 처리할 수 있어야 한다

대량의 요청이 와도 시스템이 버벅이지 않고 부드럽게 동작해야 함
병렬 처리(Concurrency)

2. 빠르게 응답해야 한다

직원이 창고에 물건을 맡기고 곧바로 고객에게 OK 응답
응답 속도(Latency 최소화)

3. 안전하게 데이터를 보관해야 한다

갑자기 전원이 꺼져도 데이터는 안전하게 유지
데이터 영속성(Durability)


🔌 RAM vs 디스크: 저장소의 차이

구분RAM (메모리)디스크 (SSD/HDD)
속도빠름 (나노초~마이크로초)느림 (밀리초 단위)
전원 영향꺼지면 데이터 삭제됨 ❌꺼져도 데이터 유지됨 ✅
사용 목적임시 저장, 연산 처리영구 저장소

따라서 “안정성”이 중요하다면 RAM에만 데이터를 두면 안 된다.
디스크에 데이터를 저장해야 한다.


❗ 하지만... 디스크는 너무 느리다!

디스크는 물리적으로 회전하거나 탐색을 해야 하기 때문에,

매번 디스크에 저장하면… 응답 속도가 느려진다!

그래서:

  • 무조건 디스크에 저장하는 방식은 성능에 치명적
  • 그렇다고 무조건 메모리에만 저장하면 안정성 없음

🧠 핵심 요약: DB의 딜레마

데이터를 "안전하게 저장"하려면 반드시 디스크에 써야 하지만,
"빠르게 처리"하려면 메모리에서만 작업하는 게 유리합니다.

속도 vs ✅ 안정성
이 두 마리 토끼를 어떻게 잡을 것인가?


profile
李家네_공부방

0개의 댓글