Post

[DB 데이터베이스] DBMS의 개념 및 장단점

DBMS란? (Database Management System)


DBMS데이터베이스를 관리해주는 시스템 입니다.

즉, 응용 프로그램들이 데이터베이스를 공유하며 사용할 수 있는 환경을 제공하는 소프트웨어 입니다.

DB 구성, 정의, 유지 및 쿼리 언어 지원 등의 DB를 사용하기 위한 작업들을 관리합니다.


1. DBMS 언어


DDL (Data Definition Language) = 데이터 정의어


데이터베이스 스키마를 정의하고, DB 구조를 구축 및 수정하는데 사용하는 언어입니다.

주로 테이블, 인덱스, 스키마 등 데이터베이스 객체를 생성, 변경, 삭제하는 작업을 수행합니다.

CREATE: 새로운 데이터베이스 객체(테이블, 인덱스 등)를 생성합니다.

DROP: 기존 데이터베이스 객체를 삭제합니다.

ALTER: 기존 데이터베이스 객체의 구조를 수정합니다.

CREATE INDEX: 검색 속도를 높이기 위해 인덱스를 생성합니다.


DML (Data Manipulation Language) = 데이터 조작어


사용자가 데이터를 처리 및 조작하기 위해 사용하는 언어입니다.

주로 데이터를 조회, 삽입, 갱신, 삭제하는 작업을 수행합니다

SELECT: 데이터베이스에서 데이터를 조회합니다.

INSERT: 데이터베이스에 새로운 데이터를 삽입합니다.

UPDATE: 데이터베이스의 기존 데이터를 수정합니다.

DELETE: 데이터베이스의 기존 데이터를 삭제합니다.


DCL (Data Control Language) = 데이터 제어어


데이터베이스 트랜잭션을 명시하고, 데이터에 대한 접근 권한을 부여하거나 취소하는 데 사용하는 언어입니다.

주로 데이터 보안, 무결성, 병행 수행 제어 등을 정의합니다.

COMMIT: 트랜잭션의 모든 변경 사항을 확정하고, 데이터베이스에 반영합니다.

ROLLBACK: 트랜잭션의 모든 변경 사항을 취소하고, 이전 상태로 되돌립니다.

GRANT: 사용자에게 데이터베이스 객체에 대한 특정 권한을 부여합니다.

REVOKE: 사용자에게 부여된 특정 권한을 취소합니다.


이렇게 DDL, DML, DCL을 통해 데이터베이스를 정의하고, 데이터를 조작하며, 데이터베이스의 무결성과 보안을 유지할 수 있습니다.

이를 통해 데이터베이스 관리자가 데이터베이스를 효율적으로 운영할 수 있습니다.


2. DBMS의 장점


1) 데이터 중복 및 불일치 최소화

  • 데이터 중복 최소화: DBMS는 데이터의 중앙 집중 관리를 통해 데이터 중복을 최소화합니다. 동일한 데이터를 여러 파일에 중복 저장할 필요가 없어 스토리지 공간을 절약할 수 있습니다.
  • 데이터 불일치 감소: 중앙 집중화된 데이터베이스를 사용하면 동일한 데이터가 여러 곳에서 다르게 저장되어 발생하는 불일치 문제를 줄일 수 있습니다.

2) 데이터의 표준화

  • 데이터 형식 통일: DBMS는 데이터를 표준 형식으로 저장하여 데이터의 일관성을 유지합니다. 이를 통해 데이터 입력과 검색 시 오류를 줄일 수 있습니다.
  • 표준 프로토콜 준수: 다양한 표준 프로토콜을 사용하여 데이터 관리와 처리의 일관성을 보장합니다.

3) 데이터의 보안 향상

  • 접근 제어: DBMS는 사용자 권한 관리 기능을 제공하여, 권한이 없는 사용자가 데이터에 접근하거나 수정하는 것을 방지합니다.
  • 암호화 및 감사 로그: 데이터를 암호화하여 보호하고, 접근 및 수정 이력을 기록하여 보안을 강화합니다.

4) 데이터의 일관성 및 무결성 유지

  • 트랜잭션 관리: DBMS는 트랜잭션 관리 시스템을 통해 데이터 일관성과 무결성을 유지합니다. 모든 트랜잭션은 원자성, 일관성, 고립성, 지속성을 보장합니다. (ACID 특성)
  • 참조 무결성: 데이터베이스 내의 테이블 간의 관계를 정의하고 유지하여 참조 무결성을 보장합니다.

5) 다양한 유형의 장애로부터 DB 복구 가능

  • 백업 및 복구 시스템: DBMS는 주기적인 백업과 복구 기능을 제공하여, 시스템 장애나 데이터 손실 시 신속하게 복구할 수 있습니다.
  • 재해 복구 계획: DBMS는 재해 복구 계획을 포함하여, 물리적 또는 논리적 손상으로부터 데이터를 보호합니다.

6) 시스템 개발 및 유지보수 비용 절감

  • 재사용성 및 모듈화: 표준화된 데이터 모델과 쿼리 언어를 사용하여 시스템 개발이 용이하며, 유지보수가 간편해집니다.
  • 효율적 데이터 관리: DBMS를 사용하면 데이터의 저장, 검색, 갱신, 삭제 등의 작업이 효율적으로 관리되어, 전체적인 시스템 운영 비용이 절감됩니다.

7) 동시 접근 가능

  • 동시성 제어: 여러 사용자가 동시에 데이터에 접근할 수 있도록 동시성 제어를 통해 데이터 일관성을 유지합니다.
  • 성능 최적화: DBMS는 다중 사용자 환경에서 성능을 최적화하기 위한 다양한 기법을 제공합니다.


3. DBMS의 단점


1) 높은 비용 및 고급 인력 필요

  • 비용: DBMS를 도입하고 유지하는 데 상당한 비용이 발생합니다. 라이선스 비용, 하드웨어 비용, 소프트웨어 업그레이드 비용 등이 포함됩니다.
  • 전문 인력: DBMS를 관리하고 운영하기 위해서는 고도의 전문 지식과 경험이 필요한 인력이 필요합니다.

2) 자료 처리의 복잡화

  • 복잡성 증가: DBMS는 다양한 기능과 복잡한 구조를 가지고 있어, 이를 효과적으로 활용하기 위해서는 복잡한 설정과 관리가 필요합니다.
  • 복잡한 쿼리: 대규모 데이터베이스에서는 복잡한 쿼리와 데이터 처리 로직이 필요할 수 있습니다.

3) 복잡한 백업 및 복구

  • 백업 관리: DBMS의 백업 절차는 복잡하며, 다양한 백업 전략을 수립하고 관리해야 합니다.
  • 복구 절차: 장애 발생 시 데이터 복구 절차가 복잡할 수 있으며, 이는 추가적인 시간과 비용이 소요됩니다.


This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.