[DB] 데이터베이스 VS 파일처리 시스템
데이터베이스를 알아보기 전에 파일처리 시스템을 비교해보도록 합시다. 데이터베이스가 등장하기 전에는 그 역할을 파일처리 시스템이 담당하였고 그 문제점으로 인해 데이터베이스가 등장하게 되었습니다. 둘의 차이를 알아보며 데이터베이스는 어떤 아이인지 알아가겠습니다.
엄밀하게는 데이터베이스와 파일처리 시스템을 비교하는 것이 아닌 DBMS와 파일처리 시스템을 비교해야 하지만 편의를 위해 다음과 같이 표기하였습니다.
DBMS VS 파일처리 시스템
우선 일곱 가지 항목에 대해서 표로 간단하게 살펴봅시다.
파일시스템 | 데이터베이스 | |
---|---|---|
구조 | 특정한 구조가 존재 X | table 형태로 저장 |
접근 방식 | 순차적 접근만 가능 | 비순차적 접근도 가능 |
중복 | O | 비교적 덜 발생 |
불일치 | O | 비교적 덜 존재 |
트랜잭션 | X | 존재 |
다중 사용자의 접속 | X | O |
보안 및 권리 | 각 프로그램마다 데이터를 가지고 있기 때문에 보안이 까다로움. | 사용자들마다 다른 권한 부여 가능 |
질의어 | X | SQL |
회복 | X | O |
해당 비교에서 데이터베이스는 일반적인 RDBMS를 말합니다. NoSQL에 대해서는 이후 포스팅에서 RDBMS와의 차이를 다루도록 하겠습니다.
나머지 항목들은 굉장히 직관적이고 중복
과 불일치
에 대해서만 조금 더 알아봅시다.
파일처리 시스템과 데이터베이스 관리 시스템(DBMS)를 설명하는 좋은 그림이 있습니다.
중복은 어떠한 경우에 일어날까요?
위에서 성적표
와 학생활동표
를 생각해보면 두 표에 모두 학생의 이름이 필요합니다. 같은 데이터가 중복되는 것이죠. 만약 학생이 개명한다면 두 표의 데이터를 모두 바꿔줘야 하고 그 과정에서 이상현상이 발생할 수 있습니다.
불일치는 어떠한 경우에 일어날까요?
마찬가지로 성적표
와 학생활동표
를 생각해보면 두 표 모두 학생의 성별이 들어갈 수 있습니다. 하지만 성별을 표시할 때, 성적표에서는 남성
으로 학생활동표
에서는 Male
로 표시한다면 불일치 문제가 발생할 수 있습니다.
DBMS의 단점
위와 같은 여러 장점에도 불구하고 DBMS가 만능은 아닙니다.
여러 상황을 고려해서 상황에 맞는 적절한 사용 여부 결정이 중요합니다.
그러면 DBMS의 단점을 알아봅시다.
-
비용
파일시스템보다 더 많은 것을 제공하니 당연히 하드웨어 자원을 많이 필요로 합니다. 따라서 추가적인 하드웨어 구입 비용이 발생합니다. 뿐만 아니라 DBMS 자체가 가격이 비싸고 이를 전문적으로 다루는 인력도 필요하기 때문에 인건비도 무시 할 수 없습니다.
-
복잡성
백업과 회복의 기능을 제공하지만 이를 하기 위해 복잡성이 증가합니다.
-
고장
DBMS는 통합적인 시스템이기 때문에 일부의 고장이 전체 시스템으로 고장으로 이어질 수 있고 고장의 영향을 더 크게 받을 수 있습니다.