본문 바로가기
Computer Science

데이터베이스 관리 시스템(DBMS)의 개요 및 목적

by PROGRAMMER_황금돼지코 2023. 3. 26.
반응형

개요

화폐 대신 교통카드를 사용하고, 웹브라우저에서 다양한 기사를 읽으며, 인터넷으로 쇼핑을 한다. 이러한 일상생활의 편의성은 우리에게는 당연한 일이 되어갔지만, 이를 위해서는 많은 데이터 유형이 관리되어야 한다. 교통카드를 사용하는 경우, 각 사용자가 어떤 유형의 대중교통에 얼마 동안 이용했는지 파악하고, 사용자의 교통카드 잔액을 확인하여 적절한 요금을 부과하고 차액을 결정할 수 있어야 한다. 또한 인터넷 쇼핑에서는 판매자가 상품을 어떤 가격과 설명으로 판매하고, 구매자가 어떤 상품을 장바구니에 담아 결제하며, 배송지는 어디인지 등 관련된 데이터를 알고 있어야 판매와 구매가 성사될 수 있다.

이러한 기능을 위해 생성되는 데이터는 데이터베이스에 저장되어 활용된다. 이 데이터베이스 유사 기술은 웹 기반 시스템뿐만 아니라 스마트폰의 연락처 관리 앱에서도 활용된다. 우리는 데이터를 사용할 때마다 데이터베이스를 직·간접적으로 이용하고 있다는 것이다.

승·하차 위치 정보를 이용하여 사용자의 대중교통 이용 패턴을 분석하고, 다른 사람들이 많이 이용하는 정류장 및 역사의 시설을 늘리는 등 새로운 데이터를 분석하여 유용한 정보를 얻을 수 있다. 이러한 데이터 분석은 민간기업이나 공공기관에서 다양한 분야에서 활용되고 있다. 데이터를 기반으로 한 새로운 사업 모델을 개발하거나 기존의 사업 모델을 개선하는 등의 일이 이루어지고 있다.

우리는 이러한 데이터 활용을 통해 더욱 편리하고 스마트한 일상생활을 살아갈 수 있을 뿐만 아니라, 새로운 가치를 창출할 수 있는 가능성을 가지고 있다. 이러한 데이터 관리와 활용에 대한 논의와 규제가 더욱 필요하다는 것은 물론이다.

 

이뿐만 아니라 이러한 기능을 통해 생성되는 데이터를 활용할 수도 있다. 대중교통에서 사용하는 교통카드에 저장된 승·하차 위치 정보를 분석하여 사용자의 이용 경로를 파악하고, 많은 사람이 이용하는 정류장 및 역사의 시설을 추가적으로 확대할 수 있다. 또한, 인터넷 쇼핑에서는 사용자가 관심을 보인 물품에 대한 정보를 분석하여 다른 유사한 상품을 추천할 수 있다.

이러한 데이터베이스 유사 기술은 포털 사이트와 같은 웹 기반 시스템 뿐만 아니라 스마트폰의 연락처 관리 앱에서도 활용된다. 이는 우리가 데이터를 이용하고 소비할 때마다 데이터베이스를 직·간접적으로 필연적으로 이용하고 있다는 것을 의미한다.

데이터 분석을 통해 새로운 가치를 창출하고, 비즈니스 모델의 개발과 개선을 가능케 하는 데이터의 중요성은 더욱 커져가고 있다. 이에 따라 데이터 관리와 활용에 대한 논의와 규제는 더욱 중요해져 가고 있다.

 

목적

1960년대부터 데이터를 처리하고 분석하여 조직의 의사결정에 필요한 정보를 생산하기 위한 목적으로 도입된 컴퓨터에서 정보를 기록·관리하기 위해 당시 사용할 수 있었던 유일한 수단은 운영체제에서 지원하는 파일(file)이었다. 이 대학 조직에서 신입 학생 및 강사, 강의 추가, 수강신청 및 출석부 생성, 성적 평가 및 평균평점 계산 및 성적표 생성 등의 업무 수행을 위해 강사, 학생, 학과 및 강의를 관리하는 학사 시스템을 생각해 보자. 프로그래머는 대학이 요구하는 기능에 따른 여러 애플리케이션 프로그램(application program, 이하 프로그램)을 개발하여 학사 시스템에 추가한다. 예를 들어 신규 전공을 개설한다고 가정하면, 학사 시스템은 새로운 학과에 해당하는 개별 파일을 생성하고 해당 학과에 등록되는 강사와 학생, 과목 및 학위에 대한 정보와 내규를 기록한다. 위 예와 같이 파일을 사용하여 특정 업무에 해당하는 데이터를 관리하는 방식을 파일 처리 시스템(file processing system)이라고 한다. 파일처리 시스템은 운영체제에 의해 지원되며, 운영체제는 여러 파일에 레코드(데이터 단위)를 기록하고 레코드를 조작하기 위한 별도의 프로그램을 필요로 한다. 다시 말해, 파일 처리 시스템이란 운영체제의 지원으로 조직에서 업무처리에 사용되는 데이터를 여러 파일에 나누어 영구 저장하고 운영하는 시스템을 말한다. 파일 처리 시스템에서는 프로그램에 지정된 파일에서 레코드를 추출하고 신규 레코드를 삽입하는 등의 작업을 수행한다.

DBMS가 사용되기 이전, 대다수의 시스템은 파일 처리 방식을 기반으로 운용되었다. 하지만 파일 처리 시스템은 데이터의 종속, 데이터의 중복, 데이터의 무결성 훼손 및 동시 접근 이상과 같은 관점에서 데이터 관리에 문제점들을 안고 있다.

 

데이터가 특정 프로그램에 종속될 경우, 데이터의 논리적인 구조나 위치는 해당 프로그램만 알고 있어 다른 프로그램과의 데이터 공유도 불가능해지며, 데이터 구조의 변경이 프로그램의 변경으로 이어지기 때문에 프로그램 유지보수에 많은 비용이 소요된다. 따라서 데이터와 프로그램의 독립은 데이터를 효과적으로 활용하기 위해 반드시 필요한 전제조건이다.


데이터의 독립성(data independency)은 크게 논리적 데이터 독립성과 물리적 데이터 독립성으로 구분된다. 논리적 데이터 독립성이란 프로그래머가 생각하는 데이터의 논리적 구조가 변하더라도 그에 따른 프로그램의 구조가 변경되지 않는 것을 의미한다. 반면 물리적 데이터 독립성이란 보조기억장치와 같이 파일과 관련된 물리적인 시스템 구조가 변경되더라도 프로그램은 그대로 유지되는 것을 말한다.
파일 처리 시스템의 경우 데이터의 구조 및 위치 변경, 디스크 장치 또는 플랫폼 변경에 따른 데이터 표현 방식이 달라지기 때문에 프로그램 수정이 불가피하다. 이 관점에서 파일 관리 시스템과 비교해 볼 때, DBMS는 데이터를 프로그램과 완전히 독립시킴으로써 종속(dependency)으로 인한 문제를 근본적으로 배제시킨다.

반응형

'Computer Science' 카테고리의 다른 글

순차접근 저장장치  (0) 2023.03.26
입출력 처리 유형  (0) 2023.03.26
가상 메모리  (0) 2023.03.26
데몬  (0) 2023.03.26
운영체제의 부팅  (0) 2023.03.26

댓글