파일 시스템 vs DBMS

jaehun_dev·2022년 10월 27일
0

데이터베이스

목록 보기
1/3

데이터베이스란, 데이터의 집합이다. 이러한 데이터베이스를 관리하는 시스템이 DBMS(Database Management System)이다.

파일시스템 vs DBMS

파일시스템

  • Concurrency Control (동시성 제어): 다수 사용자의 하나의 파일에 대한 동시 작업(동기화)이 불가하다.
  • 데이터 간 불일치: 중복된 데이터의 변경 제어가 어려워, 일부의 데이터만 변경될 수 있다. 따라서 데이터의 불일치가 발생할 수 있다.
  • 쿼리: 지원하지 않는다. 즉 원하는 데이터를 편하게 가져올 수 없다.
  • Recovery: 지원하지 않는다. 데이터에 손상이 생길 경우 복구가 어려울 수 있다.
  • Security & Access Control: 유연하지 못하다. 유저별 파일의 특정 레코드에 대한 접근 권한, 보안 등의 설정이 까다롭다. (파일 단위의 권한 부여만 가능)
  • Data Integrity (데이터 무결성): 파일의 데이터가 지켜야 할 조건들을 일일이 프로그램에 명시해야 하기 때문에 무결성 제약 조건 유지 관리가 어렵다.
  • 데이터 독립성: 데이터 독립성이란 하위 단계의 데이터 구조가 변경되어도 상위 단계에 영향을 미치지 않는 것이다. 파일시스템에서는, 파일의 데이터가 응용 프로그램에 적용이 되어있다. 따라서 파일의 구조가 바뀌면 해당하는 응용 프로그램 역시 모두 수정이 요구된다.

DBMS

  • Concurrency Control (동시성 제어): 다중 사용자의 동시 작업을 트랜잭션 레벨 설정을 통해 지원한다.
  • 쿼리: SQL을 통해 원하는 데이터를 얻을 수 있다.
  • Recovery: Undo, Redo 로그를 통해 회복을 지원한다.
  • Security & Access Control: 유저 (또는 프로그램) 별로 테이블/레코드에 대한 접근 권한 설정이 가능하다.
  • Data Integrity (데이터 무결성): 데이터가 지켜야 할 조건들을 DBMS가 관리해준다.
  • 데이터 독립성: 논리적 데이터 독립성과 물리적 데이터 독립성을 모두 가지고 있다.
    1. 논리적 데이터 독립성: 데이터베이스의 논리적 구조가 변경되더라도 응용 프로그램에 영향을 주지 않는다. 즉 개념 스키마가 변경되어도 외부 스키마(View)에 영향을 미치지 않는다.
    1. 물리적 데이터 독립성: 데이터의 물리적 구조가 변경되더라도 응용 프로그램과 데이터베이스의 논리적 구조에 영향을 주지 않는다. 즉 내부 스키마(Index 등)가 변경되어도 외부 / 개념 스키마에 영향을 미치지 않는다.

스키마

데이터베이스의 구조와 제약조건에 관해 전반적인 명세

  • 외부 스키마(External Schema): 유저가 데이터를 어떻게 보는가 (View)
  • 개념 스키마(Conceptual Schema): 데이터베이스의 전체적인 논리적 구조. 개체간의 관계와 제약조건을 명시한다.
  • 내부 스키마(Physical Schema): 물리적인 저장장치에 DB가 저장되는 방법. (index, unordered 등)

그림 예시

DDL in SQL:
external schema: Create view
logical schema: Create table
phyisical schema: Create index, Create table ... partitioning

데이터 독립성

논리적 독립성: 데이터의 개념 스키마가 변경되어도 외부 스키마에 영향을 미치지 않는다.
물리적 독립성: 데이터의 내부 스키마가 변경되어도 외부, 개념 스키마에 영향을 미치지 않는다.

profile
취업준비생/코딩&프로젝트 같이 하실분 연락주세요

0개의 댓글