[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의 백업 절차는 복잡하며, 다양한 백업 전략을 수립하고 관리해야 합니다.
- 복구 절차: 장애 발생 시 데이터 복구 절차가 복잡할 수 있으며, 이는 추가적인 시간과 비용이 소요됩니다.
Comments powered by Disqus.