1. 파일 시스템
- 데이터를 파일로 저장 및 관리하는 시스템을 일컫는다.
- OS에 파일 시스템이 내장되어 있어, 주로 OS가 이를 수행한다.
- 하나의 파일은 주로 하나의 응용 프로그램을 수행한다
- 여러 기능을 구현하고 싶다면, 기능에 맞는 파일들이 필요하다.
- 트리구조의 디렉토리들로 파일들을 저장한다.
- 블록 단위로 파일을 저장한다.
- ex. 10KB의 파일을 4KB 블럭 3개를 할당받아 저장한다.(혹은 남은 블럭 중 2KB 이상을 갖고 있는 거에 저장)
- 파일이 몇 개 없는 초기에는 괜찮을지 모르나, 점점 파일들이 쌓여나가 대용량이 된다면 데이터 중복성이 커져
후에 데이터 불일치가 일어날 수 있다. - 구현과 조작이 비교적 간편하다.
2. 데이터 베이스 시스템
- DBMS를 두어 데이터를 통합 관리하는 시스템을 말한다. 즉, DB System = DB + (응용프로그램 + DBMS) 이다.
- DBMS에게 데이터를 요청하는 쪽을 클라이언트, 실데이터를 갖고 있는 쪽을 서버라고 한다.
- DBMS가 항상 데이터를 관리하며 데이터의 일관성 유지, 복구, 동시적 접근 관리 등의 역할을 수행한다.
- 데이터의 중복을 줄이고 데이터를 표준화 하여 일관성을 유지한다.
- 주요 특징
- 실시간 접근성 - 데이터 베이스는 실시간으로 서비스된다. 수초내로 결과를 서비스한다.
- 계속적인 변화 - 데이터 베이스의 값은 특정 시점이지만 데이터를 업데이트하며 값은 항상 바뀐다.
ex) 이사 가기 전 주소를 저장해뒀다면 DB에는 현 주소가 아닌 전 주소의 시점으로 저장돼있으며 업데이트시 변경된다. - 동시 공유 - 데이터 베이스는 여러 응용프로그램이 동시에 접근하며 공유할 수 있다.
- 값에 따른 참조 - 데이터 베이스에 저장된 데이터는 물리적인 위치가 아니라 값에 따라 참조된다.
ex) id가 'CD_123'인 고객의 정보를 찾는다고 할 때 순차적인 물리적 경로를 따라 탐색하는 파일 시스템과 다르게 id값으로 참조해 찾는다.
3. 파일 시스템과 데이터 베이스 시스템의 차이점
- 저장 형태
- 파일 시스템의 경우 파일의 형태로 트리구조의 디렉토리에 저장한다.
- 데이터 베이스 시스템의 경우 테이블, 컬럼, 로우 등의 규격화된 형태로 데이터들을 저장한다.
- 데이터의 중복 여부
- 파일 시스템의 경우 트리구조의 디렉토리 저장 및 파일간의 명확한 연관관계의 부재로 데이터 중복이 불가피 하여
데이터의 무결성을 지키기 어렵다. - 데이터 베이스 시스템은 무결성 제약조건* 을 준수하여 중복을 피해 데이터의 무결성을 유지한다.
- 파일 시스템의 경우 트리구조의 디렉토리 저장 및 파일간의 명확한 연관관계의 부재로 데이터 중복이 불가피 하여
- 보안
- 파일 시스템의 경우 파일 및 디렉토리의 읽기, 쓰기, 실행등을 관리하고 사용자 및 그룹에 대한 권한을 관리한다.
- 데이터 베이스의 경우 테이블,뷰,프로시저* 같은 데이터베이스 객체의 접근 권한을 관리하고 사용자를 식별하며 사용자 세분화된 권한을 부여 하기위한 인증 및 권한 부여 매커니즘을 갖고 있다.
- 성능과 속도
- 파일 시스템의 경우 적은 규모의 데이터를 다룰 경우 빠른 속도와 좋은 성능을 보이지만 대규모의 데이터를 다룰 경우 좋지 못한 퍼포먼스를 보여준다.
- 데이터 베이스 시스템의 경우 대량의 데이터를 처리할 때 효과적이며, 복잡한 연산과 쿼리를 실행 가능하다.
* 참고
- 무결성 제약조건 - 데이터 베이스의 정확성과 일관성을 보장하기 위해 설정되는 조건
- 개체 무결성 - 기본키의 값은 중복되거나 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 |