Post

DB - 데이터베이스(Database)와 데이터베이스 관리 시스템(DBMS)이란?

DB - 데이터베이스(Database)와 데이터베이스 관리 시스템(DBMS)이란?

데이터베이스(Database)란?

데이터베이스특정 목적을 위한 구조화된 데이터들의 집합을 뜻한다.

개념적인 말로는 어렵지만, 실제로는 어떠한 목적을 위해 데이터를 구조화시킨 것이라면 어떤 것이라도 포괄적으로는 데이터베이스라고 불릴 수 있다.

예시로는 종이, 엑셀(스프레드시트), 텍스트파일(txt) 등이 존재한다.

넓은 의미에서는 종이, 스프레드시트, 텍스트파일 모두 데이터베이스가 될 수 있다고 했지만, 실제로 데이터베이스라는 용어를 사용할 때는 주로 DBMS와 결합된 체계적인 데이터 저장소를 의미한다.

데이터베이스 관리 시스템(DBMS - Database Management System)이란?

DBMS사용자와 데이터베이스 사이에서 사용자의 요구에 맞게 데이터베이스를 관리해주는 소프트웨어를 뜻한다.

파일 시스템과 비교했을 때 DBMS는 사용자가 직접 파일에 접근하는게 아니라 DBMS가 대신 파일에 접근하여 데이터를 효율적으로 저장하고 관리해준다.

DBMS의 역할

  • 데이터 저장: 데이터를 운영체제 위 파일 시스템에 txt, xlsx같은 파일이 아닌 DBMS 고유의 형식과 구조를 가진 파일에 데이터를 효율적으로 저장하고 관리해준다.
    • 이 데이터 파일에 사용자가 접근할 경우 잘못 파일이 손상되면 데이터 뿐만 아니라 DBMS 소프트웨어에도 문제가 생길 수 있기 때문에 주의해야한다.
  • 추상화: 사용자는 DBMS 내부 동작 방식을 알 필요 없이 SQL 같은 표준화된 언어를 통해 데이터를 손쉽게 분석 및 가공이 가능하다.

DBMS의 기능

  • 데이터 정의 기능(DDL): 데이터베이스의 구조를 정의하는 기능을 제공해준다.
  • 데이터 조작 기능(DML): 정의된 데이터베이스 구조에 데이터를 효율적으로 저장, 조회, 수정, 삭제할 수 있도록 하는 기능을 제공해준다.
  • 보안: 각각의 사용자별로 접근 가능한 데이터의 범위를 지정하거나 데이터를 수정 또는 삭제할 수 없도록 제한을 걸 수 있다.
  • 동시성 제어: 서로 다른 사용자가 같은 데이터를 수정 또는 삭제하려할 경우 순서를 제어하거나 Locking을 통해 동시성 문제를 해결해준다.
  • 트랜잭션 관리: 여러 개의 작업을 하나의 논리적 단위(트랜잭션)으로 묶어서 처리해준다.
    • 트랜잭션 성공: commit
    • 트랜잭션 실패: rollback
      • 이와 같은 과정을 통해 데이터의 안정성과 일관성을 보장해주며 이런 특성을 원자성 이라고 한다.
  • 데이터의 중복 최소화 및 무결성 유지: 정규화를 통해 데이터의 중복을 최소화할 수 있으며, 제약 조건을 걸어 데이터의 무결성을 유지할 수 있다.
  • 데이터 복원 및 백업:
    • 사용자의 실수나 시스템 장애로 인한 데이터 유실을 방지하기 위해 DBMS 상에서 주기적으로 데이터를 백업해둔다.
    • 로그 파일을 기록하여 특정 시점에 데이터를 복원해오는 것도 가능하다.

정리

  • 데이터베이스(Database): 특정 목적을 위한 구조화된 데이터들의 집합
  • 데이터베이스 관리 시스템(DBMS): 사용자와 데이터베이스 사이에서 사용자에 요구에 맞게 데이터를 효율적으로 관리해주는 소프트웨어
This post is licensed under CC BY 4.0 by the author.