Database 정리1 - File System vs DMBS

Database 정리1 - File System vs DMBS

개요

File System vs DBMS 간단 비교

File System vs DBMS

- File System DBMS
Cost Low High
Data Redundancy O X
Constraint X O
Data Dependency O X
Multi User Access X O
Security 파일단위의 접근 권한 세분화된 권한 부여 가능
Recovery Difficult There’s a way though…
Cost

파일시스템은 운영체제와 함께 설치되므로 별도의 비용이 들지 않는다. DBMS 는 Mysql 같은 오픈소스가 아닌 Oracle 같은 기업용 제품을 사용할 경우 비용이 많이 든다. 금전적인 비용을 넘어서 DBMS 는 컴퓨터 자원을 많이 사용하므로 컴퓨터 자원에 대한 비용이 많이 든다.

Data Redundancy (데이터 중복성)

File system 은 같은 데이터가 여러파일에 저장되어 data redundancy 문제 발생. 운영자의 실수로 하나의 파일만 갱신하는 경우 데이터의 정합성에 문제가 생긴다.

Constraint

필드를 구분하는 값에 5글자라는 제약이 있어야 하는 경우, file system 에서는 프로그램에서 제약조건을 모두 확인 해줘야한다.

Data Dependency (데이터 종속성)

컴퓨터 관련된 개념에서 Dependency 가 높은 경우는 항상 안좋은 경우라고 봐도 될 것 같다. File System 에서는 애플리케이션에서 직접 파일에 접근하여 데이터를 처리해야 하므로 사용하는 파일의 구조를 변경하면 애플리케이션에서 수정해야할 사항이 많아진다. DBMS 를 사용하는 경우에도 DB 구조가 변경되면 애플리케이션 단의 수정사항이 많아질 수 있지만 file system 의 경우보다는 덜 심각하다.

Multi User Access, Security, Recovery

File system 의 경우 서로 다른 클라이언트에서 동시에 같은 파일을 수정할 수 없는 경우가 일반적이다. 반면 DBMS 는 동시 같은 데이터를 갱신하는 작업은 불가능 하지만 여러 클라이언트에서 서로 다른 데이터에 대한 조작이 가능하다.

File system 에서는 file 단위로 권한을 부여하는 방식으로 접근을 통제하기 때문에 더 작은 단위에 대한 접근 통제와 세분화 된 권한 부여가 어렵다.

File system 에서 file 을 사용하는 도중 장애가 발생한다면 원복이 쉽지않다.

Comment

File system 이 가지는 문제의 근본 원인은 data redundancy, data dependency 둘로 요약할 수 있다. 요약한 내용만 보면 DBMS 가 짱짱맨인 것 처럼 보이는데 file system 의 이러한 단점을 보완하기 위해 나온 개념이 DBMS 이기 때문에 당연한 것이다. 무조건 DBMS 를 쓰는 것이 답인 것 처럼 보이지만, 대용량 로그 분석의 경우 애플리케이션에서 발생하는 로그를 file 에 쓰고, hadoop file system 을 사용하여 처리하기도 한다. 무조건 DBMS 를 사용해야 하는 것이 아니라 목적에 맞는 도구를 사용하는 것이 중요하다.

Pros and Cons of DBMS

Pros Cons
데이터 중복에 대한 통제 비용이 많이 듬
데이터 독립성 백업과 회복방법이 복잡
데이터 동시 공유 중아 집중 관리로 인한 취약점 존재
데이터 보안 향상  
데이터 무결성 유지  
표준화  
장애 회복 가능  
애플리케이션 개발 비용(공수) 절감  

Comments

Yaboong's Picture

Yaboong

오스카 쉰들러는 흔해빠진 기회주의자요 부패한 사업가였다. 그러나 거대한 악이 세상을 점령하는 것처럼 보일 때 그 악에 대항해서 사람의 생명을 구한 것은 귀족도 지식인도 종교인도 아닌 부패한 기회주의자 오스카 쉰들러였다.

Seoul, South Korea https://github.com/yaboong