• 검색 결과가 없습니다.

13.2 분산 데이터베이스 구조 13.3 분산 데이터베이스 트랜잭션

N/A
N/A
Protected

Academic year: 2022

Share "13.2 분산 데이터베이스 구조 13.3 분산 데이터베이스 트랜잭션 "

Copied!
29
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

제13장 분산 Database - D istributed Database -

2009. 08. 10

경원대학교 IT대학 컴퓨터 소프트웨어학과

(2)

13.1 개요

13.2 분산 데이터베이스 구조 13.3 분산 데이터베이스 트랜잭션

익힘문제

(3)

3

13.1 개요

분산 DB: 분산: 여러 개체들을 흩어놓는 것 DB: 여러 개체들을 모으는 것

자료를 지역에 흩어놓고 연결하여 하나처럼 사용.

가상적인 Database.

분산: 여러 개체들을 하나처럼 사용하는 기술

[표 13.1)] 분산 데이터베이스의 종류

종류 내 역

연 방

DB 기존의 DB 시스템들을 통합하여 사용하는 DB 분 산 하나의 DB를 여러 시스템에 배치하여 사용하는

(4)

4

13.1 개요

병렬처리 Database

하나의 질의를 여러 시스템들이 나누어 처리하는 Database 병렬처리 시스템

처리장치와 입출력장치들을 병렬로 연결하여 자료를 여러 장치에서 동시에 나누어 처리하는 시스템.

[표 13.2) ] 병렬처리 시스템 분류

분 류 기억장치 접근 속

도 실 례

밀 결합 고속 슈퍼컴퓨터 이완 결합 저속 분산 컴퓨터

(5)

5

13.1 개요

병렬처리 Database 구조 1) 무공유

2) 공유 메모리 3) 공유 디스크

(6)

6

13.1 개요

[표 13.3) ] 병렬처리 데이터베이스의 구조

구 조 내 역 문제점

무 공유 독립된 시스템들을 연결 디스크 공유 곤란 메 모 리 공

유 공유 메모리를 중심 메모리 사용 시 간 섭

디 스 크 공 유

전용 메모리의 프로세서 들이 디스크 공유

디스크 사용 시 간 섭

(7)

7

13.1 개요

분산 데이터베이스의 부수기능

부수 기능 내 역

분산 트랜잭션 관

리 전역 트랜잭션과 지역 트랜잭션 관리 메타 자료 관리 분산 DBMS의 모든 메타 정보 유지

(분산, 단편, 할당, 중복 정보 등)

분산 질의처리 비용 감소를 위하여 세미 조인 사용 등 중복 자료관리 사본을 식별하고, 일관성 유지

분산 DB 회복 고장 시 데이터베이스를 회복하는 기 능

보안 불법 침입으로부터 데이터베이스 보호

(8)

8

13.1 개요

분산 데이터베이스의 장점

장 점 내 역

성능 작업을 나누어 처리하므로 응답 시간 감소 가 용

성 여러 사이트에 저장되어 있으므로 가용성 증가 지 역

성 접근성과 통신 시간 단축 효과 확 장

성 네트워크에 추가하는 것으로 쉽게 확장 투 명

성 논리적으로 하나의 시스템처럼 쉽게 자료 처리

(9)

9

13.1 개요

분산 데이터베이스의 단점

단 점 내 역

복잡성 여러 시스템을 처리해야 하므로 내부 구조 복잡

오류 기능이 복잡하기 때문에 오류 발생 가능성 증대 처리 부

담 통신량 증대와 협동처리로 처리 부담 증가 비용 복잡성과 처리 부담 증가로 인하여 비용 증가

(10)

10

13.2 분산 Database 구조

(11)

11

13.2 분산 Database 구조

분산 데이터베이스의 물리 구조

구성요소 내 역

지역 DBMS 지역 사이트의 데이터베이스를 관리 지역 DB 지역 사이트에 저장된 자료

(전역 데이터베이스 구성 요소)

통신망 지역 사이트들을 연결하는 통신망

분산 DBMS 전역 트랜잭션과 전역 데이터베이스 관리

전 역 카 탈 로

그 전역 데이터베이스에 대한 메타-자료

(12)

12

13.2 분산 Database 구조

[표 13.8) ] 분산 데이터베이스의 특성

특성 내 역

자치성 지역 DB들이 독립적으로 운영할 수 있는 기능

이질성 다양한 DB와 소프트웨어들로 구성될 수 있는 기 능

분산성 DB가 여러 사이트에 설치되어 운영되는 기능

(13)

13

13.2 분산 Database 구조

분산 데이터베이스의 3요소

자치성

이질성

분산이질 다중DB 분산이질

연방DB

통합동질 복수DB

분산동질 연방DB

(14)

14

13.2 분산 Database 구조

[표 13.9) ] 분산 데이터베이스의 분류

분류 내역 및 실제 DBMS

DB

전역 사 용 자

자치 자치성이 높은 동질 DBMS. ex. R* 비 자

자치성이 낮은 동질 DBMS. ex. SDD-1

DB

Gateway 이질 DB 시스템들을 통신 인터페이스 방식으로 연결

하나의 System 으로 통합

Full DBMS

모든 DBMS 기능을 지원하는 이질 DBMS. ex.

Porel

부분적인 DBMS 기능

연방 DB

전역과 지역 사용자를 허용하는 DBMS.

ex. Mermaid 비 연 방

DB

전역 사용자만 허용하는 이질 DBMS.

ex. Unibase

(15)

15

13.2 분산 Database 구조

분산 데이터베이스 분류

분산 데이터베이스 시스템

동질 Database 이질 Database

자치 Database 비자치 Database 시스템 통합 Gateway 방식

Full DBMS 부분 DBMS

비연방 Database 연방 Database

(16)

16

13.2 분산 Database 구조

분산 데이터베이스 스키마 구

F2

F3

F4

F5 F1 단편

지역 사이트

할당 스키마 단편 스키마

가상 DB

전역 스키마

지역 스키마 Site

A

Site B

Site C F1

F2

F3

F4

F5

F1

F2

F3 F2

F3

F4

F5

(17)

17

13.2 분산 Database 구조

[표 13.10) ] 분산 데이터베이스의 논리 구조

구성 요소 내 역

전역 스키마 모든 지역 스키마의 합집합

단편 스키마 전역 DB를 구성하고 있는 단편들을 정의 할당 스키마 어느 단편이 어느 지역에 할당되었는지를 정

지역 스키마 지역에 어느 단편들이 저장되었는지를 정의

(18)

18

13.2 분산 Database 구조

단편화 설계

서울 지역

대구 지역

제주 지역

직원 데이터베이스 인사 사항 영업 사항

수평 단편화 수직 단편화

인사부 영업부

서울 본사

울산 공장 인사 사항 영업 사항

영업부 인사부

혼합 단편화

(19)

19

13.3 분산 데이터베이스 트랜잭션

분산 트랜잭션

전역 트랜잭션과 지역 트랜잭션

(20)

20

13.3 분산 데이터베이스 트랜잭션

분산 트랜잭션

트랜잭션 관리자: 지역 Database 관리 트랜잭션 조정자:

지역 사이트에 기동된 모든 트랜잭션 관리.

트랜잭션 관리자에게 위탁하고 결과를 종합

(21)

21

13.3 분산 데이터베이스 트랜잭션

중첩 트랜잭션: 루트 또는 자식 트랜잭션이 취소되면?

전역 트랜잭션 : yymmdd부터 yymmdd까지 부산에서 출발하여 홍콩에 서 차량으로 여행하는 스케줄을 세우시오.

지역 트랜잭션: 1) 항공 스케줄, 2) 호텔 스케줄, 3) 자동차 임대 스케줄

(22)

22

13.3.2 분산 질의처리

전역 질의

select balance from Deposit

지역 질의

select balance

from Deposit

Site i

분산질의를 수행하는 세 개 사이트 select balance

from Deposit Site1

select balance from Deposit Site2

select balance from Deposit Site3

(23)

23

13.3.2 분산 질의처리

자료전송 비용

Query: 사이트 3에서 “영업사원의 이름별로 고객이름을 찾아 라”

전송비용을 계산하시오.

SQL 문장

select S.name C.name

from customer as C, sawon as S where C.eid = S.eid

order by S.name

CID name address tel Site 1

CUSTOMER

EID fields amount

Site 2 SAWON

EID 고객 수: 10,000명

레코드 길이: 200바이트 고객번호 길이: 10바이트

고객 이름 길이: 30바이트

사원 수: 1,000명 영업사원수: 100명 레코드 길이: 100바이트 사원번호 길이: 10바이트

name

...

...

(24)

24

13.3.2 분산 질의처리

자료전송 비용

Query: 사이트 3에서 “영업사원 ‘홍길동’이 담당하는 고객이 름을 찾아라”.

select C.name

from customer as C, sawon as S

where C.eid = S.eid and S.name = '홍길동‘

(25)

25

13.3.2 분산 질의처리

semi-join

사이트 간의 자료 전송량을 줄이기 위하여 조인에 꼭 필요한 자료만을 이동시키는 기술.

R

A=B

S :

SiteR에서 R과 S의 중복되는 속성을 프로젝션한 결과를 SiteS로 보내서 S와 조인을 수행하고, 그 결과에서 필요한 자료만(셀렉트 하고 프로젝션 한 결과) 다시 SR로 가져와 서 R과 조인하는 연산.

(26)

26

13.3.2 분산 질의처리

semi-join

1) SiteR에서 EID 공통속성만으로 테이블 temp1 생성.

temp1 = πEID(C)

2) temp1 테이블을 사이트 SiteS로 전송.

3) SiteS에서 temp1과 SAWON을 조인, (EID, name) 속성으로 temp2 생성. temp2 = π EID, name (SAWON EID temp1))

4) temp2를 SiteR 로 전송.

5) SiteR에서 temp2와 CUSTOMER 조인, 필요한 속성들만 출력하여 temp3 테이블 생성.

temp3 = π S.name, C.name (C EID temp2)) 6) temp3 테이블을 사이트 3으로 전송.

(27)

27

13.3.2 분산 자료 갱신

여러 사이트에 저장된 사본들을 일관성 있게 갱신하는 기술 동기 중복

모든 사이트의 사본들을 함께 록을 걸고 갱신

사본 2

사본 3

사본 1

사본 4

원본

록 요청 록 요청

록 요청

록 요청

갱신 지시

갱신 지시 갱신 지시

갱신 지시 완료

보고

완료 보고

완료 보고

전역 완료 Site 1

Site 2

Site 3

Site 5

Site 0 완료 보고

(28)

28

13.3.2 분산 자료 갱신

비동기 중복

사본들을 원본과 복제본으로 구분하고,

원본 위주로 갱신하고 갱신 결과를 전파하는 방식

사본 2

사본 3

사본 1

사본 4

원본 록 요청

갱신 갱신

지시

갱신 지시

갱신 지시 갱신

지시

갱신 완료 보고

갱신

Site 1 Site 2

Site 3

Site 5

Site 0 갱신

갱신 갱신

(29)

29

13 익힘 문제

1. 전문이란? 전문검색이란?

2. 정보검색이란?

3. 자료검색과 정보검색의 차이점을 기술하시오.

4. 역파일?

5. 분산 데이터베이스의 분류 기준과 용도를 설명하시오.

6. 분산 스키마의 구조를 설명하시오.

7. 분산 트랜잭션과 중첩 트랜잭션의 관계를 설명하시오.

8. 세미 조인의 성능 효과를 설명하고, 가장 적합한 응용분야를 설명하시 오.

9. 동기 중복과 비동기 중복의 성능을 비교하시오.

10. 병렬처리 데이터베이스의 구조를 설명하시오.

11. 분산 데이터베이스의 장단점을 설명하시오.

참조

관련 문서

이때 온 켈트족들을‘브리튼(Britons)’으로 불렸는 데, 이들의 이름 따, 이곳의 이름도‘브리타니아(Britania)’라 불 렀고, 여기에서‘부르타뉴(Bretagne)’란

 체계적인 수문조사를 통해 다양한 수문정보를 구축하고 각종 정보화 기술을 이용해 국민에게 종합적인 물정보 서 비스를 제공.  데이터베이스 구축을 통해 수자원

 은행 업무 처리를 위한

◈ 데이터 필드로 기술된 데이터 타입 (data type)과 이 데이터 타입들 간의 관계를 이용하여 현실 세계를 표현하는 방법. 간의

그러므로 ㉥ ‘김 선생님’은 현재의 담화 상황에 참여하지 않는 인물을 지칭하는 표현이라는 설명은 적절하다.. 그러므로 ㉤이 아버지가 지금까지 은주와 나눈 대화의 화제

 모든 갱신은 데이터베이스의 그림자 사본에 이루어지며, db-pointer 는 트랜잭션이 부분 완료에 도달하고 갱신된 모든 페이지가 디스크에 출력된 후에만

 데이터베이스 개발자는 Oracle 8이나 IBM 의 DB2와 같은 데이터베이스 관리 시스템 에서 데이터 내용, 관계, 그리고 구조를 명 시하고 수정하기 위해서

 애트리뷰트 합성 방법