백엔드에서 사용되는 데이터베이스(database) 기본 개념을 설명합니다~

·2025년 2월 24일

필수영상

목록 보기
34/40

백엔드에서 사용되는 데이터베이스(database) 기본 개념을 설명합니다~ 중요한 DB 용어들을 잘 알고 있어야 기본기를 탄탄하게 다지는데 도움이 되겠죠? :)

백엔드 개발을 하다 보면 데이터베이스(Database, DB) 개념을 반드시 이해해야 합니다.
데이터베이스를 정확히 알지 못하면 효율적인 데이터 저장, 관리, 조회를 하는 데 어려움을 겪을 수 있기 때문에!

제가 본 영상에서는 데이터베이스의 기본 개념부터 DBMS, 메타데이터, 데이터 모델, 스키마와 상태(schema & state) 등의 개념을 정리하고 쉽게 설명해주고 있습니다.


database(DB)란?

  • 전자적으로 저장되고 사용되는 관련있는 데이터들의 조직화된 집합.

이렇게 설명하면 이해하기 어려울 수 있으니 한 부분씩 천천히 살펴보겠습니다.

관련있는 데이터들은 무엇을 의미하는가?

소셜 네트워크 서비스(예: 페이스북, 인스타그램, 스레드)를 사용한다고 가정해봅시다.

  • 내가 사진을 올린다.
  • 친구가 내 게시물에 댓글을 단다.
  • DM을 주고받는다.

이 모든 것들이 하나의 서비스 안에서 생성되고 사용되는 데이터입니다.
같은 서비스에서 생성되는 연관된 데이터들을 우리는 "관련 있는 데이터들" 이라고 부릅니다.

조직화된 집합이란?

책을 아무렇게나 쌓아둔다면 원하는 책을 찾기가 어렵겠죠?
하지만 책장에 카테고리별로 정리하면 원하는 책을 쉽게 찾을 수 있습니다.

데이터베이스도 마찬가지입니다.

잘 정리된 데이터 → 검색 속도가 빠름
중복된 데이터 방지 → 데이터 무결성 유지
데이터를 체계적으로 정리하는 것이 "조직화된 집합"이라는 개념입니다.

전자적으로 저장된다는 의미?

데이터가 컴퓨터(디지털 환경)에서 저장되고 사용될 때 우리는 이를 "전자적으로 저장되고 사용된다" 라고 합니다.
데이터베이스는 단순한 데이터 모음이 아니라 이를 전자적으로 저장하고 효율적으로 관리하는 시스템입니다.

DBMS (database management systems)

  • 사용자에게 DB를 정의하고 만들고 관리하는 기능을 제공하는 소프트웨어 시스템

대표적인 DBMS는 PostgreSQL, MySQL, 오라클 등이 있습니다.
이 DBMS를 통해 개발자는 데이터를 정의하고, 저장하고, 검색하고, 관리할 수 있습니다.

여기서 DB를 정의하다 보면 부가적인 데이터가 발생할 수도 있어요.
부가적인 데이터를 뭐라고 부르냐면 metadata 라고 부릅니다.

metadata

  • 데이터를 설명하는 데이터
  • catalog 라고도 부른다!

예시

사진을 찍으면? → 사진 데이터
사진의 정보는? → 해상도, 촬영 시간, 위치 정보 (이게 메타데이터!)

메타데이터는 데이터 자체가 아니라 데이터를 설명하는 추가적인 정보입니다.
이러한 메타데이터도 DBMS가 함께 관리합니다.

메타데이터의 예시

데이터의 유형 (정수, 문자열, 날짜 등)
데이터베이스의 구조
제약 조건 (Primary Key, Foreign Key 등)
보안 정보
저장 방식
사용자 그룹

database system

  • 데이터베이스(DB) + DBMS + 연관된 애플리케이션을 포함하는 개념

단순히 데이터베이스만을 의미하는 것이 아니라 이를 관리하는 DBMS 및 그와 연결된 모든 애플리케이션까지 포함하는 개념입니다.
❗ 문맥에 따라 Database가 Database System을 의미할 수도 있으니 주의해야 합니다!

Database System 동작 방식

백엔드 개발에서 가장 중요한 개념 중 하나는 DB 시스템이 어떻게 동작하는지입니다.
전체적인 동작 과정은 아래와 같습니다.

1. 사용자 → 프로그램 → DBMS

  • 사용자가 웹사이트나 앱을 사용합니다.
  • 사용자가 원하는 데이터를 요청합니다. (예: 게시글 목록 보기)
  • 애플리케이션(백엔드 서버)이 해당 요청을 처리하기 위해 SQL 쿼리를 생성합니다.

2. DBMS → 데이터 처리

  • 백엔드 서버에서 보낸 SQL 쿼리를 DBMS가 분석합니다.
  • 메타데이터를 참고하여 필요한 데이터가 어디에 있는지 확인합니다.
  • 필요한 데이터를 검색하여 가져옵니다.

3. DBMS → 프로그램 → 사용자

  • 가져온 데이터를 애플리케이션(백엔드 서버)로 전달합니다.
  • 애플리케이션이 받은 데이터를 가공하여 사용자에게 전달합니다.
  • 사용자는 화면에서 요청한 데이터를 확인할 수 있습니다!

이 과정이 DB 시스템이 작동하는 기본 원리입니다.

❗ 쿼리

데이터베이스에 데이터를 요청하거나 수정하기 위해 사용하는 명령어

Data Model(데이터 모델)이란?

  • 데이터베이스를 구조적으로 표현하는 방식.

데이터를 효과적으로 저장하고 관리하기 위해 데이터 모델을 사용합니다.

데이터 모델의 3가지 종류

1. Conceptual Data Model (개념적 모델)

  • 사람이 이해하기 쉽게 고수준 개념으로 표현

2. Logical Data Model (논리적 모델)

  • 데이터베이스가 실제로 어떤 구조로 저장될지 표현
  • Relational Data Model(관계형 모델)이 가장 많이 사용됩니다.

3. Physical Data Model (물리적 모델)

  • 데이터가 하드웨어에서 실제로 어떻게 저장될지 설명

Schema(스키마) & State(상태)

schema

데이터 모델을 기반으로 데이터베이스의 구조를 기술한 것

  • 데이터베이스의 설계 구조를 의미
  • 데이터의 속성(컬럼), 관계 등을 정의
  • 한 번 정해지면 자주 바뀌지 않음

이미지로 예를 들자면
relational data model에서의 데이터베이스 스키마입니다.
데이터베이스의 데이터를 나타내는 student와 book이 있고, 각각의 데이터에는 어떤 속성을 가지는지 기술이 되어 있습니다.

state

현재 특정 시점의 데이터베이스의 상태

  • 데이터는 실시간으로 변경됩니다.
  • 특정 시점의 데이터베이스 상태를 Database State 또는 Snapshot이라고 합니다.

Schema는 변하지 않는 구조, State는 시간이 지나면서 변화하는 데이터라고 이해하면 쉽습니다.

0개의 댓글