IT/Database

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

AGCP 2020. 12. 18. 11:56

전 글인 데이터베이스 기본 개념을 숙지하고 보는 것을 추천한다. 데이터베이스라는 것이 필요하다라는 것, 그게 무엇인지까지는 저번 글에서 설명한 바 있다. 하지만, 데이터베이스는 데이터의 집합일 뿐이다. 이걸 어떻게 사용할 것이고, 어떻게 데이터를 관리할 것인지에 대해 간단하게 알아보겠다.


  1   데이터베이스 관리 시스템의 정의

데이터베이스 등장 이전에는 파일 시스템이라는 정보 처리 시스템으로 정보들을 관리하였다. 그러나, 이 파일 시스템은 데이터 중복성과 데이터 종속성이라는 근본 원인으로 인해 많은 어려움을 겪었다. 데이터베이스 관리 시스템(DBMS)는 이러한 어려움을 해결하기 위한 대책안이였다. 즉, DBMS는 데이터 중복성과 데이터 종속성을 해결했다는 것이다.

DBMS는 조직에 필요한 데이터를 데이터베이스 통합하여 저장하고, 이에 대한 관리를 집중적으로 담당한다. 특히, 응용 프로그램을 대신하여 데이터베이스에 존재하는 데이터의 검색-삽입-삭제-수정을 가능하게 하고, 데이터베이스를 쉽게 접근할 수 있도록 도움을 준다.

즉 DBMS가 데이터베이스를 생성하고 접근하고 관리하는 일은 모두 담당한다는 것이다. 따라서 사용자가 원하는 데이터가 무엇인지만 명시해주고 이외에 데이터베이스와 관련된 작업은 DBMS에게 맡기면 된다. 이러한 DBMS의 편리함 덕분에 사용자가 데이터베이스 물리적 저장 구조나 데이터 접근 및 처리 방법 등을 자세히 알 필요가 없어졌다. 또한, 데이터베이스의 구조나 접근 방법 등이 변경되어도 사용자가 미리 알거나 응용 프로그램을 변경할 필요가 없어 데이터 독립성 또한 확보된다.

DBMS는 데이터의 검색-삽입-삭제-수정을 아래와 같은 기능을 통해 지원한다.

1) 정의 기능 : 데이터베이스 구조를 정의하거나 수정할 수 있다.
2) 조작 기능 : 데이터를 삽입-삭제-검색하는 연산을 할 수 있다.
3) 제어 기능 : 데이터를 항상 정확하고 안전하게 유지할 수 있다.


이러한 기능을 비절차적 언어인 SQL문을 통해 사용자가 쉽게 사용할 수 있다. 이에 대한 내용을 나중에 정리하여 따로 업로드하도록 하겠다.


  2   데이터베이스 관리 시스템의 특성

DBMS의 특성에 대해 간단히 알아보도록 하겠다. 아래는 DBMS의 특성 중 장점과 단점에 해당하는 부분을 기재한 내용이다.

데이터베이스 관리 시스템의 특성(장점)
1) 데이터 중복 통제
- 같은 내용의 데이터가 여러 파일에 중복 저장될 수 있다.

2) 데이터 독립성 확보
- 데이터에 접근하는 방법이나 저장 구조가 변경되더라도 응용 프로그램이 영향을 받지 않는다.

3) 데이터 동시 공유
- 여러 사용자들이 공유하여 같은 데이터에 동시 접근할 수 있다.

4) 데이터 보안성 향상
- 데이터베이스를 통해 중앙 집중식으로 데이터를 관리하므로 데이터에 대한 효율적인 접근 제어가 가능하고, 권한에 따라 허용되지 않은 접근을 사전에 차단할 수 있다.

5) 데이터 무결성 유지
- 데이터에 대한 관리를 집중적으로 DBMS에서 수행한다. 특히, 데이터에 대한 연산이 수행될 때마다 유효성을 검사하여 데이터 무결성을 유지할 수 있도록 해준다.

6) 데이터 표준화
- 데이터에 대한 모든 접근이 DBMS를 통해 이루어지기 때문에 데이터 접근 방법 및 데이터 형식(구조) 등을 표준화하기 쉽다.

7) 회복 및 백업 용이
- 데이터베이스의 데이터를 처리할 때 다양한 장애가 발생할 수 있는데, 이를 대비하여 DBMS는 장애 발생 이전 상태로 복구하는 회복 기능을 지원한다.

8) 응용 프로그램 개발비 절감
- 데이터에 대한 모든 관리를 DBMS이 담당하기 때문에 응용 프로그램 개발비를 절감할 수 있다.

데이터베이스 관리 시스템의 특성(단점)
1) 큰 비용 소모
- DBMS는 별도 구입 비용이 소비되기 때문에 주의해야 한다. 특히, 사용자 수에 따라 제품 가격이 증가할 수 있다.
 

2) 백업 및 회복 방법이 복잡
- 데이터베이스는 데이터의 양이 많아 구조가 복잡하고, 여러 사용자의 동시 공유를 지원하여 장애가 발생하였을 때이 원인과 상태를 정확히 파악하기 어렵다. 따라서 데이터를 정기적으로 백업해놓고 회복하는 방법 밖에 없다.

3) 중앙 집중 관리로 인한 취약점
- 모든 데이터가 데이터베이스에 통합되어 있고 이에 대한 관리 책임이 DBMS에 집중되어 있기 때문에 해킹으로 인해 DBMS 관리자 계정을 탈취 당하면 모든 데이터가 손상 입을 수 있다. 더불어, DB 서버에 장애가 발생하면 전체 시스템의 업무에 큰 지장을 준다.


  3   DBMS의 종류

DBMS의 종류로는 네트워크 DBMS, 계층 DBMS, 관계 DBMS, 객체 지향 DBMS, NoSQL 등 정말 많지만 관계 DBMS를 제일 많이 사용하고 있기 때문에 이를 중점으로 앞으로 글을 작성할 예정이다.

관계 DBMS
관계 DBMS는 테이블 형태의 구조(관계 데이터 모델)로 사용된다. 관계 데이터 모델은 데이터베이스를 직관적으로 이해하기 쉽도록 구성한다는 장점이 있다. 덕분에 관계 DBMS가 많이 발전하게 되었다. 대표적인 관계 DBMS로는 오라클, MS SQL, 액세스, 인포믹스, MySQL 등이 있다.

관계 DBMS의 구조 예시 자료 (출처 : 네이버)


오늘도 긴 글 읽어주셔서 감사합니다.
공감 버튼 꼭 눌러주세요!