본문 바로가기
👨‍💻Computer Science/데이터베이스

[Database] 01 - 2 화일 시스템 vs. DBMS

by 코푸는 개발자 2021. 9. 7.
728x90

*DBMS 등장 이전에는 데이터의 관리를 운영체제가 제공하는 파일시스템을 통해서 데이터를 관리하였습니다.

화일 시스템을 사용한 기존의 데이터 관리
  • 화일 시스템(운영체제에 있음)은 DBMS가 등장하지 않았을 때인 1960년대부터 사용되어 왔음
  • 화일의 기본적인 구성요소는 순차적인 레코드들임
  • 한 레코드는 연관된 필드들의 모임(학생을 나타내면 학번과 같은 필드들이 연관된 필드들임)
  • 화일을 접근하는 방식이 응용 프로그램 내에 상세하게 표현되므로 데이터에 대한 응용 프로그램의 의존도가 높음

화일 시스템에서 응용 프로그램과 화일 간의 대응 관계

*일반적으로 M:N 관계를 가짐(그림은 1:1관계임)

*응용프로그램은 각 내부에 데이터의 정의를 포함하고 있음(이 정의에 맞춰 파일 내에 데이터에 접근함)

*데이터 화일을 구조가 변경된다면 응용 프로그램에서도 데이터 정의가 변경되어야 사용가능(ex. 학생 레코드에 휴대폰번호 필드 추가, 필드의 제거 등이 있음)

 

데이터 구조 변경 예시)

두 개의 코볼 프로그램에는 Employee 화일의 필드들이 열거되어 있다. 만일 Employee 화일에 사원의 휴대폰 번호를 추가로 나타내려면 Employee 화일의 레코드를 하나씩 읽어서, 휴대폰 번호 필드를 추가한 레코드를 새로운 Employee 화일에 기록하는 프로그램을 작성해야 한다. 그 다음에 기존의 Employee 화일을 사용하던 모든 응용 프로그램들을 찾아서 휴대폰 번호 필드를 추가해야 한다.

 

응용 프로그램과 데이터 화일의 대응 예

화일 시스템의 단점
  • 데이터가 많은 화일에 중복해서 저장됨

두 화일에서 DEPARTMENT가 중복

  • 다수 사용자들을 위한 동시성 제어가 제공되지 않음
  • 검색하려는 데이터를 쉽게 명시하는 질의어가 제공되지 않음
  • 보안 조치가 미흡
  • 회복 기능이 없음
  • 프로그램-데이터 독립성이 없으므로 유지보수 비용이 많이 소요됨
  • 화일을 검색하거나 갱신하는 절차가 상대적으로 복잡하기 때문에 프로그래머의 생산성이 낮음
  • 데이터의 공유와 융통성이 부족

*앞에서 배운 DBMS 내용의 반대조건

따라서 DBMS가 파일시스템을 통한 데이터 관리의 단점을 극복하기 위에 개발된 것이기 때문에 DBMS를 통해 데이터를 관리하게 되면 문제들을 해결할 수 있음

DBMS를 사용한 데이터베이스 관리
  • 여러 사용자와 응용 프로그램들이 데이터베이스를 공유
  • 사용자의 질의를 빠르게 수행할 수 있는 인덱스 등의 접근 경로를 DBMS가 자동적으로 선택하여 수행
  • 권한이 없는 사용자로부터 데이터베이스를 보호(보안 솔루션을 포함함)
  • 여러 사용자에 적합한 다양한 인터페이스를 제공
  • 데이터 간의 복잡한 관계를 표현하며, 무결성 제약조건을 DBMS가 자동적으로 유지
  • 시스템이 고장 나면 데이터베이스를 고장 전의 일관된 상태로 회복시킴
  • 프로그램에 영향을 주지 않으면서 데이터베이스 구조를 변경할 수 있음(프로그램-데이터 독립성(program-data independence, 파일시스템의 경우에는 과련된 모든 프로그램이 바껴야함)

 

DBMS를 사용한 데이터베이스 관리

DBMS의 장점

  • 중복성과 불일치가 감소됨
  • 시스템을 개발하고 유지하는 비용이 감소됨
  • 표준화를 시행하기가 용이(소프트웨어 패키지 하나만 존재해서 하나만 만들면 됨)
  • 보안이 향상됨
  • 무결성이 향상됨
  • 조직체의 요구사항을 식별할 수 있음
  • 다양한 유형의 고장으로부터 데이터베이스를 회복할 수 있음
  • 데이터베이스의 공유와 동시 접근이 가능함

화일 시스템 방식과 DBMS 방식의 비교

DBMS 선정시 고려 사항

기술적 요인

  • DBMS에 사용되고 있는 데이터 모델(관계 DBMS인지 객체지향 DBMS인지), DBMS가 지원하는 사용자 인터페이스, 프로그래밍 언어, 응용 개발 도구, 저장 구조, 성능, 접근 방법 등(더불어 아래 경제적 요인 역시 함께 고려해야함)

경제적 요인

  • 소프트웨어와 하드웨어 구입 비용, 유지 보수 비용, 직원들의 교육 지원 등

DBMS의 단점

  • 추가적인 하드웨어 구입 비용이 들고, DBMS 자체의 구입 비용도 상당히 비쌈
  • 직원들의 교육 비용도 많이 소요
  • 비밀과 프라이버시 노출 등의 단점이 존재할 수 있음(조직의 여러 부서의 내용을 통합하기 때문에 노출가능성이 생김)
  • 초기의 투자 비용이 너무 클 때, 오버헤드가 너무 클 때, 응용이 단순하고 잘 정의되었으며 변경되지 않을 것으로 예상될 때, 엄격한 실시간 처리 요구사항이 있을 때, 데이터에 대한 다수 사용자의 접근이 필요하지 않을 때는 DBMS를 사용하지 않는 것이 바람직할 수 있음(이 때는 운영체제에서 지원하는 파일시스템을 사용하는 것이 바람직함)
728x90

댓글