| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- crackme
- python
- 파일 시스템
- operating system
- AWS 보안 아키텍처 분석
- C
- network
- CrackMe 문제
- reversing.kr
- 프로그래머스
- AWS 침해 사고 사례 분석
- 버퍼 오버플로우
- AWS 침해사고 사례 분석
- 네트워크
- TryHackMe
- AWS
- AWS 3 Tier Architecture
- 드림핵
- 악성코드 분석
- 운영체제
- Database
- dreamhack
- AWS 사고 사례 분석
- terraform
- 리버싱
- Amazon S3
- 악성코드분석
- sql
- reversing
- programmers
- Today
- Total
lhywk 님의 블로그
[DB] 파일 시스템과 DBMS 본문
1. 데이터를 저장하는 방법
컴퓨터에 데이터를 저장하는 방법은 크게 파일 시스템을 이용하는 방법과 데이터베이스 시스템을 이용하는 방법으로 나뉜다.
파일 시스템을 이용한 저장
파일 시스템은 운영체제가 제공하는 가장 기본적인 데이터 저장 방식이다. 데이터를 파일이라는 단위로 만들어서 디스크에 저장하고, 각 응용 프로그램은 자신이 필요한 파일을 직접 읽고 쓴다. 예를 들어 회원 정보를 텍스트 파일이나 CSV 파일로 저장해두고, 프로그램이 이 파일을 열어서 한 줄씩 읽어 처리하는 방식이다.
이 방식은 별도의 소프트웨어 없이 운영체제 기능만으로 구현할 수 있어서 간단하고 가볍다는 장점이 있다. 하지만 데이터의 양이 많아지고 여러 프로그램이 같은 데이터를 다뤄야 하는 상황이 되면 한계가 금방 드러난다.
데이터베이스 시스템을 이용한 저장
데이터베이스 시스템은 DBMS라는 별도의 소프트웨어가 데이터의 저장, 검색, 수정을 전담해서 처리하는 방식이다. 응용 프로그램은 파일에 직접 접근하지 않고, DBMS에게 필요한 데이터를 요청하기만 하면 된다. DBMS가 데이터의 무결성과 일관성을 유지하는 책임을 떠안기 때문에, 응용 프로그램 개발자는 데이터 관리의 세부 사항을 신경 쓰지 않아도 된다.
2. 데이터의 저장 방법 비교
두 가지 저장 방법은 여러 측면에서 비교해볼 수 있다.
데이터 중복
파일 시스템에서는 각 프로그램이 독립적으로 파일을 관리하기 때문에 같은 내용의 데이터가 여러 파일에 중복으로 저장되기 쉽다. 반면 데이터베이스 시스템에서는 데이터를 한 곳에 통합해서 저장하므로 중복이 최소화된다.
데이터 일관성
파일 시스템에서 데이터가 중복 저장되어 있으면, 한쪽 파일의 데이터를 수정했을 때 다른 파일의 데이터는 수정되지 않아 서로 다른 값을 갖는 문제가 생길 수 있다. 데이터베이스 시스템에서는 데이터가 한 곳에 모여 있어서 이런 불일치 문제가 자연히 줄어든다.
데이터 공유
파일 시스템에서는 한 프로그램이 사용하는 파일을 다른 프로그램이 동시에 사용하기가 까다롭다. 데이터베이스 시스템에서는 DBMS가 동시 접근을 통제하기 때문에 여러 사용자와 프로그램이 같은 데이터를 안전하게 공유할 수 있다.
보안과 접근 제어
파일 시스템은 파일 단위로만 권한을 설정할 수 있어서 세밀한 접근 제어가 어렵다. 데이터베이스 시스템은 테이블이나 특정 데이터 항목 단위로까지 접근 권한을 세밀하게 설정할 수 있다.
장애 발생 시 복구
파일 시스템에서 장애가 발생하면 복구를 위한 별도의 기능이 갖춰져 있지 않은 경우가 많아 데이터를 잃어버릴 위험이 크다. 데이터베이스 시스템은 장애가 발생했을 때 데이터를 이전 상태로 복구할 수 있는 기능을 기본적으로 제공한다.
다음 표는 지금까지 살펴본 차이를 정리한 것이다.
| 비교 항목 | 파일 시스템 | 데이터베이스 시스템 |
| 데이터 중복 | 중복이 발생하기 쉬움 | 중복을 최소화함 |
| 데이터 일관성 | 불일치가 발생하기 쉬움 | 일관성 유지가 쉬움 |
| 데이터 공유 | 동시 공유가 어려움 | 동시 공유가 가능함 |
| 접근 제어 | 파일 단위로만 가능 | 세밀한 단위로 가능 |
| 장애 복구 | 복구 기능이 미흡함 | 복구 기능을 기본 제공함 |
3. 파일 시스템과 DBMS의 비교
이제 파일 시스템과 DBMS의 차이를 구조적인 관점에서 좀 더 자세히 살펴보겠다.
구조의 차이
파일 시스템 방식에서는 각 응용 프로그램이 자신만의 파일을 따로 소유한다. 급여 프로그램은 급여 프로그램대로 직원 파일을 가지고 있고, 인사 프로그램은 인사 프로그램대로 직원 파일을 따로 가지고 있는 식이다. 이렇게 되면 같은 직원의 정보가 여러 파일에 중복으로 흩어지게 된다.
DBMS 방식에서는 모든 응용 프로그램이 DBMS라는 하나의 관문을 거쳐서 통합된 데이터베이스에 접근한다. 직원 정보는 데이터베이스 안에 단 한 번만 저장되고, 급여 프로그램이든 인사 프로그램이든 필요할 때마다 DBMS에게 요청해서 같은 데이터를 가져다 쓴다.
아래 그림은 이 구조적인 차이를 보여준다.


데이터 종속성 문제
파일 시스템 방식이 가진 가장 큰 문제 중 하나는 데이터 종속성(Data Dependency)이다. 데이터 종속성이란 데이터의 저장 구조나 접근 방법이 바뀌면 그 파일을 사용하는 응용 프로그램도 함께 수정해야 하는 문제를 말한다. 예를 들어 파일에 새로운 항목을 하나 추가하기만 해도, 그 파일을 읽는 모든 프로그램의 코드를 일일이 찾아서 고쳐야 하는 상황이 벌어진다.
DBMS는 이 문제를 데이터 독립성(Data Independence)이라는 개념으로 해결한다. 데이터의 실제 저장 구조가 바뀌어도 응용 프로그램은 영향을 받지 않도록, DBMS가 데이터와 응용 프로그램 사이에서 완충 역할을 해준다.
데이터 중복과 일관성 문제
앞서 비교한 것처럼 파일 시스템은 데이터 중복이 발생하기 쉽고, 이로 인해 일관성이 깨지는 문제가 자주 일어난다. DBMS는 데이터를 통합해서 관리하기 때문에 이런 문제를 근본적으로 줄여준다.
동시성 제어 문제
여러 사용자가 동시에 같은 데이터를 수정하려고 하면 충돌이 발생할 수 있다. 파일 시스템은 이런 동시 접근 상황을 제어하는 기능이 따로 마련되어 있지 않아서, 잘못하면 데이터가 깨지거나 잘못된 값으로 저장될 위험이 있다. DBMS는 이런 동시성 문제를 제어하는 기능을 갖추고 있어서 여러 사용자가 동시에 데이터에 접근해도 안전하게 처리된다.
보안 문제
파일 시스템에서는 파일 전체에 대해서만 접근 권한을 설정할 수 있어서, 한 파일 안의 특정 데이터만 보호하고 싶어도 그렇게 하기 어렵다. DBMS는 테이블이나 컬럼, 심지어 특정 행 단위로까지 접근 권한을 정교하게 설정할 수 있어서 보안 관리가 훨씬 유연하다.
'Database' 카테고리의 다른 글
| [DB] 관계대수 - 셀렉션, 프로젝션, 집합연산, 조인, 디비전 (0) | 2026.06.18 |
|---|---|
| [DB] 키와 무결성 제약조건 (0) | 2026.06.18 |
| [DB] 릴레이션, 스키마와 인스턴스, 관계 데이터 모델 (0) | 2026.06.18 |
| [DB] 데이터베이스 시스템의 구성, 데이터 모델, 개념적 구조 (0) | 2026.06.18 |
| [DB] Database (0) | 2026.06.18 |