데이터 관리 시스템 (DBMS)의 등장 배경
데이터베이스 관리 시스템이 등장하기 이전에는 데이터를 파일 시스템을 이용하여 관리하였다. 파일 시스템은 프로그램별로 필요한 데이터를 별도의 파일로 관리하였고 이는 개발자가 파일의 논리적, 물리적 구조를 정확히 파악하여야 했다.
파일 시스템을 이용했을때 데이터 관리 문제점
- 같은 내용의 데이터가 여러 파일에 중복 저장된다.
- 파일 시스템에서는 응용 프로그램별로 파일을 유지하기 때문에 같은 데이터가 여러 파일에 중복되어 저장될 수 있다. 이러한 방식은 공간의 낭비와 데이터 일관성, 무결성을 유지하기 어렵게 한다.
- 응용 프로그램이 데이터 파일에 종속적이다.
- 응용 프로그램에서 파일에 직접 접근하여 데이터를 처리해야 하므로 데이터 파일의 구조가 바뀌면 응용 프로그램도 그에 맞게 함께 변화해야 한다.
- 데이터 파일에 대한 동시 공유, 보안, 회복이 부족하다.
- 파일 시스템에서는 하나의 응용 프로그램이 파일을 사용중일 때 다른 응용 프로그램이 접근하여 파일을 사용하는 것을 지원하지 않는다.
- 파일 시스템에서는 파일 단위로 읽기, 수정, 실행 권한을 부여하는데 파일보다 더 작은 단위로 권한을 부여하기 어렵고 데이터가 중복된 모든 파일의 권한을 일관되게 관리하기 어렵다.
- 파일 시스템에서는 파일을 사용하는 도중에 장애가 발생하면 데이터를 일관된 상태로 회복하기 어렵다.
- 응용 프로그램을 개발하기 어렵다.
- 파일 시스템에서는 파일에 접근하여 데이터를 관리하는 모든 작업을 응용 프로그램이 담당하기 때문에 파일 제어 기능을 모두 포함하여 개발해야 한다.
데이터베이스 관리 시스템 (DBMS) 의 등장
데이터 관리 시스템은 파일 시스템의 단점을 해결하기 위해 제시된 소프트웨어이다. 데이터 관리 시스템은 응용 프로그램을 대신하여 데이터베이스에 들어 있는 데이터를 삽입, 삭제, 수정, 검색하고 모든 응용프로그램이 데이터베이스를 공유할 수 있게 한다.
데이터베이스 관리 시스템의 주요 기능
- 정의 기능 : 데이터베이스 구조를 정의하거나 수정할 수 있다.
- 조작 기능 : 데이터를 삽입, 삭제, 수정, 검색하는 연산을 할 수 있다.
- 제어 기능 : 데이터를 항상 정확하고 안전하게 유지할 수 있다. 데이터를 여러 사용자가 공유해도 데이터 일관성, 무결성을 유지하며 장애가 발생해도 회복이 가능하게 하며 권한이 있는 사용자에게만 데이터 접근을 허용하여 보안을 유지하게 한다.
데이터 관리 시스템의 장단점
장점
- 데이터 중복을 통제할 수 있다.
- 데이터 독립성이 확보된다.
- 파일 구조가 바뀌더라도 응용프로그램을 수정하지 않아도 됨
- 데이터를 동시 공유할 수 있다.
- 데이터 보안이 향상된다.
- 데이터 무결성을 유지할 수 있다.
- 데이터 무결성은 저장된 데이터 값의 정확성을 의미한다. 데이터 관리 시스템은 데이터에 대한 연산이 수행될 때마다 유효성을 검사하여 데이터 무결성을 유지한다.
- 표준화할 수 있다.
- 데이터에 대한 모든 접근 방법, 형식, 구조등을 표준화할 수 있다.
- 장애 발생 시 회복이 가능하다.
- 응용 프로그램 개발 비용이 줄어든다.
단점
- 비용이 많이 든다.
- 백업과 회복 방법이 복잡하다.
- 중앙 집중 관리로 인한 취약점이 존재한다.
데이터베이스 관리 시스템의 발전 과정
- 1세대 : 네트워크, 계층 DBMS
- 네트워크 DBMS는 데이터베이스를 노드와 간선을 이용한 그래프 형태로 구성하는 네트워크 데이터 모델을 사용한다. 따라서 구조가 복잡하고 변경하기 어렵다. (IDS)
- 계층 DBMS는 데이터베이스를 트리 형태로 구성하는 계층 데이터 모델을 사용한다. 계층 DBMS는 네트워크 DBMS보다 구조가 단순하지만 현실 세계의 모습을 트리 형태만으로 표현하기 힘들고 구조 변경이 어렵다. (IMS)
- 2세대 : 관계 DBMS
- 데이터베이스를 테이블 형태로 구성하는 관계 데이터 모델을 사용한다. 데이터베이스를 단순하고 이해하기 쉬운 구조로 구성한다는 장점이 있다. (오라클, Mysql, 마리아)
- 3세대 객체지향, 객체관계 DBMS
- 객체지향 프로그래밍에서 도입한 객체라는 개념을 이용해 데이터베이스를 구성하는 데이터 모델을 사용한다. 다양하고 복잡한 응용 분야의 데이터를 관리하려는 목적에서 제안되었다. (O2, ONTOS, GemStone)
- 4세대 NoSQL, NewSQL DBMS
- SNS가 인기를 끌면서 비정형 데이터가 대량으로 생산되었고, 클라우드 컴퓨팅, 빅데이터등 새로운 개념이 등장하였다. 관계 DBMS는 대량의 비정형 데이터를 처리하는 데는 비효율적이었으므로 데이터 구조를 미리 정해놓지 않고 안정성, 일관성을 유지를 위한 복잡한 기능을 포기한 NoSQL이 등장하였다. 또한 확장성이 뛰어나 분산 처리에도 알맞다. (몽고DB, H베이스, 카산드라, 레디스, 오리엔트DB)
- 현재 기업에서 DBMS는 목적에 따라 안정성과 일관성이 중요하다면 관계 DBMS를 사용하고 비정형 데이터를 위해서는 NoSQL을 사용하는 등 혼합하여 사용하고 있다. 이 둘의 장점을 섞은 NewSQL(스패너 ,볼트DB, 누오DB) 등이 등장하였지만 아직 널리 쓰이지는 않는다.
Q&A
Q : 파일의 논리적 구조와, 물리적 구조에 대해서 설명해 주세요
A : 논리적 구조는 파일 내부의 데이터를 정의하는 구조입니다. 논리적 구조는 파일에 저장된 데이터를 읽고 쓰는 데 사용됩니다. 물리적 구조는 파일에 저장되는 물리적인 장치 내부의 구조입니다. 물리적 구조는 파일의 데이터가 실제로 어떻게 저장되는지 나타냅니다. 대표적인 물리적 구조로는 블록 단위 저장 방식이 있습니다. 이는 파일을 일정한 크기로 나누어 블록 단위로 저장하여 파일의 데이터를 빠르게 읽고 쓸 수 있습니다. 파일 시스템에서는 논리적 구조로 파일을 관리하면서 물리적 구조로 디스크 드라이브에 데이터를 저장합니다.
출처 : 김연희, 데이터베이스 개론 3판, 한빛아카데미(2022)
'Database' 카테고리의 다른 글
[데이터베이스 개론] Chapter6 - 관계 데이터 연산 (0) | 2023.04.26 |
---|---|
[데이터베이스 개론] Chapter5 - 관계 데이터 모델 (0) | 2023.04.25 |
[데이터베이스 개론] Chapter4 - 데이터 모델링 (0) | 2023.04.20 |
[데이터베이스 개론] Chapter3 - 데이터베이스 시스템 (0) | 2023.04.17 |
[데이터베이스 개론] Chapter1 - 데이터베이스 기본 개념 (0) | 2023.04.17 |