데이터베이스(Database, DB)

김현정·2025년 3월 20일
post-thumbnail

데이터베이스(Database, DB)란?

데이터베이스를 한 마디로 정의하면 '데이터의 집합'이라고 할 수 있다.

여러 사람이 공유하고 사용할 목적으로 한 곳에서 관리되는 데이터의 조직화된 집합으로, 데이터를 소프트웨어에서 효율적으로 관리하기 위한 저장소이다.

  • 데이터베이스 관리 시스템(DBMS)에 의해 제어된다.

데이터베이스 관리시스템(DBMS)

데이터베이스를 관리하고 운영하는 시스템

  • 데이터를 정의, 저장, 검색, 수정, 삭제하는 등의 작업을 효율적으로 수행할 수 있게 해준다.
  • 다수의 사용자들이 동시에 데이터에 접근하고, 데이터를 안전하게 관리할 수 있도록 다양한 기능을 제공한다.
  • SQL이라는 언어로 DBMS에 데이터 관리를 요청하면 DBMS가 요청을 처리한다.


(출처 : https://hongong.hanbit.co.kr/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-databasedb-dbms-sql%EC%9D%98-%EA%B0%9C%EB%85%90/)

DBMS의 주요 기능

  1. 데이터 정의
  • 데이터베이스 구조를 정의할 수 있는 기능을 제공한다.
  1. 데이터 관리
  • 데이터를 물리적으로 저장하고, 관리하는 역할을 수행한다.
  • 데이터를 저장하기 위한 최적화된 구조와 파일 시스템을 관리합니다.
  • 사용자가 데이터를 다룰 수 있도록 쿼리 언어(SQL)을 제공한다.
  1. 데이터 보안
  • 사용자 권한 관리, 암호화, 감사 로그 등을 통해 데이터를 보호한다.
  1. 트랜잭션 관리
  • DBMS는 여러 사용자가 동시에 데이터에 접근할 때, 데이터의 일관성을 유지하기 위한 트랜잭션 관리기능을 제공한다.
  • ACID 속성 보장
    • Atomicity: 트랜잭션의 모든 작업이 성공적으로 완료되거나, 실패 시 모든 작업이 롤백
    • Consistency: 트랜잭션이 데이터베이스를 일관된 상태로 유지
    • Isolation: 동시에 실행되는 트랜잭션 간의 영향을 최소화
    • Durability: 트랜잭션이 완료된 후 데이터의 변경 사항은 영구적으로 저장
  1. 백업 및 복구
  • DBMS는 데이터 손실에 대비해 백업 및 복구 기능을 제공한다.
  • 정기적인 백업을 통해 데이터를 보호하며 장애 발생 시 데이터 복구가 가능하다.
  1. 동시성 제어
  • 다수의 사용자가 동시에 데이터베이스에 접근하더라도 데이터 일관성이 유지되도록 동시성 제어를 제공한다. 이를 통해 충돌이나 데이터 불일치를 방지할 수 있다.

DBMS의 종류

  1. 관계형 DBMS(RDBMS) 중요!
  • 가장 많이 사용하는 데이터베이스
  • 데이터를 테이블 형태로 구조화하여 저장하고 관리하는 시스템이다.
  • 테이블 간의 관계를 이용해 데이터를 연결한다.
    ex) Oracle, MySQL, PostgreSQL, Microsoft SQL Server 등
  1. 비관계형 DBMS(NoSQL)
  • 테이블이 아닌 key-value, document, graph 등의 다양한 형태로 데이터를 저장하고 관리한다.
  • 스키마가 고정되지 않고, 대규모 데이터 처리와 높은 확장성을 제공한다.
    ex) MongoDB, Cassandra, Redis 등
  1. 다중 모델 DBMS
  • 하나의 데이터베이스 관리 시스템에서 여러 데이터 모델을 지원하는 시스템이다.
  • 동일한 DBMS에서 관계형 데이터뿐만 아니라 문서형, 그래프형 데이터를 함께 관리할 수 있다.

ex) Amazon DynamoDB, Microsoft Azure Cosmos DB 등

0개의 댓글