🍳

초보 개발자의 일상

공부/데이터베이스 개론

2. 데이터베이스 관리 시스템(DBMS)

dev.jelee 2024. 12. 3. 20:33

이미 정리된 내용을 직접 작성하여 옮기면서 공부하기 위해 글 작성함.


2. 데이터베이스 관리 시스템(DBMS)

2.1 DBMS의 등장 배경 및 정의

  • DBMS의 등장 배경
    • 초기 컴퓨팅 환경에서는 데이터를 파일 시스템(File System)으로 관리했다. 하지만 이 방식은 여러 문제를 야기했다.
      • 데이터 중복: 여러 파일에 동일한 데이터가 중복 저장되어 공간 낭비 발생.
      • 데이터 불일치: 서로 다른 파일에서 동일 데이터가 일치하지 않는 경우 발생.
      • 데이터 무결성 부족: 데이터의 정확성, 일관성을 보장하기 어려움.
      • 보안 문제: 데이터를 효율적으로 보호하기 위한 체계 부족.
      • 프로그램과 데이터의 의존성: 데이터 형식이 바뀌면 애플리케이션 프로그램도 수정해야하는 문제.
    • 이러한 문제를 해결하기 위해 데이터베이스 시스템과 이를 관리하는 **데이터베이스 관리 시스템(DBMS)**가 등장했다.
  • DBMS의 정의
    • DBMS(Database Management System)는 데이터를 저장, 관리, 검색 및 수정하는 데 사용되는 소프트웨어 시스템이다.
    • 사용자와 데이터베이스 간의 인터페이스를 제공하며, 데이터를 효율적으로 관리하고 보호한다.

2.2 DBMS의 장단점

  • 장점
    • 데이터 중복 최소화: 데이터를 중앙에서 관리하여 동일 데이터의 중복 저장을 줄임.
    • 데이터 무결성 유지: 데이터의 정확성과 일관성을 보장.
    • 데이터 독립성 제공: 데이터와 프로그램을 분리하여 데이터 구조 변경이 프로그램에 영향을 미치지 않음.
    • 데이터 보안성 강화: 접근 권한 설정으로 민감한 데이터 보호.
    • 동시성 제어: 여러 사용자가 데이터를 동시에 사용할 수 있도록 지원.
    • 백업과 복구 기능: 데이터 손실 발생 시 복구 기능 제공.
    • 효율적인 질의 처리: 데이터를 빠르게 검색하고 분석할 수 있는 질의(Query) 기능 제공.
  • 단점
    • 비용 문제: DBMS 소프트웨어와 하드웨어 도입 및 유지 비용이 높음.
    • 복잡성: 시스템 설계와 관리가 복잡하며 전문가의 도움이 필요.
    • 과부하: 소규모 애플리케이션에서는 DBMS가 과도한 리소스를 요구할 수 있음.
    • 의존성: 특정 DBMS에 종속되면 다른 DBMS로 전환이 어려울 수 있음.

2.3 DBMS의 발전 과정

  • 1세대: 파일 시스템(File System)
    • 파일 기반 데이터 관리 방식.
    • 데이터 중복과 데이터 종속성 문제가 주요 한계.
    • 예: 초창기 컴퓨터의 텍스트 파일, 스프레드 시트.
  • 2세대: 네트워크와 계층 모델 기반 DBMS
    • 네트워크 모델과 계층 모델로 데이터 구조를 표현.
    • 데이터 간의 관계를 그래프로 나타냄(네트워크) 또는 계층적으로 배치(계층).
    • 예: IMS(계층), IDMS(네트워크).
    • 단점: 구조가 복잡하며, 변경이 어려움.
  • 3세대: 관계형 DBMS(Relational DBMS, RDBMS)
    • 데이터 간의 관계를 테이블 형식으로 표현.
    • SQL(Structured Query Language) 사용으로 데이터 조작 및 검색이 쉬워짐.
    • 높은 데이터 독립성과 무결성 제공.
    • 예: Oracle, MySQL, PostgreSQL.
  • 4세대: 객체 지향 DBMS(Object-Oriented DBMS)
    • 데이터와 객체 지향 프로그래밍을 결합.
    • 객체 단위로 데이터 관리.
    • 예: ObjectStore, db4o.
  • 5세대: NoSQL DBMS
    • 빅데이터와 비구조화된 데이터 처리를 위해 등장
    • 스키마 없이 데이터를 저장하며 수평적 확장이 가능.
    • 예: MongoDB, Cassandra, Redis.
  • 6세대: 클라우드 기반 DBMS
    • 클라우드 환경에서 데이터베이스를 서비스로 제공.
    • 사용량에 따라 비용을 지불하며 확장성과 접근성이 뛰어남.
    • 예: Amazon RDS, Google BigQuery.
  • 예제
  • 관계형 DBMS:
  • 테이블 형식으로 데이터 저장:

  • NoSQL DBMS:
    • { "이름": "홍길동", "나이": 25, "주소": "서울" }

내 생각 정리

[ DBMS의 등장 배경 ]

- 초기 컴퓨팅 환경에서는 데이터를 파일 시스템으로 관리했다. 이 방식에는 여러 문제가 오고 갔다.

1. 데이터 중복

2. 데이터 불일치

3. 데이터 무결성 부족

4. 보안 문제

5. 프로그램과 데이터의 의존성

- 이러한 문제를 해결하기 위해 데이터베이스 시스템과 이를 관리하는 데이터베이스 관리 시스템(DBMS)가 등장했다.

 

[ DBMS의 정의 ]

- DBMS ; Database Management System

- 데이터를 저장, 관리, 검색, 수정하는데 사용되는 소프트웨어 시스템

- 사용자와 데이터베이스 간의 인터페이스를 제공하여, 데이터를 효율적을 관리하고 보호함.

 

[ DBMS의 장단점 ]

- 장점

1. 데이터 중복 최소화

2. 데이터 무결성 유지

3. 데이터 독립성 제공

4. 데이터 보안성 강화

5. 동시성 제어

6. 백업과 복구 기능

7. 효율적인 질의 처리

 

- 단점

1. 비용 문제

2. 복잡성

3. 과부하

4. 의존성

 

[ DBMS의 발전 과정 ]

- 1세대: 파일 시스템(File System)

- 2세대: 네트워크와 계층 모델 기반 DBMS

- 3세대: 관계형 DBMS(Relational DBMS, RDBMS)

- 4세대: 객체 지향 DBMS(Object-Oriented DBMS)

- 5세대: NoSQL DBMS

- 6세대: 클라우드 기반 DBMS