카테고리 없음

2024-03-27 [데이터베이스(Database) 보강]

Glen_check 2024. 3. 27. 17:47

전일 데이터베이스 관련 개념을 작성해 보았고, 금일 강의 수강 후 추가적으로 내용을 보강한다.

 

0. 데이터베이스 개요

  • 데이터베이스의 특징
  • 데이터의 대규모 저장소로서, 여러 사용자에 의해 동시에 사용되며, 모든 데이터가 중복을 최소화하면서 통합된다.
  • 데이터베이스는 운영 데이터뿐 아니라 그 데이터에 관한 설명까지 포함 (여기서 설명이란, *데이터베이스 스키마 또는 메타데이터(metadata) 등을 포함)
  • 프로그램과 데이터 간의 독립성이 제공된다.
  • 프로그램 메모리가 아닌 개별적인 저장 공간에 저장되기 때문에 효율적으로 접근이 가능하고 질의를 할 수 있습니다.

1. 데이터베이스 시스템 개요

  • 데이터베이스 스키마
  • 전체적인 데이터베이스 구조를 뜻하며 자주 변경되지 않습니다. (테이블의 컬럼명과 속성을 정의하는 것을 의미)
  • 데이터베이스의 모든 가능한 상태를 사전에 정의
  • 데이터베이스 상태
  • 특정 시점의 데이터베이스의 내용을 의미하며 시간이 지남에 따라 지속적으로 변경됩니다. 데이터베이스 시스템 내 스키마를 선언할 시 데이터베이스를 사용할 수 있는 상태가 되는데, 데이터베이스를 사용하면서 데이터를 추가하거나 삭제, 수정 시마다 변경되는 것을 의미

(데이터베이스 스냅샷의 개념을 함께 알아가는 것이 좋기 떄문에 하단 데이터베이스 스냅샷 관련 내용을 추가)

 

스냅샷(SnapShot)이란?

  • 사진을 찍 듯 특정 시점에 데이터 저장장치의 파일 시스템을 포착해 별도의 파일이나 이미지로 저장하여 보관하는 기술을 의미합니다.스냅샷 기능을 활용 데이터를 저장 시 일정 시점의 데이터베이스 상태를 복구할 수 있습니다.

스냅샷의 이점

  • 스냅샷은 보고 용도로 사용 가능
  • 클라이언트는 데이터베이스 스냅샷을 쿼리할 수 있으므로(스냅샷 활용 이전 데이터베이스를 DBMS로 운용 가능) 스냅샷을 만들 때 데이터를 기반으로 보고서를 작성하는 데 유용합니다.
  • 보고서 생성을 위한 기록 데이터 유지 관리
  • 관리 오류에 대한 데이터 보호
  • 원본 데이터베이스에서 사용자 오류가 발생할 경우 지정된 데이터베이스 스냅샷을 생성했을 때의 상태로 원본 데이터베이스를 되돌릴 수 있습니다.
  • 예를 들어 대량 업데이트 또는 스키마 변경과 같은 주요 업데이트를 수행하기 전, 데이터베이스에서 데이터베이스 스냅샷을 만들어 데이터를 보호합니다. 실수하는 경우 스냅샷을 사용하여 데이터베이스를 스냅샷으로 되돌려 복구할 수 있습니다.

 

2. 파일 시스템 vs DBMS (이전 설명 보강)

  • 파일 시스템을 사용한 기존의 데이터 관리
    • 파일을 접근하는 방식이 응용 프로그램 내 상세하게 표현되므로 데이터에 대한 응용 프로그램의 의존도가 매우 높습니다.
  • 파일 시스템의 단점
    • 다수의 사용자들을 위한 동시성 제어가 제공되지 않습니다. (파일은 DBMS와 다르게 개별적으로 저장되기 때문에 동시성 제어기 어렵습니다.)
    • 검색하려는 데이터를 쉽게 명시하려는 질의어가 제공되지 않습니다.
    • 회복 기능이 없고, 프로그램과 데이터 독립성이 없으므로 유지 보수 비용과 시간이이 많이 소요됩니다.
  • DBMS의 장점
    1. 스키마 정의(데이터베이스의 구조 정의)를 통해
      • 중복성과 불일치(프라이머리 키를 활용하기 때문에)가 감소
      • 표준화를 시행하기가 용이 (스키마를 사전에 정의하며 컬럼을 명시하기 때문에)
      • 조직체의 요구사항을 식별할 수 있습니다.(요구사항이 없는 필드들은 저장하지 않을테니)
    2. 관리도구를 통해
      • 시스템을 개발하고 유지하는 비용이 감소
      • 무결성이 향상
      • 스냅샷 기능을 통해 다양한 유형의 고장으로부터 데이터베이스를 회복 가능
      • 데이터베이스의 공유와 동시 접근이 가능 (* 파일 시스템과 가장 큰 차별점)