Stack Building
[01] 정보 환경 본문
1. 정보 처리 시스템
정보 처리란 정보 생성을 위해 데이터를 처리하는 것을 말한다. 데이터베이스 시스템은 정보 처리 시스템이 기능을 효과적으로 수행할 수 있게 한다.
1-1. 정보와 데이터
정보 = 처리(데이터)
data(자료)는 현실 세계에서 단순한 관찰/측정으로 수집된 사실/값이다. information(정보)은 의사결정을 할 수 있게 하는 지식으로서 데이터의 해석 또는 관계를 말한다. 정보를 추출하는 과정을 데이터 처리 또는 정보 처리라고 한다.
정보는 의사 결정 과정에서 유용한 결과를 가져오는 데에 유용하게 쓰여야 한다. 유용하게 쓰이려면 정확성, 현재성을 갖추어야 한다. 그를 위해서 정보는 지속적으로 수집, 조직, 저장되어야 한다.
1-2. 정보 시스템
조직체의 활동에 필요한 데이터를 수집, 조직, 저장해 두었다가 필요할 때에 처리해서 유효한 정보를 생성, 분배하는 수단을 정보 시스템이라고 부른다. 정보 시스템의 일부를 응용 시스템이라고 하며, 이 시스템의 기능을 수행하는 프로그램을 응용 프로그램이라고 한다. 따라서 한 조직체의 정보 시스템은 수많은 응용 프로그램들로 구현되어 있다.
경영 관리에 특화된 정보 시스템은 경영정보시스템(MIS)이라고 한다. 이 외에도 정보 시스템은 다양한 목적으로 구축되며, 복합적인 목적을 위해 구축된 경우는 의사결정지원시스템(DSS)이라고 한다.
DSS가 효율적으로 운영하기 위해서 다양한 소스의 데이터를 별도 추출하여 관리하는 것을 데이터 웨어하우스라고 하고, 이것의 규모가 커질 때 여기에서 필요한 데이터를 찾고 정보를 생성하는 것을 데이터 마이닝이라고 한다.
최근에는 데이터에서 한 단계 높은 수준의 '지식'을 저장, 관리, 활용하는 지식관리시스템(KMS)이 경쟁력의 핵심이 되고 있다.
2. 데이터 처리 시스템
데이터 처리 시스템은 처리의 형태(조직, 접근되는 방법)에 따라 구분된다.
2-1. 일괄 처리 시스템 batch processing
데이터를 수집, 분류, 정렬한 후 일괄 처리한다. 유사한 트랜잭션(분리할 수 없는논리적 작업 단위)을 모아 한꺼번에 처리하여 효율적인 시스템을 구성한다. 일정 기간마다 주기적으로 한번에 처리해야 하고, 그룹별로 분류할 수 있고, 순차적으로 접근할 수 있는 업무 처리 방식에 적합하다.
트랜잭션 처리 비용이 적게 들고, 시스템 성능이 높다. 그러나 사용자 입장에서는 데이터가 즉시 처리되지 않아 대기해야 한다. 또 raw data를 수집하여 분류하는 등의 사전 준비가 필요하다. 준비 자체는 병행적일 수 있으나 갱신은 일괄로 처리한다.
예: 급여 명세서
2-2. 온라인 처리 시스템 online processing
사전 준비가 필요 없고, 생성되는 출처로부터 바로 컴퓨터로 전송되어 컴퓨터가 즉시 처리한다. 처리 결과를 기다렸다가 바로 다음 의사 결정에 반영할 수 있어 실시간 처리(real time processing)라고도 한다. 일반적인 온라인 처리는 이 경우를 말한다.
데이터 처리를 위한 대기 시간이 없어 사용자 입장에서 편리하며, 때문에 사용자 중심 처리 방식이라고도 한다. 분류와 정리 작업이 절약되고 오류의 검출도 쉽다. 질의, 검색, 갱신이 모두 가능하여 현재성을 편리하게 유지한다. 그러나 원격 터미널(remote terminal)들과 계속 통신을 유지해야 하고, 그를 위한 통신 제어기(communication controller)가 필요해 구조가 복잡해진다. 통신의 지속적인 유지는 오버헤드 발생으로 인한 성능저하, 유지보수의 어려움, 처리 비용 증가 등의 문제를 안고 있다. 하지만 점차 기술이 발전되며 데이터 처리 방식의 기본이 되고 있다.
예: 은행 업무
2-3. 분산 처리 시스템 distributed processing
전통적인 데이터 처리 시스템은 데이터가 저장된 곳을 중심으로 기능이 집중되는 중앙 집중 시스템(centralized system)이다. 통제가 용이하고 효율적으로 이용할 수 있다는 장점이 있으나 데이터가 지리적으로 분산되어 있을 경우 효과적이지 않다. 분산 처리 시스템은 물리적으로 분산된 처리기와 데이터베이스를 네트워크로 연결하여 사용자에게 하나의 시스템을 사용하는 것 같이 보여주는 시스템이다.
분산 처리기, 통신 네트워크, 분산 데이터베이스
(1) 분산 처리기: 물리적으로 나뉘어 설치되어 있는 복수의 컴퓨터, 즉 local processor. 해당 로컬에서 생성되고, 저장된 데이터를 처리하는 로컬 컴퓨터로서 독립적으로 운영된다.
(2) 통신 네트워크: 분산 처리기들을 연결시켜 자원을 공유하게 하여 하나의 시스템처럼 운영되게끔 하는 네트워크다. 네트워크를 구성하는 각 노드는 하나의 독립된 처리기 능력을 가진 지역 컴퓨터 시스템이기 때문에 통신 네트워크는 실제로 컴퓨터 네트워크를 말한다. 네트워크 안의 처리기들은 특정한 통신 규약(communication protocol)에 따라 데이터를 전송, 수신하게 되어 있어 통신망의 구조는 통신에 크게 영향을 준다. 네트워크가 없는 분산 시스템은 비중앙 집중 시스템으로, 분산 시스템과는 구분된다.
(3) 분산 데이터베이스: 데이터가 물리적으로 나뉘어 저장되어 있는 형태의 데이터베이스. 보통은 가장 많이 쓰이는 곳에 저장되나 논리적으로는 하나의 데이터베이스로, 어느 노드에서든 접근 가능하다.
하나의 트랜잭션은 로컬 처리기 하나에서 완전히 처리되지 못할 수 있는데, 그 경우엔 다른 로컬 처리기로 보내진다. 이 경우 데이터를 처리하거나 전송하는 처리기를 서버라고 하고, 처리나 전송을 요청하는 처리기를 클라이언트라고 한다. 중앙 집중 시스템에서는 1 서버, 多 클라이언트 형태이지만, 분산 시스템에서는 각 처리기가 클라이언트가 되었다가 서버가 되었다가 한다. 그래서 분산 처리 시스템은 클라이언트/서버 시스템으로도 불린다.
로컬에서 문제가 발생할 때 신속하게 대처할 수 있고 책임을 구분하고 신뢰성을 높이며 노드의 확장성이 좋다는 것이 장점이다. 업무가 분산되어 각 로컬 업무 처리에 의존하는 시스템은 이 구조를 따르는 것이 좋다.
3. 데이터베이스의 정의
데이터베이스란 어느 한 조직의 여러 응용 시스템이 공용할 수 있도록 통합, 저장된 운영 데이터의 집합이다. 얼핏 단순한 정의이지만, 살펴보면 복잡한 성격을 가진다.
(1) 통합 데이터: 같은 데이터가 원칙적으로 중복되지 않는다. 데이터 중복(redundancy)은 일반적으로 부작용을 초래하지만 때에 따라 불가피하게 의도적으로 허용(최소 중복/통제된 중복)하기도 한다.
(2) 저장 데이터: 컴퓨터가 접근 가능한 저장 매체에 저장되어 있다.
(3) 운영 데이터: 조직 고유의 기능을 수행하기 위해 반드시 유지해야 할 데이터인 '운영 데이터'의 집합이다. 운영 데이터는 필수불가결해야 하며, 일시적으로 발생하는 임시 데이터는 운영 데이터로 보지 않는다.
(4) 공용 데이터: 조직의 응용 시스템들이 공동으로 소유, 유지, 이용한다. 각 응용 시스템의 목적이 다르기 때문에 데이터량이 커지며 구조가 복잡해진다.
4. 데이터베이스의 특성
(1) 실시간 접근성 real-time accessibility: 데이터베이스는 쿼리에 대해 생성된 데이터를 컴퓨터에 전송하여 처리 결과를 보고 다음 의사 결정에 반영할 수 있게 실시간 처리로 응답해야 한다.
(2) 계속적인 변화 continuous evolution: 한 시점에 데이터베이스가 저장하는 내용은 한 상태이며, 이는 동적이다. 새로운 데이터의 삽입, 삭제, 갱신이 지속적으로 일어나며, 이 과정 속에서 현재성과 정확성을 유지해야 한다.
(3) 동시 공용 concurrent sharing
(4) 내용에 의한 참조 contents reference: 전통적 컴퓨터 시스템에서 데이터는 기본적으로 주소address로 참조되는데, 데이터베이스 환경에서는 값value에 따라 참조된다.
5. 데이터베이스의 개념적 구성요소
사용자 관점에서 논리적/개념적으로 보면 데이터베이스는 개체entity와 관계relationship로 구성된다.
5-1. 개체 (엔터티)
서로 구별되는 유형/무형의 객체. 단독으로 존재할 수 있는 정보. 엔터티는 현실 세계의 사람이 생각하는 개념/정보의 단위이며, 하나의 엔터티는 하나 이상의 속성(애트리뷰트)으로 구성된다. 속성은 엔터티의 특성이나 상태를 기술한다.
예를 들어 '학생'이라는 엔터티는 학번, 이름, 학과라는 3개의 애트리뷰트로 구성된다. 학번, 이름, 학과는 학생이라는 엔터티가 가지는 특성을 말한다. 애트리뷰트는 이름을 가진 데이터의 가장 작은 논리 단위이다. 자료구조에서는 data item 또는 field라고 부른다. 애트리뷰트 자체로는 중요한 의미를 표현할 수 없어 단독으로 존재할 수는 없다.
엔터티는 엔터티를 구성하는 애트리뷰트가 구체적인 값을 가져야 실체화된다. 학생 엔터티의 한 값을 <학번: 61, 이름: 김땡땡, 학과: 컴퓨터공학> 이라고 할 때, 이를 개체 인스턴스instance 또는 개체 어커런스occurrence라고 한다. 이 인스턴스들의 집합을 개체 집합이라고 한다. 애트리뷰트의 이름들로만 기술된 엔터티의 정의는 개체 타입이라고 한다. 데이터베이스에 저장되는 구체적인 객체는 개체 인스턴스이고, 개체 타입은 논리적 개념이다.
5-2. 관계
개체 집합과 개체 집합 간에는 여러 유형의 관계가 존재할 수 있는데, 이 역시 데이터베이스에 저장한다. 개체들을 연관시켜 의미를 가지기 때문이다. 애트리뷰트들 간의 속성 관계와 개체 집합과 개체 집합 사이의 관계를 나타내는 개체 관계로 나뉜다. 속성 관계는 개체 내 관계, 개체 관계는 개체 간 관계라고 하며, 데이터베이스에서는 개체 관계만 명시적으로 취급한다.
예를 들면 학생 엔터티와 교수 엔터티 사이에는 '지도'라는 관계가 있을 수 있다. 개체와 관계를 도식으로 표현한 다이어그램을 E-R 다이어그램이라고 한다. 두 개체를 연관시켜 얻을 수 있는 정보를 추출할 때에 개체 관계를 사용하기 때문에 데이터베이스 접근에 있어 중요한 도구다.
6. 데이터베이스의 구조
물리적 저장 장치는 사용자 입장(논리적 구조), 시스템 입장(물리적 구조) 각각에 따라 표현 목적과 방법이 다르다. 두 구조는 서로 대응한다.
(1) 논리적 구조
- 사용자가 생각했을 때 데이터가 배치되어 있다고 간주하는 가상 구조
- 이 구조에서 취급하는 데이터 레코드는 논리적 레코드라고 함
- 이 구조로 표현한 데이터베이스를 논리적 데이터베이스라고 부름
(2) 물리적 구조
- 디스크/테이프 등에 저장된 실제 구조
- 이 구조에서 취급하는 데이터 레코드는 저장 레코드라고 함
- 이 구조로 표현한 데이터베이스를 물리적 데이터베이스라고 부름
7. 참고
데이터베이스론 (이석호 저)
'DB' 카테고리의 다른 글
[05] 관계대수와 관계해석 (0) | 2019.08.13 |
---|---|
[04] 관계 데이터베이스 (0) | 2019.08.06 |
[03] 데이터베이스 시스템의 구성 (0) | 2019.08.02 |
[02] 데이터베이스 관리 시스템 (0) | 2019.07.19 |
OLAP과 OLTP (0) | 2019.03.16 |