카테고리 없음

데이터는 다 어디에 저장될까 — 데이터베이스 기초 편하게 정리

ondalgirl 2026. 9. 16. 21:07

앱이든 웹사이트든 결국 데이터를 어딘가에 저장해야 하죠. 오늘은 그 "어딘가"에 해당하는 데이터베이스에 대해 편하게 알아볼게요.

데이터베이스가 뭐냐면요

데이터베이스는 말 그대로 데이터가 저장되는 곳이에요. 근데 데이터 성격에 따라 저장 방식이 여러 가지로 나뉘어요. 하나씩 볼게요.

1. 관계형 데이터베이스 (RDB) — 가장 흔한 방식

**RDB(Relational Database)**는 데이터를 테이블(표) 모양으로 저장하는, 제일 흔하게 쓰이는 방식이에요. 테이블끼리 서로 관계를 맺을 수 있어서 '관계형'이라는 이름이 붙었어요.

이 RDB에서 데이터를 CRUD(생성·조회·수정·삭제)하려면 **SQL(Structured Query Language)**이라는 정형화된 문법을 써요.

대표적인 관계형 데이터베이스 제품들은 이래요.

  • MySQL, MariaDB, PostgreSQL (오픈소스)
  • Oracle, DB2 (상용 DB, 유료)

근데 RDB한테도 약점이 있어요. 메일 본문이나 회의록처럼 정형화되지 않은 데이터는 테이블 형태로 저장하기가 힘들어요.

2. NoSQL — 자유로운 형태로 저장하기

이 단점을 보완하려고 등장한 게 NoSQL DB예요. 정해진 표 없이 자유로운 형태로 저장할 수 있어요. 컬럼(필드)이 고정되어 있지 않고, 보통 JSON 구조로 저장돼요.

대표적인 비정형 데이터베이스 제품은 MongoDB, Cassandra 등이 있어요.

3. Memory DB — 속도가 생명일 때

Memory DB는 디스크가 아니라 메모리에 데이터를 저장하는 방식이에요. JSON이랑 비슷한 형태로, key와 value 쌍으로 저장하는 비정형 형태예요.

빨리 읽어야 하는 데이터를 다루는 게 목적이라서, 흔히 **캐시(cache)**를 저장할 때 이 Memory DB를 써요. 대표 제품은 Redis예요.

Data Modeling — 테이블 설계하기

Data Modeling은 테이블의 스키마(구조)를 설계하는 작업이에요. 필드(칼럼), 각 필드의 타입, 기본 키(PK), 유니크 키 같은 걸 정하는 과정이죠.

여러 종류의 키(Key)

  • PK (Primary Key, 기본 키): 데이터마다 다 다른 값을 가지는 키예요. 데이터에 가장 빠르게 접근하기 위한 키죠.
  • UNIQUE KEY: 이것도 데이터마다 다 다른 값을 가지는 키인데, 목적이 조금 달라요. 데이터가 중복되지 않게 막아주는 역할이에요.
  • FK (Foreign Key): 다른 테이블과 연결해주는 키예요.

예를 들어 회원-주문-상품 테이블이 있다면 이런 구조가 될 수 있어요.

 
회원              주문              상품
member_id         order_id          product_id
                  member_id (FK)
                  product_id (FK)

주문 테이블의 member_id, product_id가 각각 회원 테이블·상품 테이블을 가리키는 FK인 셈이에요.

Index — 빠르게 찾기 위한 지름길

자주 조회되는 필드는 따로 **Index(색인)**로 만들어두면 데이터를 훨씬 빠르게 찾을 수 있어요. 여기서 중요한 포인트! Index 테이블 자체에 실제 데이터가 들어있는 게 아니에요. 실제 데이터가 있는 위치를 가리키는 참조 링크 모음집에 가깝다고 보면 돼요. 책 뒤에 있는 "찾아보기(색인)" 페이지랑 비슷한 개념이에요.

자주 쓰는 데이터 타입

  • INT (인티저): 숫자
  • BIGINT: 더 큰 숫자
  • VARCHAR(N): 길이가 고정되지 않은 텍스트. 괄호 안 숫자(N)가 최대 길이를 정해줘요.

정리해볼게요

데이터베이스는 데이터 성격에 따라 골라 쓰는 도구라고 보면 돼요.

  • 표 형태로 딱 떨어지는 데이터 → RDB(SQL)
  • 자유로운 형태의 데이터 → NoSQL
  • 빨리 읽어야 하는 데이터(캐시 등) → Memory DB

그리고 이 데이터들을 효율적으로 관리하려면 PK·UNIQUE KEY·FK 같은 키 설계랑, 자주 찾는 데이터를 위한 Index 설계가 꼭 필요해요.