반응형
목차
01. 데이터베이스 관리 시스템의 등장 배경
과거에는 데이터를 관리하기 위해 파일 시스템(file system)이라는 소프트웨어를 이용하였다. 필요한 데이터를 별도의 파일로 관리하는데 별도의 구매 비용이 들지 않는다는 장점이 있지만 응용 프로그램마다 파일을 따로 유지하는 특징 때문에 다음과 같은 문제가 발생한다.
- 같은 내용의 데이터가 여러 파일에 중복 저장된다.
-> 데이터가 중복되면 저장 공간이 낭비될 뿐 아니라 데이터 일광성과 데이터 무결성을 유지하기가 어렵다. - 응용 프로그램이 데이터 파일에 종속적이다.
-> 사용하는 파일의 구조가 변경되면 응용 프로그램도 함께 변경해야 한다. - 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족하다.
- 응용 프로그램을 개발하기 쉽지 않다.
02. 데이터베이스 관리 시스템의 정의
[데이터베이스 관리 시스템 (DBMS: DataBase Management System)
- 파일 시스템의 데이터 중복과 데이터 종속 문제를 해결하기 위해 제시된 소프트웨어
- 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 이에 대한 관리를 집중적으로 담당한다.
데이터베이스 관리 시스템을 사용하면 얻는 이점은 다음과 같다.
- 데이터베이스를 생성하고 접근하며 관리하는 일은 DBMS가 담당한다. 사용자는 DBMS에게 필요한 처리를 요청하면 된다.
- 사용자나 응용 프로그램은 데이터베이스의 물리적 저장 구조나 데이터 접근 및 처리 방법 등을 자세히 알 필요가 없어 부담이 줄어든다.
- 데이터베이스 구조나 접근 방법 등이 변경되어도, 사용자가 미리 알거나 응용 프로그램을 변경할 필요가 없어 데이터 독립성이 확보된다.
DBMS가 제공하는 주요 기능은 다음 세 가지가 있다.
- 정의 기능
-> 조직에 필요한 데이터를 저장하기 적합한 데이터베이스 구조를 정의하거나, 이미 정의된 구조를 수정할 수 있다. - 조작 기능
-> 사용자 요구에 따라 데이터를 삽입/삭제/수정/검색하는 연산을 할 수 있다. - 제어 기능
-> 데이터를 항상 정확하고 안전하게 유지할 수 있다.
03. 데이터베이스 관리 시스템의 장단점
1. 데이터베이스 관리 시스템의 장점
- 데이터 중복을 통제할 수 있다
- DBMS는 데이터베이스에 데이터를 통합하여 관리하므로 데이터 중복 문제를 해결할 수 있다. 또한 효율성 때문에 데이터 중복을 허용하는 경우에도 통제 가능하도록 중복을 최소화하므로 데이터 일관성도 유지할 수 있다. - 데이터 독립성이 확보된다
- DBMS는 응용 프로그램을 대신해서 데이터베이스에 접근하고 이를 관리하는 모든 책임을 지기 때문에 데이터베이스 구조가 변경되어도 응용 프로그램이 영향을 받지 않는다. - 데이터를 동시 공유할 수 있다
- 데이터베이스에 통합된 데이터를 여러 응용 프로그램이 공유하여 같은 데이터에 동시 접근할 수 있도록 지원한다. - 데이터 보안이 향상된다
- DBMS는 데이터베이스를 이용해 데이터를 중앙 집중식으로 관리하므로 데이터에 대한 효율적인 접근 제어가 가능하다. - 데이터 무결성을 유지할 수 있다
- 데이터의 무결성은 저장된 데이터 값의 정확성을 의미한다. DBMS는 데이터에 대한 관리를 집중적으로 수행하면서 데이터에 대한 연산이 수행될 때마다 유효성을 검사하여 데이터 무결성을 유지할 수 있게 해준다. - 표준화할 수 있다
- 데이터에 대한 모든 접근이 DBMS를 통해 이루어지기 때문에 데이터에 접근하는 방법, 데이터 형식과 구조 등을 표준화하기 쉽다. - 장애 발생 시 회복이 가능하다
- DBMS는 장애가 발생해도 데이터 일관성과 무결성을 유지하면서 데이터를 장애가 발생하기 이전 상태로 복구하는 회복 기능을 지원한다. - 응용 프로그램 개발 비용이 줄어든다
- 데이터에 대한 모든 관리를 응용 프로그램 대신 DBMS가 담당하기 때문에 파일 시스템에 비해 응용 프로그램 개발 비용과 유지 보수 비용이 줄어든다.
2. 데이터베이스 관리 시스템의 단점
- 비용이 많이 든다
- 파일 시스템은 운영체제와 함께 설치되므로 따로 구매 비용이 들지 않지만, DBMS는 따로 설치해야 하므로 구매 비용이 많이 든다. 또한 DBMS는 복잡하고 다양한 기능을 제공하기 위해 컴퓨터 자원을 많이 사용한다. - 백업과 회복 방법이 복잡하다
- 데이터양이 많아 구조가 복잡하고, 여러 사용자의 동시 공유를 지원하므로 장애가 발생했을 때 원인과 상태를 정확히 파악하기 어렵다. 그래서 데이터를 백업하고 회복하는 방법이 복잡할 수 밖에 없다. - 중앙 집중 관리로 인한 취약점이 존재한다
- 모든 데이터가 데이터베이스에 통합되어 있고 이를 DBMS가 책임지고 관리하기 때문에, 데이터베이스나 DBMS에 장애가 발생하면 전체 시스템의 업무 처리가 중단된다.
Reference
반응형
'CS > DB' 카테고리의 다른 글
[DB - 데이터베이스 개론] Chapter 05. 관계 데이터 모델 (0) | 2022.01.21 |
---|---|
[DB] 트랜잭션(Transaction)이란? (0) | 2022.01.18 |
[DB - 데이터베이스 개론] Chapter 04. 데이터 모델링 (0) | 2022.01.17 |
[DB - 데이터베이스 개론] Chapter 03. 데이터베이스 시스템 (0) | 2022.01.15 |
[DB - 데이터베이스 개론] Chapter 01. 데이터베이스 기본 개념 (0) | 2022.01.12 |
댓글