01. 데이터베이스 관리 시스템의 등장배경
- 파일 시스템(file system)
- 데이터를 파일로 관리하기 위해 파일을 생성-삭제-수정-검색하는 기능을 제공하는 소프트웨어
- 응용 프로그램별로 필요한 데이터를 별도의 파일로 관리
- 파일 시스템의 문제점
- 같은 내용 데이터가 여러 파일에 중복저장
- 저장공간의 낭비 + 데이터 일관성과 데이터 무결성을 유지하기 어렵다. ex) 연락처를 고객데이터파일에서만 수정하고 실수로 주문데이터 파일에서 수정하지 않는 경우
- 해결? -> 데이터 통합
- 같은 내용 데이터가 여러 파일에 중복저장
- 응용 프로그램이 데이터 파일에 종속적(데이터 종속성)
- 사용하는 파일의 구조를 변경하면 응용 프로그램도 함께 변경해야 한다.
- 데이터 파일에 대한 동시공유, 보안, 회복기능 부족
- 응용프로그램 개발 쉽지 않음
- 데이터베이스 관리 시스템(DBMS : DataBase Management System)
- 파일 시스템의 문제를 해결하기 위해 제시된 소프트웨어
- 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리
02. 데이터베이스 관리 시스템의 정의
- 데이터베이스 관리 시스템에서의 데이터 관리
- 데이터베이스 관리 시스템의 주요 기능
- 정의기능 : 구조를 정의하거나 수정 가능
- 조작기능 : 데이터를 삽입, 삭제, 수정, 검색하는 연산 가능
- 제어기능 : 데이터를 항상 정확하고 안전하게 유지
03. 데이터베이스 관리 시스템의 장단점
- 장점 ;
- 데이터 중복 통제 가능 - 데이터베이스에 데이터를 통합하여 관리 -> 데이터 중복 문제 해결
- 데이터 독립성 확보 - 응용프로그램 대신 데이터베이스에 접근하고 관리하는 모든 책임 담당 -> 응용프로그램과 데이터베이스 사이에 독립성 확보 !
- 데이터 동시 공유 가능 - 동일한 데이터를 여러 응용 프로그램이 공유하여 동시 접근할 수 있게 지원 -> 동시접근제어기술 보유
- 데이터보안 향상 - 중앙 집중식으로 데이터 관리 -> 효율적인 접근 제어 가능 - 권한이 없는 사용자의 접근, 허용되지 않은 데이터와 연산에 대한 요청 차단
- 데이터 무결성 유지 가능 - 데이터 삽입/수정 등의 연산이 수행될때마다 유효성 검사 -> 데이터 무결성(정확성) 유지
- 표준화 가능 - 데이터베이스 관리 시스템이 정한 표준화된 방식을 통해 데이터베이스에 접근
- 장애 발생 시 회복 가능 - 데이터 일관성, 무결성을 유지하며 장애 발생 이전 상태로 데이터를 복구
- 응용 프로그램 개발 비용의 감소 - 파일시스템을 사용할 때보다 데이터 관리 부담이 줄어 응용프로그램 개발비용 및 유지보수 비용의 감소
- 단점 :
- 비용이 많이 듦 - 별도 구매비용이 들고, 동시 사용이 허용되는 사용자 수에 따라 가격증가
- 백업과 회복방법 복잡 - 장애 발생의 원인과 상태를 정확히 파악하기 어려움, 회복 방법도 복잡
- 중앙집중관리로 인한 취약점 존재
- 데이터베이스 or 데이터베이스 관리 시스템에 장애 발생 -> 전체 시스템의 업무처리 중단
- 데이터베이스 의존도가 높은 시스템일수록 가용성, 신뢰성에 치명적
04. 데이터베이스 관리 시스템의 발전과정
- 1세대 : 네트워크 DBMS, 계층 DBMS
- 네트워크 DBMS : 데이터베이스 -> 그래프 형태
- ex) IDS(Integrated Data Store)
- 계층 DBMS : 데이터베이스 -> 트리형태
- ex) IMS(Information Management System)
- 네트워크 DBMS : 데이터베이스 -> 그래프 형태
- 2세대 : 관계 DBMS
- 관계 DBMS : 데이터베이스를 테이블 형태로 구성
- ex) Oracle, MS SQL 서버, 액세스(Access), 인포믹스(Informix), MySQL, 마리아DB
- 관계 DBMS : 데이터베이스를 테이블 형태로 구성
- 3세대 : 객체지향 DBMS, 객체관계 DBMS
- 객체지향 DBMS : 객체를 이용해 데이터베이스 구성
- ex) 오투, 온투스, 젬스톤
- 객체관계 DBMS : 객체지향 DBMS + 관계 DBMS
- ex) 관계 DBMS 제품들이 객체지향 기능을 지원하면서 객체관계 DBMS로 분류되기도 한다. (오라클이 대표적)
- ex) 관계 DBMS 제품들이 객체지향 기능을 지원하면서 객체관계 DBMS로 분류되기도 한다. (오라클이 대표적)
- 객체지향 DBMS : 객체를 이용해 데이터베이스 구성
- 4세대 : NoSQL + NewSQL DBMS
- NoSQL DBMS : 비정형 데이터를 처리하는데 적합하고 확장성이 뛰어나다.
- 안정성과 일관성 유지를 위한 복잡한 기능 포기
- 데이터 구조를 미리 정해두지 않는 유연성을 가진다.
- 여러 대의 컴퓨터에 데이터를 분산하여 저장하고 처리하는 환경에서 주로 사용한다.
- ex) 몽고티비, H베이스, 카산드라, 레디스, 네오포제이, 오리엔트 등
- NewSQL DBMS : 관계 DBMS의 장점 + NoSQL의 확장성 및 유연성
- 정형 및 비정형 데이터를 안정적이고 빠르게 처리 가능
- ex) 구글스패너, 볼트DB, 누오DB
- 정형 및 비정형 데이터를 안정적이고 빠르게 처리 가능
- NoSQL DBMS : 비정형 데이터를 처리하는데 적합하고 확장성이 뛰어나다.
'CS > 데이터베이스' 카테고리의 다른 글
[데이터베이스] ch03. 데이터베이스 시스템 (0) | 2025.04.22 |
---|---|
[데이터베이스] ch01. 데이터베이스 기본 개념 (0) | 2025.04.22 |
[데이터베이스] ch05. 관계 데이터 모델 (0) | 2025.03.26 |