Microsoft PowerPoint - ch10_회복과 병행 제어.pptx

Similar documents
PowerPoint 프레젠테이션

<4D F736F F F696E74202D2039C0E52DC6AEB7A3C0E8BCC72E BC8A3C8AF20B8F0B5E55D>

<FEFF E002D B E E FC816B CBDFC1B558B202E6559E830EB C28D9>

쿠폰형_상품소개서

슬라이드 1

<B5A5C0CCC5CDBAA3C0CCBDBA20BDC7B1E B0AD3134B0AD3135B0AD2E687770>

PowerPoint 프레젠테이션

p. 10 Before You Read p. 26 Understanding the Story ( ).,.,..,,...,...

슬라이드 제목 없음

Microsoft PowerPoint - StallingsOS6e-Chap05.pptx

는 우연히 안나를 알게 되고, 이후 두 사람은 서로 격렬한 사랑에 빠진다. 결국 안나가 브 론스키의 아이를 임신하게 되자, 브론스키는 안나가 카레닌과 이혼하고 자기와 함께 새로 운 생활을 하길 바라지만, 안나는 아들 때문에 망설인다. 한편, 카레닌은 브론스키를 사랑 한

치밀한 시간 계산으로 한 치의 오차 없이 여행일정을 계획하지만, 상황이 항상 뜻대로 돌 아가지는 않는다. 인도에서는 철로가 끊겨 있기도 하고, 미국에서는 인디언의 공격을 받 기도 한다. 하지만 그는 항상 침착하고 냉정한 태도를 유지하며, 때로는 일정에 차질이 생 겨도

Microsoft PowerPoint - o6.pptx


untitled

금오공대 컴퓨터공학전공 강의자료

JDBC 소개및설치 Database Laboratory

Microsoft PowerPoint _Operating System Transactions.pptx

Abstract View of System Components

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - StallingsOS6e-Chap06.ppt [호환 모드]

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx

금오공대 컴퓨터공학전공 강의자료

<33312D322D313220C1A4BCD2BFB520B1C7BCF6C5C22E687770>

동기화에의한 Thread Deadlock 엑셈컨설팅본부 /APM 지원팀한승민 개요 Java 객체나 method 의동시성제어를위한동기화기법을잘못사용하였을때나타나는 Thread 간의 Deadlock 으로인한 Transaction 지연상황에대하여살펴보도록하자. 멀티쓰레드환경

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT

arcplan Enterprise 6 Charting Facelifts

p. 8 Before You Read 4..., p. 28 Understanding the Story < >..??

[Brochure] KOR_TunA

Computer Architecture

Microsoft PowerPoint - o6.pptx

Slide 1

항목

Microsoft PowerPoint - o6.pptx

온습도 판넬미터(JTH-05) 사양서V1.0


뇌를자극하는 SQL Server < 이것만은알고갑시다 > 모범답안 2 장 1. Windows XP Home, Windows XP Professional, Windows Vista Basic, Window

PowerPoint Presentation

Cloud Friendly System Architecture

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

M–CORE 설명 문서

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Synchronization

2012-1¿ùÇ¥Áö.ps

Beyond Blockchain 블록체인기술은중앙화된권력없이모든노드들간을합의할수있게하는방법을고안해냈습니다. 하지만블록체인기술은실시간트랜잭션의성사, 확장성같은근본적인문제점들과직면해있습니다. 개선된합의알고리즘에도불구하고, 현재구현된블록체인은한번에한블록만동기화하는노드를사용합

모든시스템은무계획및계획정지시간을갖게되며, 내결함및복구인프라를설계할때, 이러한무계획및계획정지에대한원인을고려하는것은매우중요한일이다. 무계획정지는다음과같은항목으로구성된다. - 컴퓨터오류 : 정전또는시스템장애 - 데이터오류 : 기업의중요데이터의손실, 파괴, 소손 스토리지오류

10주차.key

입학사정관제도

Microsoft Word - PLC제어응용-2차시.doc

Chapter #01 Subject

008°�³²°¡Á·½Å¹®1012-¼öÁ¤

1

ALTIBASE XDB Release Note APRIL 22, 2014

슬라이드 1

SAP HANA 플랫폼 인메모리 데이터베이스를 선택할 때 필요한 10가지 질문 시작

I care - Do you?

초보자를 위한 분산 캐시 활용 전략

wtu05_ÃÖÁ¾

untitled

PowerPoint Template


7 프로시저가활동중인것 8 실행중인프로시저의제어궤적 9 CPU가할당되는실체 운영체제가관리하는최소단위작업 (2) 프로세스상태전이도 (3) 주요프로세스상태 1 준비 (Read) 상태 : 실행하기위해준비하고있는상태 2 실행 (Run) 상태 :

Microsoft PowerPoint - 11_Thread

중점협력국 대상 국가협력전략 ( 9 개국 ) ᆞ 5 ᆞ 30 관계부처 합동

전자회로 실험

2 / 26

부터 수배자의 신분으로 숲 속에 숨어 살게 되는데, 궁술대회에서 자신과 비슷한 처지의 윌 스튜틀리를 만나게 되고 거구의 몸집에 유머를 지닌 리틀 존이 그의 심복으로 합세하 여 조직을 만든다. 그들과 함께 로빈이 여러 정의롭고 때론 유머러스한 모험을 하면서 나쁜 관리들을

06장.리스트

슬라이드 1

< B3E220C1A632C8B820C4C4C7BBC5CDBFEEBFEBBBE72041C7FC28C3D6C1BE292E687770>

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

목 차

Tina Admin

슬라이드 제목 없음

Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee

제품소개

Microsoft PowerPoint - [2009] 02.pptx

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

untitled

서강대학교공과대학컴퓨터공학과 (1/5) CSE3081 (2 반 ): 알고리즘설계와분석 < 프로그래밍숙제 2> (v_1.0) 담당교수 : 임인성 2015 년 10 월 13 일 마감 : 10 월 31 일토요일오후 8 시정각 제출물, 제출방법, LATE 처리방법등 : 조교가

View Licenses and Services (customer)

(72) 발명자 서진교 경기 용인시 수지구 풍덕천2동 1167 진산마을 삼성5차아파트526동 1004호 조필제 경기 용인시 풍덕천동 유스빌 401호 - 2 -

Operating System Lab 2

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

리텀 백서 새로저장-작은용량

yonsei452-Àμâ

Application 에서 Parameter 값을받아 JDBC Interface 로보내게되면적절한 JDBC Driver 를통해 SQL 을 Database 로보내주게되고결과를받아서사용자에게보여주게된다. 2-2 JDBC Interface JDBC 의핵심 Interface

원형연결리스트에대한설명중틀린것은 모든노드들이연결되어있다 마지막에삽입하기가간단한다 헤더노드를가질수있다 최종노드포인터가 NULL이다 리스트의 번째요소를가장빠르게찾을수있는구현방법은무엇인가 배열 단순연결리스트 원형연결리스트 이중연결리스트 단순연결리스트의노드포인터 가마지막노드를

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

Microsoft PowerPoint - JBossASTunning4BP.ppt

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

(10.7)종합가격표

1 처리능력 (Throughput) : 일정시간내에시스템이처리하는일의양 2 반환시간 (Turnaround time) : 시스템에작업을의뢰한시간부터처리가완료될때까지걸리는시간 3 사용가능도 (Availability) : 시스템을사용할필요가있을때즉시사용가능한정도 4 신뢰도

말은 많은 Blockchain 2


02-01 데이터베이스의필요성 데이터베이스의정의와특성

슬라이드 제목 없음

내지2도작업

Transcription:

13-01 트랜잭션 장애와회복 병행제어

병행수행과병행제어 병행수행 (concurrency) 여러사용자가데이터베이스를동시공유할수있도록여러개의트랜잭션을동시에수행하는것을의미 여러트랜잭션들이차례로번갈아수행되는인터리빙 (interleaving) 방식으로진행됨 병행제어 (concurrency control) 또는동시성제어 병행수행시같은데이터에접근하여연산을실행해도문제가발생하지않고정확한수행결과를얻을수있도록트랜잭션의수행을제어하는것을의미 50

병행수행시발생할수있는문제점 갱신분실 (lost update) 하나의트랜잭션이수행한데이터변경연산의결과를다른트랜잭션이덮어써변경연산이무효화되는것 여러트랜잭션이동시에수행되더라도갱신분실문제가발생하지않고마치트랜잭션들을순차적으로수행한것과같은결과값을얻을수있어야함 51

병행수행시발생할수있는문제점 갱신분실 트랜잭션 T 1 에대해갱신분실이발생함 (T 1 의변경연산결과가데이터베이스에반영되지않음 ) 52

병행수행시발생할수있는문제점 갱신분실 트랜잭션을순차적으로수행함으로써 갱신분실문제가발생하지않는경우 53

병행수행시발생할수있는문제점 모순성 (inconsistency) 하나의트랜잭션이여러개데이터변경연산을실행할때일관성없는상태의데이터베이스에서데이터를가져와연산함으로써모순된결과가발생하는것 여러트랜잭션이동시에수행되더라도모순성문제가발생하지않고마치트랜잭션들을순차적으로수행한것과같은결과값을얻을수있어야함 54

병행수행시발생할수있는문제점 모순성 트랜잭션 T 1 이데이터 X 와 Y 를 서로다른상태의데이터베이스에서 가져와연산을실행하는모순이발생 55

병행수행시발생할수있는문제점 모순성 트랜잭션을순차적으로수행함으로써 모순성문제가발생하지않는경우 56

병행수행시발생할수있는문제점 연쇄복귀 (cascading rollback) 트랜잭션이완료되기전장애가발생하여 rollback 연산을수행하게되면장애발생전에이트랜잭션이변경한데이터를가져가서변경연산을실행한다른트랜잭션에도 rollback 연산을연쇄적으로실행해야한다는것 여러트랜잭션이동시에수행되더라도연쇄복귀문제가발생하지않고마치트랜잭션들을순차적으로수행한것과같은결과값을얻을수있어야함 57

병행수행시발생할수있는문제점 연쇄복귀 트랜잭션 T 1 이변경한데이터 X를가져가연산을수행한트랜잭션 T 2 도 rollback 연산이연쇄적으로실행되어야하지만이미완료된상태라 rollback 연산을실행할수없는문제가발생 58

병행수행시발생할수있는문제점 연쇄복귀 트랜잭션을순차적으로수행함으로써 연쇄복귀문제가발생하지않는경우 59

트랜잭션스케줄 트랜잭션에포함되어있는연산들을수행하는순서 표 10-4 트랜잭션스케줄의유형 트랜잭션스케줄 의미 직렬스케줄 인터리빙방식을이용하지않고각트랜잭션별로연산들을순차적으로실행시키는것 비직렬스케줄 인터리빙방식을이용하여트랜잭션들을병행해서수행시키는것 직렬가능스케줄 직렬스케줄과같이정확한결과를생성하는비직렬스케줄 60

직렬스케줄 (serial schedule) 의미 인터리빙방식을이용하지않고각트랜잭션별로연산들을순차적으로실행시키는것 특징 직렬스케줄에따라트랜잭션을수행하면다른트랜잭션의방해를받지않고독립적으로수행되므로항상모순이없는정확한결과를얻게됨 다양한직렬스케줄이만들어질수있고, 직렬스케줄마다데이터베이스에반영되는최종결과가다를수있지만직렬스케줄의결과는모두정확함 각트랜잭션을독립적으로수행하기때문에병행수행으로볼수없음 61

직렬스케줄예 트랜잭션 T 1, T 2 를대상으로하는첫번째직렬스케줄 62

직렬스케줄예 트랜잭션 T 1, T 2 를대상으로하는두번째직렬스케줄 63

비직렬스케줄 (nonserial schedule) 의미 인터리빙방식을이용하여트랜잭션을병행수행하는것 특징 트랜잭션이번갈아연산을실행하기때문에하나의트랜잭션이완료되기전에다른트랜잭션의연산이실행될수있음 비직렬스케줄에따라병행수행하면갱신분실, 모순성, 연쇄복귀등의문제가발생할수있어결과의정확성을보장할수없음 다양한비직렬스케줄이만들어질수있고그중에는잘못된결과를생성하는것도있음 64

비직렬스케줄예 트랜잭션 T 1, T 2 를대상으로하는첫번째비직렬스케줄 ( 병행수행에성공하여정확한트랜잭션수행결과를생성 ) 65

비직렬스케줄예 트랜잭션 T 1, T 2 를대상으로하는첫번째비직렬스케줄 ( 병행수행에실패하여잘못된트랜잭션수행결과를생성 ) 66

직렬가능스케줄 (serializable schedule) 의미 직렬스케줄에따라수행한것과같이정확한결과를생성하는비직렬스케줄 비직렬스케줄중에서수행결과가동일한직렬스케줄이있는것 특징 인터리빙방식으로병행수행하면서도정확한결과를얻을수있음 직렬가능스케줄인지를판단하는것은간단한작업이아니므로직렬가능성을보장하는병행제어기법을사용하는것이일반적임 67

직렬가능스케줄예 트랜잭션 T 1, T 2 를대상으로하는비직렬스케줄이면서 정확한수행결과를생성하기때문에직렬가능스케줄임 68

병행제어기법 의미 병행수행하면서도직렬가능성을보장하기위한기법 방법 모든트랜잭션이준수하면직렬가능성이보장되는규약을정의하고, 트랜잭션들이이규약을따르도록함 대표적인병행제어기법 로킹기법 69

로킹 (locking) 기법 기본원리 한트랜잭션이먼저접근한데이터에대한연산을끝낼때까지는다른트랜잭션이그데이터에접근하지못하도록상호배제 (mutual exclusion) 함 방법 병행수행되는트랜잭션들이같은데이터에동시에접근하지못하도록 lock과 unlock 연산을이용해제어 lock : 트랜잭션이데이터에대한독점권을요청하는연산 unlock : 트랜잭션이데이터에대한독점권을반환하는연산 70

로킹기법 기본로킹규약 트랜잭션은데이터에접근하기위해먼저 lock 연산을실행해독점권을획득함 read 또는 write 연산을실행하기전 lock 연산을실행 다른트랜잭션에의해이미 lock 연산이실행된데이터에대해다시 lock 연산을실행시킬수없음 독점권을획득한데이터에대한모든연산의수행이끝나면트랜잭션은 unlock 연산을실행해서독점권을반납함 71

로킹기법 로킹단위 lock 연산을실행하는대상데이터의크기 전체데이터베이스부터릴레이션, 투플, 속성까지도가능함 로킹단위가커질수록병행성은낮아지지만제어가쉬움 로킹단위가작아질수록제어가어렵지만병행성은높아짐 72

기본로킹규약의효율성을높이기위한방법 트랜잭션들이같은데이터에대해동시에 read 연산을실행하는것을허용 lock 연산을두가지종류로구분하여사용 표 10-5 lock 연산 연산 공용 shared lock 설명 트랜잭션이데이터에대해공용 lock 연산을실행하면, 해당데이터에 read 연산을실행할수있지만 write 연산은실행할수없다. 그리고해당데이터에다른트랜잭션도공용 lock 연산을동시에실행할수있다. ( 데이터에대한사용권을여러트랜잭션이함께가질수있음 ) 전용 exclusive lock 트랜잭션이데이터에대해공용 lock 연산을실행하면, 해당데이터에 read 연산과 write 연산을모두실행할수있다. 그러나해당데이터에다른트랜잭션은공용이든전용이든어떤 lock 연산도실행할수없다. ( 전용 lock 연산을실행한트랜잭션만해당데이터에대한독점권을가질수있음 ) 73

기본로킹규약의효율성을높이기위한방법 표 10-6 lock 연산의양립성 연산공용 lock 전용 lock 공용 lock 가능불가능 전용 lock 불가능불가능 - 서로다른트랜잭션이같은데이터에공용 lock 연산을동시에실행시킬수있음 - 다른트랜잭션이전용 lock 연산을실행한데이터는공용 lock, 전용 lock 을모두실행불가 74

기본로킹규약으로직렬가능성이보장되지않는스케줄예 트랜잭션 T 1 이데이터 X에너무빨리 unlock 연산을실행하여트랜잭션 T 2 가일관성없는데이터에접근했기때문 [ 해결책 : 2단계로킹규약 ] 75

2 단계로킹규약 (2PLP; 2 Phase Locking Protocol) 기본로킹규약의문제를해결하고트랜잭션의직렬가능성을보장하기위해 lock과 unlock 연산의수행시점에대한새로운규약을추가한것 방법 트랜잭션이 lock 과 unlock 연산을확장단계와축소단계로나누어수행 트랜잭션이처음수행되면확장단계로들어가 lock 연산만실행가능 unlock 연산을실행하면축소단계로들어가 unlock 연산만실행가능 트랜잭션은첫번째 unlock 연산실행전에필요한모든 lock 연산을실행해야함 76

2 단계로킹규약 2단계로킹규약을준수하여직렬가능성이보장된스케줄예 77

교착상태 (deadlock) 트랜잭션들이상대가독점하고있는데이터에 unlock 연산이실행되기를서로기다리면서트랜잭션의수행을중단하고있는상태 처음부터교착상태가발생하지않도록예방하거나, 발생시빨리탐지하여필요한조치를취해야함 78

Thank You