데이터베이스 관리시스템의 등장 배경
- 파일 시스템(file system) : 데이터를 파일로 관리하기 위해 파일을 생성, 삭제, 수정, 검색하는 기능을 제공하는 소프트웨어. 응용 프로그램마다 필요한 데이터를 별도의 파일로 관리함.
- 파일 시스템의 문제점
- 같은 내용의 데이터가 여러 파일에 중복 저장된다
(** 데이터 중복성 문제 발생) - 응용 프로그램이 데이터 파일에 종속적이다
- 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족하다
- 응용 프로그램 개발이 쉽지 않다
(** 데이터 종속성 문제 발생)
- 같은 내용의 데이터가 여러 파일에 중복 저장된다
- 파일 시스템의 주요 문제점
- 같은 내용의 데이터가 여러 파일에 중복 저장된다 -> 데이터 중복성
저장 공간의 낭비는 물론, 데이터 일관성과 데이터 무결성을 유지하기가 어려움
(**일관성: 중복된 데이터가 서로 다른 값을 갖게 되는 것. 회원 정보를 담고 있는 storage와 주문 정보를 담고 있는 storage가 있다고 할 때, 휴대폰 번호를 바꾸게 되었다면 주문 정보에만 수정을 하고 회원 정보의 번호를 바꾸지 않게 된다면, 같은 사람인데 서로 다른 정보를 갖게 되는 데이터 불일치가 나타나게 됨 -> 데이터의 일관성이 깨졌다고 할 수 있음)
(**무결성: 데이터베이스를 무결하게 유지하는 것. 모든 것을 포괄하는 개념)
(**어떻게 보면 일관성이 무결성에 포함된다고 볼 수도 있음) - 응용 프로그램이 데이터 파일에 종속적이다 -> 데이터 종속성
사용하는 파일의 구조를 변경하면 응용 프로그램도 함께 변경해야 함
- 같은 내용의 데이터가 여러 파일에 중복 저장된다 -> 데이터 중복성
- 파일 시스템의 문제점
데이터베이스 관리시스템의 정의
- DBMS (DataBase Management System): 파일 시스템의 문제를 해결하기 위해 제시된 소프트웨어. 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리함.
(** 데이터베이스 관리 시스템은 응용 프로그램을 대신하여 데이터베이스에 존재하는 데이터의 검색/삽입/삭제/수정을 가능하게 하고 모든 응용 프로그램이 데이터베이스를 공유할 수 있게 한다.) - 데이터베이스 관리 시스템의 주요 기능
- 정의 기능: 데이터베이스 구조를 정의하거나 수정할 수 있다.
- 조작 기능: 데이터를 삽입/삭제/수정/검색하는 연산을 할 수 있다.
- 제어 기능: 데이터를 항상 정확하고 안전하게 유지할 수 있다.
데이터베이스 관리 시스템의 주요 기능 = 정의 기능 (Definition; DDL) , 조작 기능 (Manipulation; DML) , 제어 기능 (Control; DCL)
- 데이터베이스 관리시스템의 장단점
- 장점
- 데이터 중복을 통제할 수 있다
- 데이터 독립성이 확보된다
- 데이터를 동시 공유할 수 있다
- 데이터 보안이 향상된다
- 데이터 무결성을 유지할 수 있다
- 표준화할 수 있다
- 장애 발생 시 회복이 가능하다
- 응용 프로그램 개발 비용이 줄어든다
- 단점
- 비용이 많이 든다
- 백업과 회복 방법이 복잡하다
- 중앙 집중 관리로 인한 취약점이 존재한다
- 장점
(** 데이터 보안이 향상된다 - 중앙 집중 관리로 인한 취약점이 존재한다
: DBMS는 데이터베이스를 싸고 있고 다양한 무결성을 유지한다. 애초에 보안 기능이 있다 -> 보안이 향상
: 데이터를 모두 모아놔서 해킹당하면 중앙 집중 관리로 인해 데이터가 모두 날라가고 복원할 방법이 없다 -> 중앙 집중 관리로 인한 취약점 존재 -> 해결방법 : 백업 ==> 중복)
데이터베이스 관리시스템의 발전과정
- 1세대: 네트워크 DBMS, 계층 DBMS
- 네트워크 DBMS: 데이터베이스를 graph형태로 구성
- 계층 DBMS: 데이터베이스를 tree형태로 구성
- 2세대: 관계 DBMS (RDBMS)
- 데이터베이스를 테이블 형태로 구성
- 데이터베이스를 테이블 형태로 구성
- 3세대: 객체지향 DBMS, 객체관계 DBMS
- 객체지향 DBMS: 객체를 이용해 데이터베이스를 구성
- 객체관계 DBMS: 객체 DBMS + 관계 DBMS
(객체 지향이 담는 컨셉을 투영하여 객체지향 DBMS를 만들었지만 시장에서는 인기가 없었음. 또 거기서 만든게 객체관계 DBMS였는데, 이것도 시장에서 점유율이 없었다고 함)
- 4세대: NoSQL, NewSQL DBMS
- NoSQL(Not only SQL) DBMS: 비정형 데이터(빅데이터)를 처리하는데 적합하고 확장성이 뛰어남
- 안정성과 일관성 유지를 위한 복잡한 기능을 포기
(** 안정성과 일관성이 없는 대신 유연성과 확장성을 챙김) - 데이터 구조를 미리 정해두지 않은 유연성
- 확장성이 뛰어나 여러 대의 서버 컴퓨터에 데이터를 분산하여 저장하고 처리하는 환경에서 주로 사용
- ex. 몽고디비, H베이스, 카산드라, 레디스, 네오포제이, 오리엔트 등
(** 관계 DBMS와는 다른 비관계형 DBMS)
- 안정성과 일관성 유지를 위한 복잡한 기능을 포기
- NewSQL DBMS: 관계 DBMS의 장점 + NoSQL의 확장성 및 유연성
(** 안정성과 일관성을 유지하면서도 SQL을 이용해 다양하고 복잡한 데이터 처리를 편하게 요청할 수 있다. 즉, 관계 DBMS의 장점과 NoSQL의 확장성 및 유연성을 모두 지원한다. 따라서, 정형 및 비정형 데이터를 모두 안정적이고 빠르게 처리할 수 있는 장점을 가진다.)
- ex. 구글 스페너, 볼트DB, 누오DB
- NoSQL(Not only SQL) DBMS: 비정형 데이터(빅데이터)를 처리하는데 적합하고 확장성이 뛰어남
'데이터베이스' 카테고리의 다른 글
[데이터베이스론] 6장. 관계 데이터 연산 (0) | 2024.04.12 |
---|---|
[데이터베이스론] 5장. 관계 데이터 모델 (0) | 2024.04.11 |
[데이터베이스론] 4장. 데이터 모델링 (0) | 2024.04.11 |
[데이터베이스론] 3장. 데이터베이스 시스템 (0) | 2024.04.10 |
[데이터베이스론] 1장. 데이터베이스 기본개념 (0) | 2024.04.10 |