데이터 베이스 시스템과 파일 시스템

2024. 10. 31. 19:48·DB

 

1. 파일 시스템

  • 데이터를 파일로 저장 및 관리하는 시스템을 일컫는다.
  • OS에 파일 시스템이 내장되어 있어, 주로 OS가 이를 수행한다.
  • 하나의 파일은 주로 하나의 응용 프로그램을 수행한다
    • 여러 기능을 구현하고 싶다면, 기능에 맞는 파일들이 필요하다.
  • 트리구조의 디렉토리들로 파일들을 저장한다.
  • 블록 단위로 파일을 저장한다.
    • ex. 10KB의 파일을 4KB 블럭 3개를 할당받아 저장한다.(혹은 남은 블럭 중 2KB 이상을 갖고 있는 거에 저장)
  • 파일이 몇 개 없는 초기에는 괜찮을지 모르나, 점점 파일들이 쌓여나가 대용량이 된다면 데이터 중복성이 커져
    후에 데이터 불일치가 일어날 수 있다.
  • 구현과 조작이 비교적 간편하다.

 

2. 데이터 베이스 시스템

 

  • DBMS를 두어 데이터를 통합 관리하는 시스템을 말한다. 즉, DB System = DB + (응용프로그램 + DBMS) 이다.
  • DBMS에게 데이터를 요청하는 쪽을 클라이언트, 실데이터를 갖고 있는 쪽을 서버라고 한다.
  • DBMS가 항상 데이터를 관리하며 데이터의 일관성 유지, 복구, 동시적 접근 관리 등의 역할을 수행한다.
  • 데이터의 중복을 줄이고 데이터를 표준화 하여 일관성을 유지한다.
  • 주요 특징
    1. 실시간 접근성 - 데이터 베이스는 실시간으로 서비스된다. 수초내로 결과를 서비스한다.
    2. 계속적인 변화 - 데이터 베이스의 값은 특정 시점이지만 데이터를 업데이트하며 값은 항상 바뀐다. 
      ex) 이사 가기 전 주소를 저장해뒀다면 DB에는 현 주소가 아닌 전 주소의 시점으로 저장돼있으며 업데이트시 변경된다.
    3. 동시 공유 - 데이터 베이스는 여러 응용프로그램이 동시에 접근하며 공유할 수 있다.
    4. 값에 따른 참조 - 데이터 베이스에 저장된 데이터는 물리적인 위치가 아니라 값에 따라 참조된다.
      ex) id가 'CD_123'인 고객의 정보를 찾는다고 할 때 순차적인 물리적 경로를 따라 탐색하는 파일 시스템과 다르게 id값으로 참조해 찾는다.

 

3. 파일 시스템과 데이터 베이스 시스템의 차이점

  1. 저장 형태
    • 파일 시스템의 경우 파일의 형태로 트리구조의 디렉토리에 저장한다.
    • 데이터 베이스 시스템의 경우 테이블, 컬럼, 로우 등의 규격화된 형태로 데이터들을 저장한다.
  2. 데이터의 중복 여부
    • 파일 시스템의 경우 트리구조의 디렉토리 저장 및 파일간의 명확한 연관관계의 부재로 데이터 중복이 불가피 하여
      데이터의 무결성을 지키기 어렵다.
    • 데이터 베이스 시스템은 무결성 제약조건* 을 준수하여 중복을 피해 데이터의 무결성을 유지한다. 
  3. 보안
    • 파일 시스템의 경우 파일 및 디렉토리의 읽기, 쓰기, 실행등을 관리하고 사용자 및 그룹에 대한 권한을 관리한다.
    • 데이터 베이스의 경우 테이블,뷰,프로시저* 같은 데이터베이스 객체의 접근 권한을 관리하고 사용자를 식별하며 사용자 세분화된  권한을 부여 하기위한 인증 및 권한 부여 매커니즘을 갖고 있다.
  4. 성능과 속도
    • 파일 시스템의 경우 적은 규모의 데이터를 다룰 경우 빠른 속도와 좋은 성능을 보이지만 대규모의 데이터를 다룰 경우 좋지 못한 퍼포먼스를 보여준다.
    • 데이터 베이스 시스템의 경우 대량의 데이터를 처리할 때 효과적이며, 복잡한 연산과 쿼리를 실행 가능하다.

 

 

* 참고

  • 무결성 제약조건 - 데이터 베이스의 정확성과 일관성을 보장하기 위해 설정되는 조건
    • 개체 무결성 - 기본키의 값은 중복되거나 Null값을 가질 수 없다.
    • 키 무결성 - 각 릴레이션은 최소한 한 개 이상의 키를 가져야 하며, 키는 튜플을 식별할 수 있는 값이어야 한다.
    • 참조 무결성 - 참조되는 값은 참조 테이블의 키 값이거나 Null 값이어야 한다.
    • 도메인 무결성 - 각 속성의 값은 도메인에 속한 값이어야 한다.
    • 고유 무결성 - 특정 속성에 대해 고유한 값을 갖도록 설정한 경우 해당 속성의 값은 고유하도록 해야한다.
      ex) 학생의 나이와 학과는 같을 수 있으나, 학번은 모두 달라야한다.
    • Null 무결성 - 특정 속성에 Null을 허용하지 않은 경우 Null을 사용할 수 없다.
      ex) 회원가입 시 휴대폰 번호를 반드시 입력해야하는 경우
  • 프로시저 - 컴퓨터 프로그래밍에서 특정 작업을 수행하기 위해 일련의 명령어들을 모아 놓은 것을 말한다.

'DB' 카테고리의 다른 글

MySQL Server  (0) 2024.11.01
RDBMS (Relationa DataBase Management System)  (0) 2024.11.01
데이터 베이스 키(key)  (1) 2024.11.01
3단계 데이터 베이스 구조  (0) 2024.10.31
데이터베이스 관리 시스템(DataBase Management System, DBMS)  (0) 2024.10.31
'DB' 카테고리의 다른 글
  • RDBMS (Relationa DataBase Management System)
  • 데이터 베이스 키(key)
  • 3단계 데이터 베이스 구조
  • 데이터베이스 관리 시스템(DataBase Management System, DBMS)
CoMeangMeangIn
CoMeangMeangIn
코딩하는 코맹맹이
  • CoMeangMeangIn
    CoMeangMeangIn
    CoMeangMeangIn
  • 전체
    오늘
    어제
    • 분류 전체보기 (22)
      • java (3)
        • spring (1)
        • build (1)
      • DB (16)
      • 알고리즘 (1)
      • 회고 (1)
      • git (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
CoMeangMeangIn
데이터 베이스 시스템과 파일 시스템
상단으로

티스토리툴바