본문 바로가기
데이터베이스

데이터베이스의 시스템의 개요

by jinjinie 2024. 2. 27.

데이터베이스 시스템의 개요


현재 우리 생활은 정보화 사회에 접어들면서 물질보다는 디지털 데이터 중심의 소비 형태로 변하고 있다. 특히 유무선 네트워크 기술과 데이터 수집 및 생성하는 다양한 종류의 센서가 보급됨에 따라, 우리 사회는 생각 및 행동을 디지털화하여 저장하는 라이프 로깅 시대에 접어들고 있다. 이렇게 저장된 다양한 종류의 데이터는 정밀하게 분석되어 산업• 경제•정치 등의 사회 전 분야에 걸쳐 활용되고 있다. 우리는 지폐 대신 교통카드를 사용하여 대중교통을 이용할 수 있으며, 교통카드 사용 시, 승•하차한 위치정보가 수집될 수 있다. 그뿐만 아니라 직접 백화점이나 시장에 가지 않고도 인터넷을 통해 상세 물품 정보를 확인하면서 쇼핑을 할 수 있다. 이렇게 수집된 정보를 기반으로 자주 이용되는 대중교통의 경로를 분석하여 많은 사람이 이용하는 정류장 및 역사의 시설을 확충하고, 소비자가 구입하거나 관심을 보인 물품에 대한 정보를 분석하여 다른 물품을 구매하도록 추천하는 데 이용하고 있다. 이처럼 정보는 중요한 자원으로 인식되는 수준을 넘어, 그 자체가 핵심적인 권력이 되는 사회가 되어 가고 있다. 이에 따라 현대 사회에서는 정보를 저장 및 관리하고 분석하여 새로운 문제를 해결하는 데 적용하는 능력이 강하게 요구되고 있다. 정보를 사용하고 분석하는 과정을 조금만 살펴보면 그 중심에는 반드시 데이터베이스라는 소프트웨어가 존재하는 것을 확인할 수 있다. 우리는 일상생활에서 데이터를 소비할 때마다 데이터베이스를 직간접적으로 이용하고 있다. 그렇다면 데이터베이스란 무엇일까? 사전적으로 데이터베이스는 데이터의 집합을 뜻한다. 데이터를 한데 모아 놓은 데이터베이스가 우리의 생활에서 어떤 중요한 역할을 수행하는지 하나의 시스템을 예로 살펴보자. 모 대학의 학사관리 시스템 구성도를 예로 들어 학사관리 시스템의 경우 관리 대상 인원이 20만여 명을 넘고, 학사관리를 위한 수천만여 건이 넘는 방대한 양의 데이터를 관리하고 있다. 우리는 이러한 학사관리 시스템을 이용하여 강의를 수강하고 학적사항을 관리하고 있다.  또한 학사관리 시스템으로 학생 성적 처리 및 각종 증명서 발급 등의 다양한 업무를 신속하게 처리할 수 있다.

데이터를 분석하고 다양한 정보를 생산하기 위해서는 데이터 저장에서부터 관리 및 사용에 이르기까지 큰 노력과 기술이 요구된다. 그러한 노력의 하나로 1960년대부터 연구되어 온 데이터베이스 관리 시스템(DBMS : Database Management System)은 컴퓨터를 사용하여 데이터베이스를 관리할 수 있는 시스템이다. DBMS란 한 조직의 연관된 데이터의 집합을 다수의 사용자가 공용으로 사용하기 위해 통합 저장하는 소프트웨어 패키지'이다. 즉, DBMS의 주 사용 목적은 데이터베이스 내의 데이터를 편리하고 효과적으로 저장하고 조작하는 것이라고 할 수 있다. DBMS와 함께 사용자에게 서비스 형태로 제공되는 애플리케이션이 포함된 모든 시스템을 데이터베이스 시스템(database system)이라고 한다. 데이터베이스 시스템은 대량의 정보를 관리하기 위한 목적으로 설계되었다. 데이터 관리에는 정보 저장을 위한 구조 정의와 정보 조작을 위한 메커니즘이 포함되어야 한다. 또한 다수의 사용자가 데이터에 접근하기 때문에 데이터베이스 시스템은 시스템의 하드웨어적 또는 소프트웨어적 오류 및 비 허가된 접근의 시도에도 저장된 정보의 안정성을 확보할 수 있어야 하며. 데이터가 여러 사용자에 재공유되는 환경에서는 발생할 수 있는 비정상적(anomalous) 결과를 배제할 수 있어야 한다.
1990년대 후반부터 시작된 인터넷의 대중화는 데이터베이스 사용의 대중화를 촉진했다. 인터넷에 의해 대다수의 기업 또는 조직에서 데이터베이스에 대한 접근 방식을 기존의 전화 인터페이스에서 웹 인터페이스로 전환하였다. 이에 따라 우리는 웹 인터페이스를 이용하여 수많은 데이터베이스를 이용하고 활용하고 있다.
예를 들면, 우리는 인터넷 서점에서 책을 검색하거나 구입할 때 서점의 데이터베이스 시스템을 이용한다. 도서 정보는 서점 데이터베이스에서 읽어 들이며, 온라인 주문 정보 또한 서점의 데이터베이스에 저장된다. 이와 유사하게 은행 사이트에 접속하여 계좌잔고나 이체 목록을 검색할 경우, 은행의 데이터베이스 시스템에서 정보를 검색하게 된다. 최근에는 사용자의 프로필이 저장된 데이터베이스를 분석하여 사용자가 관심을 보일 만한 광고를 선별하여 보여 주는 고도화된 광고도 서비스되고 있다.

DBMS는 컴퓨터를 이용하여 상업적인 데이터를 관리하기 위한 목적으로 사용되기 위해 시작하였다. 1960년대 초 대학 조직에서 강사, 학생, 학과 및 개설 강의에 대한 정보를 유지 • 관리하는 시스템을 고려해 보자. 그 당시 컴퓨터를 사용하여 정보를 관리하는 유일한 방법은 운영체제 파일(file)에 시스템에서 활용되는 정보를 기록하는 것이었다. 이때 시스템은 다음과 같은 기능을 제공해야 한다고 가정해 보자.
• 신입생, 신규 강사 및 과목 추가
• 수강 신청 및 출석부 생성
• 성적 평가 및 평균 평점 계산 및 성적표 생성

프로그래머는 대학의 요구에 따라 애플리케이션 프로그램(application program)을 개발하여 학교 시스템에 추가한다. 예를 들어 신규 전공을 개설한다고 가정하면, 대학은 새로운 학과에 해당하는 파일을 생성하고 해당 학과에 등록되는 강사와 학생, 과목 및 학위에 대한 구체적인 정보와 내규를 기록한다.
위 예와 같이 파일을 사용하여 데이터를 관리하는 방식을 파일 처리 시스템(file processing system)이라고 한다. 파일 처리 시스템은 운영체제에 의해 지원되며 운영체제는 여러 파일에 레코드(데이터 단위)를 기록하고 레코드를 조작하기 위한 별도의 프로그램이 있어야 한다. 다시 말해, 파일 처리 시스템이란 운영체제의 지원으로 여러 파일에 나누어 정보를 영구 저장하고 운영하는 시스템을 말한다. 파일 처리 시스템에서는 새로운 애플리케이션의 필요에 따라 적절한 파일에서 레코드를 추출하고 신규 레코드를 삽입하는 작업을 수행한다.
DBMS가 사용되기 이전에는, 대부분의 시스템이 이러한 파일 처리 방식을 사용했다. 그러나 파일 처리 시스템은 데이터의 종속, 데이터의 중복, 데이터의 무결성 훼손 및 동시 접근 이상과 같은 심각한 문제점을 안고 있다.