로고로고

데이터베이스란

2025년 10월 30일

데이터 베이스란?

데이터베이스는 다수의 사용자 또는 시스템이 정형화된 데이터를 체계적으로 저장, 조회, 수정, 삭제할 수 있도록 설계된 정보 저장소이다.

 

 

데이터베이스의 핵심 개념

 

  • DBMS
    • Database Management System. 데이터베이스를 운영, 관리하기 위한 소프트웨어.
    • 예: MySQL, PostgreSQL, Oracle, MongoDB 등
  • 스키마
    • 데이터베이스 구조 정의. 테이블, 컴럼, 관계, 제약조건 등의 메타데이터로 구성
  • 쿼리(Query)
    • 사용자가 DB와 통신할 때 사용하는 명령어.
    • 예 : SQL
  • 트랜잭션
    • 하나의 작업 단위를 의미
    • 원자성, 일관성, 고립성, 지속성, 보장
  • 인덱스
    • 조회 성능 향상을 위해 사용하는 자료구조
  • 정규화
    • 중복 최소화와 데이터 무결성 유지를 위한 테이블 분리 기법

 

 

웹 개발에서의 데이터베이스 사용 흐름

  1. 클라이언트 요청 : 사용자가 웹에서 버튼 클릭 or 폼 제출
  2. 서버 처리 : 백엔드에서 요청을 수신, DB에 쿼리를 실행
  3. 쿼리 전송 : SQL 혹은 ORM을 통해 DB에 데이터 요청
  4. DB 응답 : DB가 요청에 맞는 데이터를 반환
  5. 응답 처리 : 백엔드에서 가공 후 클라이언트에 응답

 

 

관계형 vs 비관계형 데이터베이스

 

  • 관계형 데이터베이스 (RDBMS)
    • 구조 : 행과 열 기반의 테이블 구조
    • 특징 : 스키마 명확, SQL 사용, 관계 기반 설계
    • 예 : MySQL, PostgreSQL, Oracle, MSSQL
    • 장점
      • 데이터 무결성과 일관성 확보
      • 복잡한 JOIN 및 트랜잭션 처리에 유리
    • 단점
      • 스키마 유연성 부족
      • 수평 확장에 제약

 

  • 비관계형 데이터베이스 (NoSQL)
    • 구조 : 문서, 키-갑(Key - Value), 그래프, 컬럼 등 다양한 형태
    • 특징 : 스키마-less, 유연한 구조
    • 예 : MongoDB, Redis, Cassandra, Firebase
    • 장점
      • 수평 확장 용이
      • 유연한 스키마 설계
    • 단점
      • 트랜잭션 처리 어려움
      • JOIN 연산 부재 또는 제한적