Top Banner
NoSQL Part 5. Consistency
23

No sql 5장 일관성

Aug 08, 2015

Download

Documents

rooya85
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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

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