본문 바로가기

Code.D IT 강좌/C언어

[데이터 저장 방법] 파일시스템/DBMS 장단점

데이터를 저장하는 방법에는 무엇이 있는지 살펴보기 전에, 우선 데이터가 무엇인지 이해하기 쉽도록 자료(Data)정보(Information)의 개념과 비교하여 설명하도록 하겠습니다.



  • 자료(Data)

  • 현실 세계에서 어떤 측정을 통해 얻은 순수한 값입니다.

  • 자료는 평가되지 않으며 단순한 관찰을 통해 얻은 객관적인 사실입니다.

  • 가공되지 않은 상태의 숫자나 문자들의 단순한 나열입니다.


Ex) 이 글에서 '자료', '정보', 'Data', '가공', '관찰' 등의 순수한 입력 값



  • 정보(Information)

  • 정보는 자료를 처리, 가공하여 얻으며 결과적으로 2차적인 자료의 형태입니다.

  • 특정한 목적과 문제해결에 도움이 되도록 의미를 가지는 결과 값입니다.

  • 의사 결정을 위한 자료들의 집합입니다.


Ex) '자료'와 '정보'등의 입력값에서 얻을 수 있는 자료와 정보의 개념





데이터를 저장하기 위한 수단은 파일 시스템에 저장하는 방법과 Database로 저장하는 방법이 있습니다. 이 둘 중 어디에 저장할지는 상황에 따라 그 효율성이 달라집니다. 따라서 상황에 적절하게 저장할 수 있도록 각각의 장단점을 비교해보도록 하겠습니다.




파일 시스템(파일 처리 시스템)


파일 시스템은 각각의 응용 프로그램(어플리케이션)이 독립적으로 자료를 파일형태로 배치하고 관리하는, 전통적인 데이터 처리 시스템입니다. 대부분의 경우 데이터 파일과 어플리케이션이 1:1로 대응되는 특징을 가지고 있습니다. 따라서 응용프로그램과 data 간에 상호 의존성이 높습니다.



  • 파일 시스템의 목적

  • 데이터의 종속성(Data Dependency)

응용 프로그램과 자료 간의 상호 의존도가 높아서, 자료를 저장한 파일 구성 방법이나 접근 방법이 변경되면 관련 응용 프로그램도 변경해야 합니다.

  • 데이터의 중복성(Data Redundancy)

한 시스템 내의 자료가 중복 저장되어 추가적인 저장 공간이 필요합니다. 이것은 자료를 비효율적으로 관리하는 것이며 비용 또한 늘어나게 됩니다. 이렇게 자료가 중복성을 띌 수 밖에 없는 이유는, 응용 프로그램마다 별도로 독립된 파일을 가지기 때문입니다.



이러한 파일 시스템의 문제점들을 개선하기 위해 나온 것이 바로 Database입니다.




데이터베이스(DB:DataBase)


유용한 데이터를 묶어 놓은 것이라고 생각하시면 됩니다. DB는 독립적으로 거의 사용하지 않고 그것을 관리하는 시스템과 통합돼 제공되며, 따라서 실제적으로 사용하는 것은 데이터베이스 관리 시스템(DBMS:DataBase Management System)이 됩니다. 마치 데이터라는 화물들은 컨테이너인 DB에 담겨져 DBMS라는 선박에 적재하고 사용하는 것입니다. 화물 컨테이너는 스스로 사용할 수 없지만 선박은 스스로 운항(사용)이 가능하죠. 따라서 DB보단 DBMS를 중점적으로 설명을 드리도록 하겠습니다.




DBMS의 장점


  • 데이터를 체계적으로 통합하고 구성함으로써 중복을 최소화 할 수 있으며 이것으로 인해 저장 공간을 절약할 수 있습니다.

  • 데이터의 동시 공유가 가능합니다.

  • 검색에 용이하게 설계하였을 뿐만 아니라 수정, 삭제까지도 용이합니다




DBMS의 단점


  • 전문적인 기술을 요하기 때문에 DB의 전문가가 필요합니다.

  • 운영상에 있어서 더욱 많은 용량의 메모리와 더욱 빠른 CPU를 요구하게 되어 비용이 증대되며 DBMS 자체가 고가의 제품이기에 많은 비용이 부담됩니다.

  • 시스템이 매우 복잡하여 문제가 일어났을 때 문제점을 파악하기가 어려울 뿐만 아니라 자료 백업과 복구를 하기엔 구조상의 복잡함으로 많은 어려움을 겪게 됩니다.

  • 다중 사용자가 대용량 디스크로 접근을 하게 되면 과부화가 발생합니다.



이처럼 DBMS를 구축하는 것이 모든 환경에서 적절한 것은 아닙니다. 따라서 상황에 따라 DBMS와 파일 처리 시스템의 장단점을 잘 분석해서 자신에게 맞는 것을 사용해야 합니다.



이와 관련된 글