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




                      일관성을 유지하는 방법은..?
NoSQL            업데이트 일관성
Part 5. Consistency




                      .. 에이 그냥 냅두자..



                      그래도 오류인데 고쳐야 하지 않나..?
NoSQL            업데이트 일관성
Part 5. Consistency




                      .. 에이 그냥 냅두자..
                         - 낙관적 방법. 충돌 발생 시 적절한 조취를 취함.

                      그래도 오류인데 고쳐야 하지 않나..?
NoSQL            업데이트 일관성
Part 5. Consistency




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



                            Data……..


                      1                      2
                                        어떠한 방법으로든 충돌이 발생하면
                                        조치를 취한다.
NoSQL            업데이트 일관성
Part 5. Consistency




                      .. 에이 그냥 냅두자..




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




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



                           Data……..

                                      Lock!!
                      1                        2
읽기 일관성
사용자가 보거나 변경하는 데이터는 사용자의 데이터에 의한 작업이 끝날 때 까지는 다른 사용자에 의해 변경되지 않도록 한다.
NoSQL
Part 5. Consistency
                   읽기 일관성                      비일관적
                                               읽기

                         Data……..
                Update
        1




                         Data……..

                                                    2


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

                                               2   ????????
NoSQL            읽기 일관성
Part 5. Consistency
                                        비일관적
                                        읽기




                      작업을 집합으로 묶어버리자!
NoSQL            읽기 일관성
Part 5. Consistency
                                        복제
                                        일관성




                      난 OK, 넌 어때?
  클러스터링을 구성하는 DB 에서 데이터를 복제 할 때 생길 수 있는 일종의 Lag Time
                    (비 일관성 윈도)
NoSQL            읽기 일관성
Part 5. Consistency
                                    복제
                                    일관성



                            Slave
                            혹은
                        O   Peer    비
                                    일
               Master               관
                혹은                  적
                Peer
                                    읽
                            Slave   기
                            혹은
                        X   Peer
NoSQL            읽기 일관성
Part 5. Consistency
                                          복제
                                          일관성




                일관성이 꼭 필요한 경우에만 일관성의 수준을 높힌다.
NoSQL            읽기 일관성
Part 5. Consistency
                                          복제
                                          일관성




                일관성이 꼭 필요한 경우에만 일관성의 수준을 높힌다.
                             또는
                        스티키 세션을 사용한다.
NoSQL            읽기 일관성
Part 5. Consistency
                                        복제
                                        일관성




                        스티키 세션?
         서버 노드가 몇 개이든 사용자의 세션을 가지고 있는 서버와 통신한다.
일관성 완화
일관성이 서버 성능의 저하를 초래할 경우 일관성을 포기한다.
CAP 정리
Consistency(일관성), Availability(가용성), Partition tolerance(분단 허용성) 중 두 가지만 취할 수 있다.
NoSQL             CAP 정리
Part 5. Consistency




                트랜잭션 수행이 성공적으로 완료되면 언제나 일관성 있는 데이터베이스 상태로 변환한다.
     사용자가 보거나 변경하는 데이터는 사용자의 데이터에 의한 작업이 끝날 때 까지는 다른 사용자에 의해 변경되지 않도록 한다.
NoSQL             CAP 정리
Part 5. Consistency




                트랜잭션 수행이 성공적으로 완료되면 언제나 일관성 있는 데이터베이스 상태로 변환한다.
     사용자가 보거나 변경하는 데이터는 사용자의 데이터에 의한 작업이 끝날 때 까지는 다른 사용자에 의해 변경되지 않도록 한다.



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




                트랜잭션 수행이 성공적으로 완료되면 언제나 일관성 있는 데이터베이스 상태로 변환한다.
     사용자가 보거나 변경하는 데이터는 사용자의 데이터에 의한 작업이 끝날 때 까지는 다른 사용자에 의해 변경되지 않도록 한다.



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




             클러스터 내의 통신 두절로 클러스터가 여러 조각으로 나뉘어 지더라도 클러스터가 잘 동작 해야한다.
지속성 완화
 성공적으로 수행된 트랜잭션은 영원히 반영되어야 한다.
그러나 서버의 높은 성능을 위해 지속성을 어느 정도 포기한다.
NoSQL             지속성 완화
Part 5. Consistency


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




                                                             Slave
                                                             혹은
                                                             Peer

                      Session   Master
     Client             Or       혹은
                       Cache     Peer
                                                             Slave
                                                             혹은
                                                             Peer

No sql 5장 일관성

  • 1.
  • 2.
    업데이트 일관성 트랜잭션 수행이성공적으로 완료되면 언제나 일관성 있는 데이터베이스 상태로 변환한다.
  • 3.
    NoSQL 업데이트 일관성 Part 5. Consistency 일관성을 유지하는 방법은..?
  • 4.
    NoSQL 업데이트 일관성 Part 5. Consistency .. 에이 그냥 냅두자.. 그래도 오류인데 고쳐야 하지 않나..?
  • 5.
    NoSQL 업데이트 일관성 Part 5. Consistency .. 에이 그냥 냅두자.. - 낙관적 방법. 충돌 발생 시 적절한 조취를 취함. 그래도 오류인데 고쳐야 하지 않나..?
  • 6.
    NoSQL 업데이트 일관성 Part 5. Consistency - 낙관적 방법. 충돌 발생 시 적절한 조취를 취함. Data…….. 1 2 어떠한 방법으로든 충돌이 발생하면 조치를 취한다.
  • 7.
    NoSQL 업데이트 일관성 Part 5. Consistency .. 에이 그냥 냅두자.. 그래도 오류인데 고쳐야 하지 않나..? - 비관적 방법. 충돌이 발생하는 것을 미연에 방지한다.
  • 8.
    NoSQL 업데이트 일관성 Part 5. Consistency - 비관적 방법. 충돌이 발생하는 것을 미연에 방지한다. Data…….. Lock!! 1 2
  • 9.
    읽기 일관성 사용자가 보거나변경하는 데이터는 사용자의 데이터에 의한 작업이 끝날 때 까지는 다른 사용자에 의해 변경되지 않도록 한다.
  • 10.
    NoSQL Part 5. Consistency 읽기 일관성 비일관적 읽기 Data…….. Update 1 Data…….. 2 Update Data…….. 1 트랜잭션의 부재로 Data…….. 나중에 대참사가 일어 남. 2 ????????
  • 11.
    NoSQL 읽기 일관성 Part 5. Consistency 비일관적 읽기 작업을 집합으로 묶어버리자!
  • 12.
    NoSQL 읽기 일관성 Part 5. Consistency 복제 일관성 난 OK, 넌 어때? 클러스터링을 구성하는 DB 에서 데이터를 복제 할 때 생길 수 있는 일종의 Lag Time (비 일관성 윈도)
  • 13.
    NoSQL 읽기 일관성 Part 5. Consistency 복제 일관성 Slave 혹은 O Peer 비 일 Master 관 혹은 적 Peer 읽 Slave 기 혹은 X Peer
  • 14.
    NoSQL 읽기 일관성 Part 5. Consistency 복제 일관성 일관성이 꼭 필요한 경우에만 일관성의 수준을 높힌다.
  • 15.
    NoSQL 읽기 일관성 Part 5. Consistency 복제 일관성 일관성이 꼭 필요한 경우에만 일관성의 수준을 높힌다. 또는 스티키 세션을 사용한다.
  • 16.
    NoSQL 읽기 일관성 Part 5. Consistency 복제 일관성 스티키 세션? 서버 노드가 몇 개이든 사용자의 세션을 가지고 있는 서버와 통신한다.
  • 17.
    일관성 완화 일관성이 서버성능의 저하를 초래할 경우 일관성을 포기한다.
  • 18.
    CAP 정리 Consistency(일관성), Availability(가용성),Partition tolerance(분단 허용성) 중 두 가지만 취할 수 있다.
  • 19.
    NoSQL CAP 정리 Part 5. Consistency 트랜잭션 수행이 성공적으로 완료되면 언제나 일관성 있는 데이터베이스 상태로 변환한다. 사용자가 보거나 변경하는 데이터는 사용자의 데이터에 의한 작업이 끝날 때 까지는 다른 사용자에 의해 변경되지 않도록 한다.
  • 20.
    NoSQL CAP 정리 Part 5. Consistency 트랜잭션 수행이 성공적으로 완료되면 언제나 일관성 있는 데이터베이스 상태로 변환한다. 사용자가 보거나 변경하는 데이터는 사용자의 데이터에 의한 작업이 끝날 때 까지는 다른 사용자에 의해 변경되지 않도록 한다. 클러스터의 한 노드와 통신할 수 있으면 그 노드에서 읽기와 쓰기가 가능해야 한다.
  • 21.
    NoSQL CAP 정리 Part 5. Consistency 트랜잭션 수행이 성공적으로 완료되면 언제나 일관성 있는 데이터베이스 상태로 변환한다. 사용자가 보거나 변경하는 데이터는 사용자의 데이터에 의한 작업이 끝날 때 까지는 다른 사용자에 의해 변경되지 않도록 한다. 클러스터의 한 노드와 통신할 수 있으면 그 노드에서 읽기와 쓰기가 가능해야 한다. 클러스터 내의 통신 두절로 클러스터가 여러 조각으로 나뉘어 지더라도 클러스터가 잘 동작 해야한다.
  • 22.
    지속성 완화 성공적으로수행된 트랜잭션은 영원히 반영되어야 한다. 그러나 서버의 높은 성능을 위해 지속성을 어느 정도 포기한다.
  • 23.
    NoSQL 지속성 완화 Part 5. Consistency 일정한 주기로 복제를 수행한다. Slave 혹은 Peer Session Master Client Or 혹은 Cache Peer Slave 혹은 Peer