no sql 5장 일관성

23
NoSQL Part 5. Consistency

Upload: rooya85

Post on 08-Aug-2015

121 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: No sql 5장   일관성

NoSQLPart 5. Consistency

Page 2: No sql 5장   일관성

업데이트 일관성트랜잭션 수행이 성공적으로 완료되면 언제나 일관성 있는 데이터베이스 상태로 변환한다 .

Page 3: No sql 5장   일관성

NoSQLPart 5. Consistency업데이트 일관성

일관성을 유지하는 방법은 ..?

Page 4: No sql 5장   일관성

NoSQLPart 5. Consistency업데이트 일관성

.. 에이 그냥 냅두자 ..

그래도 오류인데 고쳐야 하지 않나 ..?

Page 5: No sql 5장   일관성

NoSQLPart 5. Consistency업데이트 일관성

.. 에이 그냥 냅두자 ..

그래도 오류인데 고쳐야 하지 않나 ..?

- 낙관적 방법 . 충돌 발생 시 적절한 조취를 취함 .

Page 6: No sql 5장   일관성

NoSQLPart 5. Consistency업데이트 일관성

Data……..

1 2

- 낙관적 방법 . 충돌 발생 시 적절한 조취를 취함 .

어떠한 방법으로든 충돌이 발생하면조치를 취한다 .

Page 7: No sql 5장   일관성

NoSQLPart 5. Consistency업데이트 일관성

.. 에이 그냥 냅두자 ..

그래도 오류인데 고쳐야 하지 않나 ..?- 비관적 방법 . 충돌이 발생하는 것을 미연에 방지한다 .

Page 8: No sql 5장   일관성

NoSQLPart 5. Consistency업데이트 일관성

Data……..

1 2

x- 비관적 방법 . 충돌이 발생하는 것을 미연에 방지한다 .

Lock!!

Page 9: No sql 5장   일관성

읽기 일관성사용자가 보거나 변경하는 데이터는 사용자의 데이터에 의한 작업이 끝날 때 까지는 다른 사용자에 의해 변경되지 않도록 한다 .

Page 10: No sql 5장   일관성

NoSQLPart 5. Consistency읽기 일관성

Data……..

Data……..

Data……..

Data……..

1

2

Update

1

Update

2 ????????

트랜잭션의 부재로 나중에 대참사가 일어남 .

비일관적 읽기

Page 11: No sql 5장   일관성

NoSQLPart 5. Consistency읽기 일관성 비일관적

읽기

작업을 집합으로 묶어버리자 !

Page 12: No sql 5장   일관성

NoSQLPart 5. Consistency읽기 일관성 복제

일관성

난 OK, 넌 어때 ?클러스터링을 구성하는 DB 에서 데이터를 복제 할 때 생길 수 있는 일종의 Lag Time

( 비 일관성 윈도 )

Page 13: No sql 5장   일관성

NoSQLPart 5. Consistency읽기 일관성 복제

일관성

Master혹은Peer

Slave혹은Peer

Slave혹은Peer

O

X

비일관적

읽기

Page 14: No sql 5장   일관성

NoSQLPart 5. Consistency읽기 일관성 복제

일관성

일관성이 꼭 필요한 경우에만 일관성의 수준을 높힌다 .

Page 15: No sql 5장   일관성

NoSQLPart 5. Consistency읽기 일관성 복제

일관성

또는일관성이 꼭 필요한 경우에만 일관성의 수준을 높힌다 .

스티키 세션을 사용한다 .

Page 16: No sql 5장   일관성

NoSQLPart 5. Consistency읽기 일관성 복제

일관성

스티키 세션 ?서버 노드가 몇 개이든 사용자의 세션을 가지고 있는 서버와 통신한다 .

Page 17: No sql 5장   일관성

일관성 완화일관성이 서버 성능의 저하를 초래할 경우 일관성을 포기한다 .

Page 18: No sql 5장   일관성

CAP 정리Consistency( 일관성 ), Availability( 가용성 ), Partition tolerance( 분단 허용성 ) 중 두 가지만 취할 수 있다 .

Page 19: No sql 5장   일관성

NoSQLPart 5. ConsistencyCAP 정리

트랜잭션 수행이 성공적으로 완료되면 언제나 일관성 있는 데이터베이스 상태로 변환한다 .

사용자가 보거나 변경하는 데이터는 사용자의 데이터에 의한 작업이 끝날 때 까지는 다른 사용자에 의해 변경되지 않도록 한다 .

Page 20: No sql 5장   일관성

NoSQLPart 5. ConsistencyCAP 정리

트랜잭션 수행이 성공적으로 완료되면 언제나 일관성 있는 데이터베이스 상태로 변환한다 .

사용자가 보거나 변경하는 데이터는 사용자의 데이터에 의한 작업이 끝날 때 까지는 다른 사용자에 의해 변경되지 않도록 한다 .

클러스터의 한 노드와 통신할 수 있으면 그 노드에서 읽기와 쓰기가 가능해야 한다 .

Page 21: No sql 5장   일관성

NoSQLPart 5. ConsistencyCAP 정리

트랜잭션 수행이 성공적으로 완료되면 언제나 일관성 있는 데이터베이스 상태로 변환한다 .

사용자가 보거나 변경하는 데이터는 사용자의 데이터에 의한 작업이 끝날 때 까지는 다른 사용자에 의해 변경되지 않도록 한다 .

클러스터의 한 노드와 통신할 수 있으면 그 노드에서 읽기와 쓰기가 가능해야 한다 .

클러스터 내의 통신 두절로 클러스터가 여러 조각으로 나뉘어 지더라도 클러스터가 잘 동작 해야한다 .

Page 22: No sql 5장   일관성

지속성 완화성공적으로 수행된 트랜잭션은 영원히 반영되어야 한다 .

그러나 서버의 높은 성능을 위해 지속성을 어느 정도 포기한다 .

Page 23: No sql 5장   일관성

NoSQLPart 5. Consistency지속성 완화

Ses-sionOr

Cache

Master혹은Peer

Slave혹은Peer

Slave혹은Peer

Client

일정한 주기로 복제를 수행한다 .