데이터베이스 관리 시스템

데이터베이스 관리 시스템 등장 배경
[파일 시스템]

과거에는 데이터를 관리하기 위해 파일 시스템 소프트웨어를 이용하였다.
- 데이터를 파일로 관리하기 위해 파일의 생성, 삭제, 수정, 검색 기능을 제공하는 소프트웨어다.
- 응용 프로그램마다 필요한 데이터를 별도 파일로 관리한다.
- 데이터 중복성과 데이터 중속성 문제가 발생한다.
데이터베이스 관리 시스템 정의
[데이터베이스 시스템]

- 파일 시스템의 문제를 해결하기 위해 제시된 소프트웨어이다.
- 조직에 필요한 데이터를 데이터베이스에 통합하여 저장해두고 이를 관리한다.
[데이터베이스 관리 시스템의 주요기능]
- 정의 기능 : 데이터베이스의 구조를 정의하거나 수정한다.
- 조작 기능 : 데이터를 삽입,삭제,수정 검색하는 연산을 한다.
- 제어 기능 : 데이터를 항상 정확하고 안정하게 유지한다.
데이터베이스 관리 시스템 장,단점
[장점]
- 데이터 중복 통제
- 데이터 독립성 확보
- 데이터 동시 공유
- 데이터 보안 향상
- 데이터 무결성 유지
- 표준화
- 장애 발생 시 복구가능
- 응용 프로그램 개발 비용 감소
[단점]
- 유지비용 증가
- 백업과 회복 방법 복잡
- 중앙 집중 관리로 인한 취약점 존재
데이터베이스 관리 시스템 발전 과정

[1세대 데이터베이스 관리 : 네트워크, 계층 DBMS]
계층 DBMS : IBM의 IMS (Information Management System)
네트워크 DBMS : CODASYL DBTG 모델을 기반으로 한 시스템들
- 특징 : 레코드 간의 관계를 포인터를 사용하여 표현하며, 계층적이거나 네트워크 구조로 데이터를 구조화한다.
- 한계점 : 유연성이 떨어지고, 복잡한 데이터 모델링이 어려움
[2세대 데이터베이스 관리 시스템 : 관계 DBMS]
Oracle, Microsoft SQL Server, IBM DB2, PostgreSQL, MySQL 등
- 특징 : 테이블(릴레이션) 형태로 데이터를 저장하며, SQL(Structured Query Language)을 사용하여 데이터에 접근한다.
- 장점 : 데이터의 논리적 및 물리적 독립성, 데이터 무결성, 데이터 보안 및 표준화 등의 기능 제공
[3세대 데이터베이스 관리 시스템 : 객체지향, 객체관계 DBMS]
객체지향 DBMS : O2, ObjectStore 등
객체관계 DBMS : Oracle (오라클은 객체 기능을 관계형 데이터베이스에 추가한 형태로 제공)
- 특징 : 객체지향 프로그래밍의 개념을 데이터베이스에 도입하여, 데이터와 연산을 하나의 객체로 묶어 관리한다.
- 장점 : 복잡한 데이터 구조와 관계를 표현할 수 있음
[4세대 데이터베이스 관리 시스템 : NoSQL, NewSQL DBMS]
NoSQL :
- Document DB : MongoDB, CouchDB
- Column-strore : Cassandra, HBase
- Key-Value store : Redis, Riak
- Graph DB : Neo4j, OrientDB
NewSQL : Google Spanner, CockroachDB, VoltDB
- 특정 : 빅데이터, 분산 컴퓨팅, 클라우드 인프라 등의 필요성에 의해 탄생, 스키마 없는 구조, 수평적 확장, 높은 가용성
- 장점 : 대량의 데이터를 빠르게 처리할 수 있으며, 유연한 데이터 모델링 및 높은 확장성 제공
출처 : 데이터베이스 개론 3판, 김연희 저자 한빛아카데미
데이터베이스 개론 | 김연희 - 교보문고
데이터베이스 개론 |
product.kyobobook.co.kr
'DB > 데이터베이스 개론' 카테고리의 다른 글
| [DataBase] 관계 데이터 연산 (0) | 2023.10.19 |
|---|---|
| [DataBase] 관계 데이터 모델(Relational Data Model) (0) | 2023.10.19 |
| [DataBase] 데이터 모델링(Data Model) (0) | 2023.10.15 |
| [DataBase] 데이터베이스 시스템 (0) | 2023.10.09 |
| [DataBase] 데이터베이스 기본 개념 (0) | 2023.10.07 |