본문 바로가기

데이터베이스

Ch 2. 데이터베이스 관리 시스템

728x90
반응형
SMALL

스스로의 부족함을 절실하게 느끼는 한 주였습니다 ;) 세상은 넓고 고수는 많고, 블루투스 관련 업무를 맡게 되었는데, 진짜 죽을 것 같아요. 맨땅 헤딩 광광이라...CS스터디가 즐겁게 느껴집니다. ㅎㅎㅎ

 

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

기존 시스템의 문제로 인해 새로운 관리 시스템을 필요로 하게 되었습니다.

1. 같은 내용의 데이터가 중복 저장

과거에는 파일 시스템이라는 소프트웨어(정보 처리 시스템)를 이용해 데이터를 관리했고, 필요 데이터에 직접 접근해야만 했습니다. 그렇기에 여러 정보가 중복되는 데이터 중복성(data redundancy)문제가 발생했고, 이로인해 저장 공간의 낭비뿐 아니라 데이터 일관성(data consistancy)과 데이터 무결성(data integrity)을 유지하기 힘들었습니다.

 

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

파일의 구조가 바뀔 경우 종속된 모든 파일이 접근 방법을 바꿔야 했습니다. 데이터 종속성(Data dependency)

 

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

데이터에 대한 사용자에게 접근 권한을 부여할 때, 데이터의 중복으로 인해 모든 파일에 대해 각각 권한을 부여하기 까다롭고 보안 수준을 유지하기도 힘들며 장애 발생시 일관된 상태로 회복하는 것도 어려웠습니다.

 

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

응용프로그램을 개발할 때 데이터에 접근하여 데이터 읽기, 삽입, 삭제 등 기본적 데이터관리 기능을 필요로 했기 때문에 응용프로그램 개발이 어려웠습니다.

 

 

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

파일 시스템의 중복, 데이터 종속을 해결하기 위한 소프트웨어로 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 집중적으로 관리합니다. 때문에 응용프로그램의 읽기, 삽입, 삭제 기능을 분담할 수 있었습니다.

 

데이터베이스 주요 기능

정의 기능 - 데이터베이스 구조를 정이하거나 수정

조작 기능 - 데이터 삽입, 삭제, 수정, 검색하는 연산 

제어 기능 - 데이터를 항상 정확하고 안전하게 유지

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

장점

1. 데이터 중복을 통제할 수 있다.

데이터를 데이터베이스 관리 시스템에서 통합 관리하므로 데이터의 중복을 통제할 수 있습니다.

 

2. 데이터 독립성이 확보된다.

응용프로그램과 별개로 데이터에 대한 접근과, 관리의 모든 역할을 수행하기 때문에 응용프로그램과 데이터베이스 관리 시스템 사이 독립성이 확보됩니다.

 

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

데이터를 여러 응용 프로그램이 공유하여 같은 데이터에 동시 접근할 수 있도록 지원합니다. 따라서 불필요한 데이터 중복을 제한합니다.

 

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

데이터베이스 관리 시스템은 중앙집중식으로 데이터를 관리하기 때문에 데이터에 대한 효율적 접근 제어가 가능합니다. 또한 사용자 별로 접근 가능한 데이터베이스 영역을 제한하거나 접근 수준을 차별화 할 수 있습니다.

 

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

불필요한 데이터의 중복이 없고, 데이터에 대한 연산이 실행될 때마다 유효성 검사를 하여  값의 정확성(accuracy)이 높습니다.

 

6. 표준화할 수 있다.

데이터에 대한 모든 접근을 데이터베이스 관리 시스템에서 통제하므로 접근 방법, 데이터 형식, 구조 등을 표준화하기 쉽습니다. 

 

7. 장애 발생 시 회복이 가능하다.

데이터베이스 관리 시스템은 장애 발생 시 데이터 일관성, 무결성을 유지 하면서 데이터를 장애가 발생하기 이전 상태로 복구하는 회복기능을 제공합니다.

 

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

데이터베이스 관리 시스템이 데이터에 대한 모든 관리를 파일 시스템 대신 하므로 상대적으로 개발 비용이 줄고, 데이터베이스 구조 변경 시에도 응용프로그램은 별도로 변경할 필요가 없기 때문에 유지 보수 비용이 줄어듭니다.

 

 

단점

1. 비용이 많이 든다.

파일 시스템과 다르게 운영체제와 별도로 설치해야하므로 구매비용이 발생하고, 동시 사용 사용자수에 따라 제품가격이 증가하며, 다양한 기능과 복잡성을 가지므로 컴퓨터 자원을 많이 사용한다.

 

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

데이터베이스는 데이터 양이 많아 구조가 복잡하고, 여러 사용자의 동시 공유를 지원하므로 장애 발생시 원인, 상태를 정확하기 어렵다. 따라서 장애 발생 전 백업된 데이터를 일괄된 상태로 회복하는 것이 복잡하다.

 

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

데이터를 집중 관리하므로 데이터베이스 관리 시스템의 의존도가 높기에 시스템 장애시 신뢰성과 가용성에 치명적인 영향을 받는다.

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

 

1세대: 네트워크 DBMS: NDBMS (Network Database Management System), 계층 DBMS: HDBMS (Hierarchical Database Management System)

NDBMS는 간선을 이용해 데이터 간의 관계를 표현하기 때문에 데이터베이스의 구조가 복잡하고 변경하기 어렵습니다.

HDMS는 NDBMS보다 구조가 단순하지만 현실의 모든 부모 자식 관계가 명확한 트리형태만으로 표현하기 힘들고, 구조 변경이 어렵다는 단점이 있습니다.

 

2세대: 관계 DBMS: RDBMS (Relational Database Management System)

RDBMS는 데이터베이스를 단순하고 이해하기 쉬운 구조로 구성한다는 장점이 있습니다. 

 

3세대: 객체 DBMS: ODBMS (Object Database Management System), 객체관계 DBMS: ORDBMS (Object-Relational Database Management System)

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

일반적으로 단순하고 이해하기 쉬운 RDMBS를 많이 사용하지만 ODBMS의 사용도 늘고 있어 2세대와 3세대가 공존하고 있습니다.

 

4세대 이후: NoSQL (Not Only SQL), NewSQL DMBS

비정형 데이터의 증가로 인해 생겼으며, 관계형 데이터베이스의 제약을 벗어나고 다양한 데이터 모델과 스키마를 지원하는 데이터베이스 시스템을 의미합니다.

 

NewSQL: NewSQL 관계형 데이터베이스 관리 시스템(RDBMS) NoSQL 특징을 결합한 형태의 데이터베이스 시스템을 말합니다. NewSQL 관계형 데이터베이스의 표준 SQL 준수하면서 분산 시스템의 확장성과 성능을 제공하는 시스템입니다. NewSQL 새로운 접근 방식을 통해 데이터베이스의 확장성과 성능을 향상시키려는 목표를 가지고 있습니다.

728x90
반응형
LIST

'데이터베이스' 카테고리의 다른 글

Ch 6. 관계 데이터 연산  (0) 2023.07.10
Ch 5. 관계 데이터 모델  (0) 2023.07.08
Ch 4. 데이터 모델링  (0) 2023.07.08
Ch 3. 데이터베이스 시스템  (0) 2023.07.03
데이터베이스 기본 개념  (0) 2023.06.15