본문 바로가기
DB & SQL/데이터베이스 개론

데이터베이스 관리 시스템

by k-mozzi 2022. 1. 24.
반응형
Preface

 

오늘은 데이터베이스 관리 시스템이란 무엇인지, 또 어떤 과정을 거쳐 발전했는지를 알아보았다.

 

그동안 나에게 데이터 저장이란 기껏해야 과제로 제출할 문서 몇 가지를 저장하는 것 뿐이었으므로 OS에서 기본적으로 제공하는 파일 시스템만을 사용해왔고, 별다른 불편함을 느낀 경험이 없었다.

 

그러나 이번 장을 통해 대량의 데이터를 파일 시스템에 저장할 때 다양한 문제점이 발생할 수 있다는 것을 알게 되었다.

 

또, 관계 DBMS와 객체 DBMS의 차이점을 이해할 수 없었는데, 한 블로그의 글을 통해 두 개념을 확실히 이해할 수 있게 되었다.

 

관계 DBMS, NoSQL NewSQL 등 앞으로 공부해야 할 데이터베이스 관리 시스템의 종류가 정말 많은 것 같다.

 

블로그 링크: https://chessire.tistory.com/30#comment17199138


 

1. 데이터베이스 관리 시스템의 등장 배경

 

 

- 파일 시스템: 데이터를 파일로 관리할 수 있도록 파일 관련 기능을 제공하며, 운영체제와 함께 설치되는 소프트웨어

1) 응용 프로그램별로 필요한 데이터를 별도의 파일로 관리한다.

2) 응용 프로그래머가 파일의 논리적, 물리적 구조를 정확히 파악해야 한다.

3) 별도의 구매 비용이 들지 않는다.

 

 

- 파일 시스템의 문제점

1) 같은 내용의 데이터가 여러 파일에 중복 저장된다.

→ 저장 공간이 낭비되고, 데이터 일관성과 데이터 무결성을 유지하기 어렵다.

무결성: 데이터의 정확성과 일관성을 유지하고, 데이터에 결손과 부정합이 없음을 보증하는 것

 

2) 응용 프로그램이 데이터 파일에 종속적이다.

→ 데이터 종속성 문제가 발생한다.

데이터 종속성: 데이터의 구성 방법이나 형식, 접근 방법이 변경되면 관련 응용프로그램도 같이 변경되어야 하는 성질

 

3) 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족하다.

→ 중복되는 데이터 파일의 보안을 같은 수준으로 유지하기 어렵고, 데이터를 일관성 있게 회복하기 어렵다.

 

4) 응용 프로그램을 개발하기 쉽지 않다.

 


 

2. 데이터베이스 관리 시스템의 정의

 

 

- 데이터베이스 관리 시스템(DBMS): 파일 시스템의 데이터 중복과 종속성 문제를 해결하기 위해 제시된 소프트웨어

1) 사용하기 쉬운 다양한 인터페이스를 제공한다.

→ 사용자가 응용 프로그램 없이 데이터 처리를 직접 요구할 수 있다.

2) 데이터 독립성이 확보된다. (종속성 문제 해결)

 

 

- DBMS의 주요 기능

1) 정의 기능: DB 구조를 정의하거나 수정할 수 있다.

2) 조작 기능: 데이터를 삽입, 삭제, 수정, 검색하는 연산을 할 수 있다.

3) 제어 기능: 데이터를 정확하고 안전하게 유지할 수 있다.

 


 

3. 데이터베이스 관리 시스템의 장단점

 

 

- DBMS의 장점

1) 데이터를 통합하여 관리하므로 데이터 중복을 통제할 수 있다.

→ 데이터 일관성을 유지할 수 있다.

 

2) 응용 프로그램과 DB 사이에 데이터 독립성이 확보된다.

 

3) 데이터를 동시 공유할 수 있다.

 

4) 데이터 보안이 향상된다.

→ 데이터를 중앙 집중식으로 관리하므로 사용자별로 접근 수준을 차별화할 수 있다.

 

5) 데이터 무결성을 유지할 수 있다.

→ 데이터 중복을 줄여 연산이 수행될 때마다 유효성을 검사할 수 있다.

 

6) 데이터에 접근하는 방법, 데이터 형식과 구조 등을 표준화할 수 있다.

 

7) 장애 발생 시 데이터 일관성과 무결성을 유지하며 회복할 수 있다.

 

8) 응용 프로그램 개발 비용이 줄어든다.

 

 

- DBMS의 단점

1) 비용이 많이 든다.

2) 백업과 회복 방법이 복잡하다.

3) 중앙 집중 관리로 인한 취약점이 존재한다.

 


 

4. 데이터베이스 관리 시스템의 발전 과정

 

 

- 데이터 모델: 데이터를 데이터베이스에 저장하는 구조

 

 

- DBMS 발전 과정


1. 1세대 DBMS

 

- 네트워크 DBMS: DB를 노드와 간선을 이용한 그래프 형태로 구성하는 네트워크 데이터 모델 사용

1) DB의 구조가 복잡하고 변경하기 어렵다.

→ ex) IDS

 

 

- 계층 DBMS: DB를 트리 형태로 구성하는 계층 데이터 모델 사용

1) 현실 세계를 명확한 트리 형태로 표현하기 힘들다.

2) 구조 변경이 어렵다.

→ ex) IMS

 

[ 1세대 DBMS ]

 

 

2. 2세대 DBMS

 

- 관계 DBMS: DB를 테이블 형태로 구성하는 관계 데이터 모델 사용

1) DB를 단순하기 이해하기 쉬운 구조로 구성한다.

2) 현재까지 가장 많이 사용되고 있다.

→ ex) Oracle, MySQL, Access, etc.

 

[ 관계 DBMS의 테이블 예 ]

 

 

3. 3세대 DBMS

 

- 객체지향 DBMS: 객체지향 프로그래밍에서 도입한 객체라는 개념을 이용해 DB를 구성하는객체지향 데이터 모델 사용

1) 더 복잡한 응용 분야의 데이터를 관리하려는 사용자의 니즈를 충족시키기 위해 제안되었다.

2) 새로운 유형의(비정형: 멀티미디어, 사용자 정의 타입 등) 데이터를 저장한다.

3) 데이터에 대한 복잡한 분석 및 처리를 지원한다.

→ ex) O2, ONTOS, GemStone, etc.

 

 

- 객체관계 DBMS: 관계 데이터 모델에 객체지향 개념을 도입한 객체관계 데이터 모델 사용

→ 두 개념을 통합한 것이므로 2세대와 3세대가 공존한다고 볼 수 있다.

 

 

4. 4세대 이후 DBMS

 

- 등장 배경

1) SNS의 폭발적인 이용

→ 비정형 데이터의 대량 생산

2) 클라우트 컴퓨팅, 빅데이터 개념의 등장

→ 관계 DBMS로 대량의 비정형 데이터를 처리하는 데는 한계가 있다.

 

※ SQL: DBMS를 위한 표준 질의어

 

- NoSQL DBMS

1) 관계 DBMS의 강점인 안정성과 일관성 유지를 위한 복잡한 기능을 포함하지 않는다.

2) 데이터 구조를 미리 정해두지 않는다.

→ 비정형 데이터를 저장하고 처리하는 데 적합하며, 확장성이 뛰어나다.

→ ex) 몽고디비, H베이스, 카산드라 등

 

 

- NewSQL DBMS

1) 안정성과 일관성을 유지하며 SQL을 이용해 다양하고 복잡한 데이터 처리를 요청할 수 있다.

2) 정형 및 비정형 데이터를 안정적이고 빠르게 처리할 수 있다.

→ ex) 구글 스패너, 볼트DB, 누오DB 등


 

 

728x90
반응형

'DB & SQL > 데이터베이스 개론' 카테고리의 다른 글

관계 데이터 모델  (0) 2022.02.11
데이터 모델링  (0) 2022.01.31
데이터베이스 시스템  (0) 2022.01.26
데이터베이스 기본 개념  (1) 2022.01.23
데이터베이스 개론 출처  (0) 2022.01.23

댓글