12장 데이터베이스 응용 기술
<첫장 그림>
1. 객체지향 데이터베이스
1.1 객체지향 데이터 모델
1.1.1 객체와 객체 식별자
- 객체(object)는 현실 세계에 존재하는 개체를 추상적으로 표현한 것이다.
- 각 객체는 시스템 전체에서 유일하게 식별될 수 잇는 객체 식별자(OID: Object Identifier)를 가지고, 객체 식별자를 특정 객체에 접근하기 위한
- 유일한 수단으로 사용한다.
- 객체 간의 관계는 객체 식별자를 사용해 참조할 수 있다.
1.1.2 속성과 메서드
- 객체는 해당 객체의 상태를 나타내는 하나 이상의 속성과 객체의 상태를 조작할 수 있는 하나의 이상의 메서드로 구성된다.
- 모델의 속성(attribute)은 관계 데이터 모델의 속성과 같은 의미로 볼 수 있다.
- 객체지향 데이터 모델의 속성은
- 값을 여러개 가질 수 있다.
- 객체지향 데이터 모델의 속성은 사용자가 정의한 클래스뿐 아니라
- 해당 클래스의 하위 클래스도 도메인으로 정의할 수 있다.
1.1.3 클래스
- 클래스(class)는 속성과 메서드를 공유하는 유사한 설질의 객체들을 하나로 그룹화 한것이다.
- 클래스 인스턴스(class instance) 또는 객체 인스턴스(object instance)라고 한다.
- 클래스 내부에는 해당 클래스의 객체를 위한 데이터 구조와 메서드 구현에 관한 세부 사항을 기술한다.
<그림 12-1 사원클래스와 객체 인스턴스>
1.1.4 클래스 계층과 상속
- 클래스를 단계적으로 세분화(specialization)하면 클래스 간의 계층 관계가 발생하여 결과적으로
- 클래스 계층 (class hierarchy)이 하나 형성된다.
- 상위에 있는 클래스를 상위클래스(superclass)라고 하고
- 하위에 있는 클래스를 하위클래스(subclass)라고 한다.
- 상위 클래스와 하위 클래스는 일반적으로 LS-A 관계가 성립한다.
<그림-12-2 크래스 계층의 예>
- 클래스 계층 개념은 상속(inheritance)이라는 강력한 개체지향 개념을 지원
- 하위 클래스가 단 하나의 상위클래스로부터 속성과 메서드를 상속 받는 것을 단일 상속
- 여러 개의 상위 클래스로부터 속성과 메서드를 상속받는 것을 다중 상속이라한다.
<그림 12-3 다중 상속의 예>
1.1.5 복합 객체
- 시스템에서 기본으로 제공하지 않는 사용자 정의 클래스 (user-defined class)를 도메인으로 하는
- 속성을 가진 개체를 복합 객체(composite object)라고 한다.
- 복합 객체에서 사용자 정의 클래스를 도메인으로 하는 속성은
- 해당 클래스에 속하는 객체 인스턴스의 객체 식별자OID를 값으로 가지게 된다.
- 즉, 복합 객체는 속성 값으로 다른 객체를 참조한다.
예를 들어
<그림 12-4 복합 객체 클래스의 예>
팀 클래스가 도메인이므로 운동선수 클래스는 복합 객체를 위한 클래스가 된다.
1.2 객체관계 데이터베이스
- 객체지향 데이터베이스에서는 질의 대상이 클래스이고 질의 결과는 클래스에 속하는 객체 집합니다.
- 객체지향 데이터베이스에서 클래스 하나 또는 클래스 하나와 해당 클래스의 하위 클래스 전체를 대상으로 하는 질의를
- 단일 오퍼랜드(single operand) 질의라고 한다.
- 여러 클래스를 대상으로 하는 질의를 다중 오퍼랜드(multiple operand) 질의 라고한다.
SELECT p
FROM p : 운동선수
WHERE P.키 >= 180 AND P.소속팀.연고지 = '서울';
-- 키가 180이상이고, 소속팀의 연고지가 서울인 모든 운동선수 검색
다음 절에서 살펴볼 객체관계 데이터베이스가.
2. 객체관계 데이터베이스
- 관계 데이터 모델에 객체지향 개념을 적용한 객체 관계 데이터 모델을 사용하는
- 객체 관계 데이터베이스가 주목
- 객체 관계 = 관계데이터모델 + 객체지향
- 객체지향 데이터베이스가 객체지향 프로그래밍 개념에 기반을 두고 데이터베이스의 기능을 추가하는 데 목적
- 객체관계 데이터 베이스는 관계 데이터 베이스에 기반을 두고 사용자가 더 풍부한 데이터 타입을 추가할 수 있도록 하는데 목적
3. 분산 데이터베이스 시스템
중앙 집중식 데이터베이스 시스템 :
- 데이터베이스 시스템을 물리적으로 한 장소에 설치하여 운영하는 것을 중앙 집중식 데이터베이스 시스템이라 한다.
분산 데이터베이스 시스템(disributed database system)
- 물리적으로 분산된 데이터베이스 시스템을 네트워크로 연결해
- 사용자가 논리적으로 하나의 중앙 집중식 데이터베이스 시스템처럼 사용할 수 있도록 한 것
3.1 분산 데이터베이스 시스템의 구성
- 분산 데이터베이스 시스템은 분산 처리기, 분산 데이터베이스, 통신 네트워크로 구성
<그림 12-5 분산 데이터베이스 시스템의 구성>
분산 처리기
- 분산 데이터베이스 시스템은 물리적으로 분산되어 지역별로 필요한 데이터를 처리할 수 있는 지역 컴퓨터(local computer)가 필요하다
- 지역 컴퓨터를 분산 처리기(distributed processor)라고 한다
- 분산 처리기는 지역에서 운영하는 데이터베이스를 자체적으로 관리할 수 있는 데이터베이스 관리 시스템(DBMS)을 가진다.
분산 데이터베이스
- 분산 데이터베이스(distributed database)는 물리적으로 분산된 지역데이터 베이스(local database)다
- 분산 데이터베이스는 보통 해당 지역에서 가장 많이 사용하는 데이터를 저장한다.
- 각 지역의 분산 처리기에 설치된 데이터 베이스 관리 시스템이 이를 관리한다.
통신 네트워크
- 지역의 분산 처리기는 네트워크 (network)를 통해 자원을 공유하기 때문에 논리적으로 하나의 시스템과 같은 기능을 제공한다.
3.2 분산 데이터베이스 시스템의 주요목표
- 분산 데이터 독립성(distributed data independency)이라 한다.
- 분산 데이터 독립성은 데이터베이스가 분산되지 않은 것처럼 사용할 수 있다는 의미로
- 분산 데이터베이스 시스템의 주요 목표다.
- 분산 데이터 독립성을 지원하기 위해서는 분산 투명성 (distribution transparency)을 보장한다.
- 분산 투명성에는 위치 투명성, 중복 투명성, 단편화 투명성, 병행 투명성, 장애 투명성이 있다.
3.2.1 위치 투명성
- 위치 투명성(location transparency)은 데이터베이스가 지역적으로 분산되어 있지만
- 사용자가 접근 하려는 데이터의 실제 저장 위치를 알 필요 없이
- 데이터베이스의 논리적인 이름만으로 데이터에 접근할 수 있다는 의미
- 데이터 접근에 대한 요구가 발생하면 이 정보를 제공함으로써 데이터에 대한 접근을 수행한다.
데이터에 접근하려는 요청이 들어오면
- 다른 지역에 있는 데이터를 가져와 처리한다.
- 데이터 접근 요청을 하는 트랜잭션을 데이터가 있는 지역으로 보내 처리한후 결과 데이터만 가져온다.
- 위 두 가지 방법을 모두 사용해 처리한다.
위치 투명성이 보장되면
- 데이터베이스 관리 시스템이 시스템 카탈로그에서 관리하는 위치 정보를 통해
- 데이터를 제공하기 때문에
- 그리고 자주 사용하는 데이터는 요청이 발생한 지역으로 가져가 처리함으로써 효율적으로 처리할 수 잇다.
3.2.2 중복 투명성
- 데이터베이스를 여러 지역에 분산해 저장할 때 두 가지 방법을 생각할 수 있다.
첫번째 방법은
- 데이터가 중복되지 않게 분할하여 지역의 분산 데이터베이스에 저장하는 것이다.
둘째 방법은
- 지역의 분산 데이터베이스에 데이터를 중복하여 저장하는 것이다.
- 데이터를 중복 저장했을 때 단점만 있는 것은 아니다.
- 문제가 생기더라도 다른 지역 데이터베이스를 이용할 수 있기때문에 신뢰성과 가용성을 높일 수 있다.
<표 12-1 데이터 중복의 장단점>
구분내용
장점 | 한 지역에 문제가 생겨 다른 지역에서 작업을 계속 수행할 수 있으므로 신뢰성과 가용성이 높아진다. |
동일한 데이터가 저장된 여러 지역에서 병렬 처리를 수행할 수 있어 데이터처리 성능이 향상된다. | |
데이터 처리 요청이 한 지역에 집중되지 않고, 여러 지역에 분산되므로 처리 부담을 줄일 수 있다. | |
단점 | 동일한 데이터를 중복 저장 -> 저장 공간을 많이 사용한다. |
데이터를 변경 -> 중복 저장된 데이터를 모두 함께 변경해야 하므로 비용 증가. 변경 도중에 문제가 생겨 데이터 불일치가 발생 |
- 분산 데이터베이스에서는 여러 지역 데이터베이스에 데이터를 중복해서 저장하는 방법
완전 중복
- 동일한 데이터를 둘 이 상의 지역에 있는 분산 데이터베이스에 저장하는 것
부분 중복
- 부분 중복은 일부 데이터만 중복하여 저장하는 것
- 중복되는 데이터가 전혀 없는 경우를 특히 분할 데이터베이스라고 한다.
중복 투명성
- 중복 투명성(replication transparency)은 동일한 데이터가 여러 지역에 중복 저장되더라도
- 사용자가 중복을 인식하지 못하고
- 하나의 데이터 베이스 시스템에 데이터가 저장된 것처럼 사용
- 중복 투명성 : 중복저장 -> 중복 인식이 안되게 -> 하나의 데이터가 저장 된것 같은
3.2.3 단편화 투명성
- 단편화 인식 안되도록 => 조각별로 나눈다.
- 단편화 (fragmentation)는 하나의 릴레이션을 더 작은 조각(단편)으로 나누고
- 각 조각을 별개의 릴레이션으로 처리하는 것이다.
- 그러므로 단편화를 통해 데이터 중복의 장점은 그대로 취하면서 데이터 중복의 단점을 보완할 수 있다.
단편화 수행할때 3가지 조건
완전성전체 릴레이션의 모든 데이터는 어느 한 조각에는 꼭 속해야한다. (데이터는 한조각에 속한다.)
회복성 | 단편화된 조각들로부터 원래의 전체 릴레이션을 회복할 수 있어야 한다. (단편화로 -> 전체회복가능) |
분리성 | 전체 릴레이션의 모든 조각을 서로 중복되지 않게 분히해야 한다. (서로 중복 X) |
- 릴레이션을 단편화하는 방법에는 수평적 단편화, 수직적 단편화, 혼합 단편화가 있다.
3.2.3.1 수평적 단편화
- 수평적 단편화는 릴레이션을 수평적으로 단편화하는 것으로
<그림 12-7 수평적 단편화의 예>
3.2.3.2 수직적 단편화
- 수직적 단편화는 릴레이션을 수직적으로 단편화 하는 것으로
<그림 12-8 수직적 단편화의 예>
3.2.3.3 혼합 단편화
- 혼합 단편화는 수평적 단편화와 수직적 단편화를 모두 사용하여 릴레이션을 나눈다.
세가지 방법으로 단편화 된 데이터를 여러 지역에 나누어 저장한다.
- 그러나 사용자가 데이터를 쓸 때는 데이터가 단편화된 것을 인식할 수 없도록 단편화 투명성(fragmentation transparency)을 제공
3.2.4 병행 투명성
- 병행 투명성 (concurrency transparency)은 분산 데이터베이스와 관련된 트랜잭션들이
- 동시에 수행 되더라도 결과는 항상 일관성을 유지한다.
3.2.5 장애 투명성
- 장애 투명성(failure transparency)은 특정 지역 시스템에 문제가 발생하더라도 전체 시스템이 작업을 계속 수행할 수있다.
3.3 분산 데이터베이스의 구조
- 예시 3개의 지역에 데이터를 분산하여 저장하는 분산 데이터베이스를 가정
<그림 12-9 분산 데이터베이스의 일반 구조>
3.3.1 전역 개념 스키마
- 전역 개념 스키마(global conceptual schema)는 분산 데이터베이스에 저장할 모든 데이터 구조와 제약 조건을 정의 한다.
- 전역 개념 스키마를 정의 할때 데이터의 분산은 고려하지 않는다.
- 데이터구조 + 제약조건 / 데이터 분산은 고려하지 않는다
- DB에 존제하는 모든 릴레이션 스키마의 집합이다.
3.3.2 단편화 스키마
- 분산 데이터베이스에서는 분산을 위해 전체 데이터 구조도 여러 조각으로 분할한다.
- 단편화 스키마(fragmentation schema)는 전역 개념 스키마를 분할하는 방법인 단편화를 정의 한다.
3.3.3 할당 스키마
- 조각 인스턴스의 물리적으로 저장
- 분할된 각 조각 스키마의 인스턴스는 실제로 하나 이상의 지역에 물리적으로 저장
- 할당 스키마(allocation schema)는 각 조각 스키마의 인스턴스를 물리적으로 저장해야 되는 지역을 정의
3.4 분산 데이터베이스의 질의 처리
- 디스크 접근 횟수뿐만 아니라.
- 네트워크에서 데이터를 전송하는 비용과 하나의 질의문을 분해하여 여러 지역에서 병렬 처리함으로써 얻는 성능상의 이점도 고려한다.
3.5 분산 데이터베이스 시스템의 장-단점
3.5.1 분산 데이터베이스 시스템의 장점
<그림 12-10 분산 데이터베이스 시스템의 장점>
신뢰성과 가용성 증대
- 작업 수행 유지, 신뢰성, 가용성 높다.
- 분산 데이터베이스 시스템에서는 장애가 발생하지 않은 다른 지역의 데이터베이스를 이용해 작업을 계속 수행할 수 있다.
- 분산 데이터베이스를 이용하면 시스템의 신뢰성과 가용성을 높일 수 있다.
지역 자치성과 효율성 증대
- 독립적 -> 요청에 대한 응답 시간을 줄이고/ 통신 비용은 낮춘다.
- 지역별로 독립적으로 관리할 수 잇다.
- 데이터 요청에 대한 응답 시간을 줄이고 통신 비용도 절약된다.
확장성 증대
- 확장성 용이
- 분산 데이터베이스 시스템에서는 새로운 지역에 데이터베이스를 설치하여 운영하면 되기 때문에 확장이 쉽다.
3.5.2 분산 데이터베이스 시스템의 단점
- 데이터 분산, 단편화, 중복, 설계 및 구축 비용 많이 든다.
- 관리가 복잡하고, 관리 비용도 많이든다.
- 추가 통신 비용이나 처리 비용 발생
4. 멀티미디어 데이터베이스 시스템
- 멀티미디어 데이터베이스 시스템은 숫자나 문자 데이터와 같은
- 일반 데이터를 처리하는 기능뿐 아니라 영상, 음향 및 애니메이션과 같은 멀티미디어 데이터도 효과적으로 저장하고
- 처리하는 기능을 함께 제공한다.
4.1 멀티미디어 데이터의 특성
- 그래픽, 이미지, 비디오, 오디오등 다양한 타입의 데이터가 존재
- 데이터의 각 타입을 미디어(media)라 하고
- 여러 미디어의 조합으로 이루어진 데이터를 멀티미디어 데이터(multimedia data)라고 한다.
<표 12-2 멀티미디어 데이터의 유형>
유형의미
텍스트 | 문자로 구성된 데이터 |
그래픽 | 수학 공식을 기반으로 제작된 벡터 이미지 데이터 |
이미지 | 정적 이미지나 사진과 같이 픽셀 단위로 표현되는 비트맵 이미지 |
비디오 | 동영상, 애니메이션 |
오디오 | 음성, 소리, 음악 |
<그림 12-11 멀티미디어 데이터의 특성>
4.1.1 대용량 데이터
- 일반 데이터와는 다른 구조로 별도의 저장 공간을 구성하여 관리한다.
4.1.2 검색 방법이 복잡한 데이터
- 멀티미디어 데이터를 검색하는 방법에서는 설명 기반 검색과 내용 기반 검색이 있다.
4.1.2.1 설명 기반 검색 (description-based retrieval)
- 데이터의 특성을 나타내는 키워드나 자세한 설명을 멀티미디어 데이터와 함께 저장해두었다가
- 설명을 작성하는 사람의 주관적인 관점이 반영되어 같은 멀티미디어 데이터에 대한 설명이 달라진다.
4.1.2.2 내용 기반 검색(content-based retrieval)
- 멀티미디어 데이터의 실제 내용을 이용하여 검색하는 방법
- 멀티미디어 데이터가 포함한 내용에 대한 정보를 추출해서 데이터베이스에 저장하는 기술과
- 정보를 이용해 사용자의 질의를 처리하는 멀티미디어 데이터용 질의 처리 기법이 별도로 필요하다.
- 실제 내용 기반
4.1.2.3 구조가 복잡한 데이터
- 멀티미디어 데이터는 원시 데이터(raw data), 등록 데이터(registragion data), 서술 데이터(description data)으로 구성
- 원시 데이터: 텍스트, 그래픽, 이미지, 비디오 오디오 등 기본타 데이터
- 등록 데이터 : 멀티미디어 데이터특성 + 필요한 특성 추출
- 서술 데이터: 멀티미디어 데이터를 검색할 때 사용되는 것으로 멀티미디어 데이터에 지정된 키워드나 자세한 설명 등이 이에 해당
- 멀티미디어 데이터는 : 공간 + 시간적 관련
4.2 멀티미디어 데이터베이스의 발전과 과정
- 관계 DB 시스템, 객체지향 DB 확장
첫번째
- 관계 데이터베이스 시스템을 확장하여 데이터를 처리하는 것
두 번째
- 객체지향 데이터베이스를 확장하여 멀티미디어 데이터를 처리하는 것
4.2.1 관계 데이터베이스에서의 멀티미디어 데이터 처리
- 관계 데이터베이스에 멀티 미디어 데이터를 위한 새로운 데이터 타입을 추가하여 멀티미디어 데이터를 저장하고 처리하는 방법
- 이 방법을 적용한 시스텀으로 GENESIS, STAIRS 등이 있다.
- 이러한 시스템에서는 이미지, 그래픽 등의 대용량 멀티미디어 데이터를 처리하기 위해
- 이진 대형 객체(BLOB: Binary Large Object)라는 새로운 데이터 타입을 지원
- 이미지, 그래픽 대용량 멀티 미디어 data 처리
관계 데이터베이스에서 멀티미디어 데이터처리 장점
- 관계 데이터베이스를 확장하여 멀티미디어 데이터를 저장하고 관리하면
- 관계 데이터베이스가 제공하는 안정적인 이론과 다양한 기법을 그대로 이용할 수 잇다는 장점이 있다.
단점
- 멀티미디어 데이터가 가진 시공간적인 특성 표현, 다양한 미디어 데이터들의 통합 모델링 기능
- 사용자의 요구에 맞는 다양한 연산 표현 및 조작 기능 등은 거의 제공하지 못한다는 한계가 있다.
4.2.2 객체지향 데이터베이스에서의 멀티미디어 데이터 처리
- 객체지향 데이터베이스를 멀티미디어 데이터 처리에 이용하려고 시도
- 데이터베이스는 다양한 관계의 표현
- 데이터 추상화와 캡슐화, 상속등 멀티미디어 데이터를 처리하는 데 필요한 다양한 기능을 제공
장점
- 데이터 추상화와 캡슐화, 상속 등의 개념을 지원한다는 것이다.
단점
- 시스템도 멀티미디어 데이터의 복잡하고 다양한 모델링 요구 사항을 완벽히 만족시키지 못한다는 한계가 있다.
4.3 멀티미디어 데이터베이스 관리 시스템의 구성
- 멀티미디어 데이터베이스는 단순 텍스트뿐만 아니라 오디오, 비디오 같은 다양한 형태의 데이터를 다룬다.
- 멀티미디어 데이터베이스 시스템은
- 데이터베이스 시스템의 기본 기능을 제공 + 멀티 미디어 데이터 특성에 따른 다양 하고 새로운 사항도 고려
- 멀티미디어 DB = 기본기능 + 멀티미디어 DATA 특성
- 멀티미디어 데이터는 일반 데이터와 달리 보통 대용량이고 시공간적 연속성을 가지고 있다.
- 일반적으로는 다양한 유형의 미디어 데이터를 지원하는 데이터베이스 관리 시스템을 더 요구한다.
- 다양한 유형의 멀티미디어 데이터를 지원하는 데이터베이스 관리 시스템을 구성
4.3.1 파일 시스템을 이용하는 방식
- 멀티미디어 데이터를 지원하는 방식
- 응용 프로그램에 필요한 멀티미디어 데이터를 파일로 저장하고 관리한다.
- 데이터를 응용 프로그램에 직접 관리해야 하기 때문에 응용 프로그램 개발이 어렵고,
- 파일의 단순한 저장 구조에 복잡한 멀티미디어 데이터를 저장하기도 쉽지 않다.
- 데이터의 동시 공유, 회복, 보안등 데이터베이스 관리 시스템의 고급 기능을 제공하기 어렵다.
4.3.2 관계 데이터베이스 관리 시스템을 이용하는 방식
- 텍스트 같은 일반 데이터는 관계 데이터베이스에 저장하고
- 이미지나 비디오 같은 데이터는 파일에 저장한다.
- 지리 정보 시스템(GIS: Geographical Information Systems)등에서 많이 사용한다.
- 데이터 처리 요청을 위해 두 가지 방법을 모두 지원해야 한다는 부담이 있다.
- 파일에 저장되는 멀티미니어 데이터에 데이터베이스 관리 시스템의 고급기능을 제공할 수 없다는 문제
4.3.3 객체지향 데이터베이스 관리 시스템을 이용하는 방식
- 객체지향 개념을 지원하는 데이터베이스 관리 시스템을 이용하는 방식
- 다양한 관계의 표현, 데이터 추상화와 캡슐화, 상속 등의 객체지향 개념을 지원하므로
- 멀티 미디어 데이터를 처리하는 데 필요한 여러 가지 기능을 제공
- 관계 데이터베이스 관리 시스템에서 제공하는 동시성제어, 질의 최적화, 회복 기능 등의 고급 기능을 제공하지 못하는 경우가 많다.
4.4 멀티미디어 데이터의 질의
- 멀티미디어 데이터에 대한 질의 처리가 어려운 가장 큰 이유는
- 미디어에 따라 다양한 유형의 질의가 존재하기 때문
4.4.1 멀티미디어 데이터의 질의 유형
4.4.1.1 텍스트 질의
- 사용자가 제시한 키워드를 포함하는 문서를 검색하는 질의
- 한빛, 데이터베이스 키워드를 포함하는 문서를 모두 검색
4.4.1.2 이미지 질의
- 사용자가 제시한 키워드와 관련 있는 이미지를 검색하는 내용 검색이나.
- 사용자가 제시한 이미지와 유사한 이미지를 검색하는 유사도 검색 질의가 많다.
- "개"를 포함하는 이미지를 검색하는 질의, 제시한 이미지와 유사한 이미지를 검색하는 질의
4.4.1.3 비디오 질의
- 비디오는 장면이라는 여러 정지 화면으로 구성
- 장면을 대상으로 하는 검색 질의가 많다.
- "미녀"와 "야수"가 식사하는 장면을 검색
4.4.1.4 공간 질의
- 주어진 범위 조건에 맞는 특정 위치를 검색하는 질의가 많다.
- "한빛 아카데미"를 기준으로 5KM 이내에 있는 식당을 검색하는 질의
- "한빛아카데미"에서 가장 가까운 식당을 검색하는 질의
4.4.2 멀티미디어 데이터의 질의 처리
- 다양한 유형의 검색 질의를 처리하기 위해 다음과 같은 기법이 자주 사용된다.
4.4.2.1 매칭(matching) 기법
- 수학 함수로 저장된 데이터와 질의 조건으로 주어진 데이터 간의 유사도를
- 수학 함수로 계산하여, 유사도가 높은 데이터를 검색한다.
4.4.2.2 랭킹(ranking) 기법
- 검색 결과를 질의 조건과의 관련 정도에 따라 정렬하여
- 관련성이 높은 결과부터 제공한다.
4.4.2.3 필터링(filtering) 기법
- 질의 조건과 관련성이 적은 데이터 단계적으로 제거하여
- 검색 범위를 줄여가면서 검색한다.
4.4.2.4 인덱스(index) 기법
- 인덱스 구조를 이용해 질의 조건에 적합한 데이터를 검색한다.
5. 기타 데이터이스 응용 기술
5.1 웹 데이터베이스
- 웹서비스 + 데이터 베이스
- 새로운 유형의 웹 서비스에서 대용량 데이터를 효율적으로 관리하려면 데이터베이스 시스템에서 제공하는 기능이 반드시 필요하다.
- 웹 서비스와 데이터베이스 시스템을 통합한 웹 데이터베이스가 등장한다.
- 웹 데이터베이스를 올바르게 수행하려면
- 데이터베이스를 올바르게 수행하려 웹 서비스와 데이터베이스 시스템을 연결해주는 미들웨어(middleware)가 필요하다.
- 웹 서비스는 미들웨어를 통해 데이터베이스 시스템의 기능을 제공 받는다.
- 미들웨어를 데이터베이스 통로(database gateway)라고 한다.
미들웨어를 구현하는 방법을 2가지로 분류한다.
첫번째는
- 미들웨어를 통해 데이터베이스에 접근하는 프로그램을 웹 서버 쪽에 두는 서버 확장 방법이고
두번째는
- 클라이언트 쪽에 두는 클라이언트 확장 방법이다.
5.2 데이터 웨어하우스
- 데이터베이스에 저장된 엄청난 양의 데이터를 분석하여
- 사용자에게 필요한 정보를 효율적으로 추출하는 일은 결코 쉽지 않다.
- 저장된 데이터를 분석하고 요약하고 추출한 유용한 용한 정보를 의사 결정에 이용하는
- 의사 결정 지원 시스템(DSS: Decision Support System)이 많이 사용된다.
- 데이터베이스에 저장된 수많은 데이터 중에서 의사 결정에 도움이 되는 데이터를
- 빠르고 정확히 추출할 수 있는 방법에 대한 연구가 많이 이루어진다.
- 그중 한 가지 방법이 데이터 웨어 하우스이다.
데이터 웨어하우스(data warehouse)
- 데이터베이스 시스템에서 의사 결정에 필요한 데이터를 미리 추출하여
- 원하는 형태로 변환하고 통합한 읽기 전용ㅇ의 데이터 저장소 이다.
- 미리 추출 + 읽기 전용 데이터 저장소
<그림 12-12 데이터 웨어하우스 개념>
일반DB
- 일반 데이터베이스는 운영 데이터의 집합으로,
- 트랜잭션에 의해 데이터의 삽입-삭제-수정이 수행되는 트랜잭션 처리 중심의 업무를 위한 것이다.
웨어하우스
- 반면 데이터 웨어하우스는 의사 결정을 위한 정보의 집합으로
- 검색위주의 의사 결정 업무를 위한 것이다.
- 데이터 웨어하우스는 올바른 의사 결정으 ㄹ위해 현재의 데이터와 과거의 데이터를 함께 유지하는 경우가 많다.
5.2.3 데이터 웨어하우스가 주요 특징
5.2.3.1 주제 지향적(subject-oriented) 내용이다.
- 일반 데이터베이스: 의사 결정에 필요없어도 업무 처리에 필요한 데이터를 모두 유지
- 데이터 웨어하우스: 의사결정에 필요한 주제와 관련된 데이터만 유지한다.
- 데이터 웨어하우스는 최고 경영자나 데이터 분석가 등이 사용하므로 데이터를 ㄹ좀더 이해하기 쉬운 형태로 제공하기 위해
- 주에 지향적 특징을 지닌다.
- 데이터 웨어하우스 주제 필요 관련 데이터만
- 데이터 웨어 하우스 : 필요한 주제 + 관련 데이터
5.2.3.2 통합된(integrated) 내용
- 구조가 다른 열 데이터베이스에서 데이터를 추출할 때는 이름이나 타입 등에서 충돌이 발생할 수 있다.
- 예를 들어 서로 다른 두 데이터베이스에서 추출한 데이터가 이름은 같지만 내용이 다르거나
- 타입이 다른 경우를 생각해볼 수 있다.
5.2.3.3 시간에 따라 변하는(time-variant)내용
- 일반 데이터베이스는 현재의 데이터만 유지 하지만
- 데이터 웨어하우스는 올바른 의사 결정을 위해 현재와 과거 데이터를 함께 유지한다.
- 데이터 웨어하우스가 저장하고 있는 각 시점의 데이터를 스냅샷(snapshot)이라 한다.
- 데이터 웨어 하우스가 저장 시점의 데이터
<그림 12-13 시간에 따라 변화하는 데이터 웨어하우스>
5.2.3.4 비소멸성(nonvolatile)을 가진 내용이다.
- 웨어하우스 : 검색 기능만, 검색을 위한 효율만 따진다.
- 일반 데이터베이스에 저장된 데이터는 삽입-삭제-수정이 자주 발생한다.
- 데이터 웨어하우스는 검색 작업만 수행되는 읽기 전용의 데이터를 유지한다.
- 검색 작업 위주의 데이터 웨어하우스는 삽입-삭제-갱신(수정)의 염려가 없다.
- 검색의 효율성을 고려하여 설계한다.
요약
1. 객체지향 데이터베이스
- 객체 : 현실 세계에 존재하는 개체를 추상적으로 표현한 것
- 객체 식별자(OID) : 각 객체를 유일하게 식별
- 속성 : 객체의 상태나 특성
- 메서드 : 객체에 수행할 수 있는 연산으로 객체의 속성 값을 조작
- 클래스 : 속성과 메서드를 공유하는 유사한 성질의 객체들을 그룹화한 것
- 복합 객체 : 사용자 정의 클래스를 도메인으로 하는 속성을 가지고 있느 ㄴ객체
- 질의 대상은 클래스이고 질의 결과는 클래스에 속하는 객체 집합
2. 객체관계 데이터베이스
- 관계 데이터 모델에 객체지향 개념을 적용한 객체관계 데이터 모델을 기반으로 하는 데이터베이스다
- 객체 지향 개념을 지원하는 표준 SQL을 사용한다.
3. 분산 데이터베이스 시스템
물리적으로 분산된 데이터 베이스 시스템을 연결하여
하나의 중앙 집중식 데이터베이스 시스템처럼 사용하는 시스템이다.
- 구성 : 분산 처리기, 분산 데이터베이스, 통신 네트워크
- 목표 : 위치 투명성, 중복 투명성, 단편화 투명성, 병행 투명성, 장애 투명성 보장
- 장점 : 신뢰성, 가용성, 지역 자치성, 효율성, 확장성 지원
- 단점 : 개발 및 관리 비용이 많이 소요됨
- 구조 : 전역 개념 스키마, 단편화 스키마, 할당 스키마, 지역 스키마.
4. 멀티미디어 데이터베이스 시스템
다양한 미디어가 조합된 멀티미디어 데이터를 저장하고 관리하는 시스템
- 데이터 유형 : 텍스트, 그래픽, 이미지, 비디오, 오디오
- 데이터 특성 : 대용향 데이터, 검색 방법과 구조가 복잡한 데이터
- 미디어 종류에 따라 다양한 질의 유횽과 처리 기법이 존재함
- 질의 유형 + 처리 기법 존제
5. 웹 데이터베이스
- 웹 서비스와 데이터베이스 시스템이 제공하는 데이터 관리 기능을 톱합한 데이터베이스다.
6. 데이터 웨어하우스
- 데이터베이스 시스템에서 의사 결정에 필요한 데이터를 미리 추출하여
- 원하는 형태로 변환하고
- 통합한 읽기 전용의 데이터 저장소다.
- 주제 지향적이고 통합적이며 비소멸성이면서, 시간에 따라 변화하는 데이터베이스
- 주제 지향적, 통합적, 비소멸성, 시간에 따라 변하는 DB
'학교 전공 > 데이터베이스' 카테고리의 다른 글
데이터베이스 개론(3판) - 11장 보안과 권한 관리 (1) | 2023.12.06 |
---|---|
데이터베이스 개론(3판) - 9장 정규화 (1) | 2023.12.06 |
데이터베이스 개론(3판) - 10장 회복과 병행 제어 (1) | 2023.11.28 |
연습문제 - 데이터베이스 개론(3판) - 4장 데이터 모델링 (0) | 2023.10.23 |
연습문제 - 데이터베이스 개론(3판) - 3장 데이터베이스 시스템 (0) | 2023.10.23 |