SlideShare une entreprise Scribd logo
1  sur  23
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

Contenu connexe

En vedette

개인정보 비식별화 기술 동향 및 전망
개인정보 비식별화 기술 동향 및 전망 개인정보 비식별화 기술 동향 및 전망
개인정보 비식별화 기술 동향 및 전망 Donghan Kim
 
파이콘 한국 2017 키노트 : Back to the Basic
파이콘 한국 2017 키노트 : Back to the Basic파이콘 한국 2017 키노트 : Back to the Basic
파이콘 한국 2017 키노트 : Back to the BasicHyun-woo Park
 
Node Js와 Redis를 사용한 구조화된 데이터
Node Js와 Redis를 사용한 구조화된 데이터Node Js와 Redis를 사용한 구조화된 데이터
Node Js와 Redis를 사용한 구조화된 데이터jinho park
 
정보사회학
정보사회학정보사회학
정보사회학Il-woo Lee
 
NoSQL 모델링
NoSQL 모델링NoSQL 모델링
NoSQL 모델링Hoyong Lee
 
Api design for c++ ch3 pattern
Api design for c++ ch3 patternApi design for c++ ch3 pattern
Api design for c++ ch3 patternjinho park
 
NoSQL 동향
NoSQL 동향NoSQL 동향
NoSQL 동향NAVER D2
 
Do not use Django as like as SMARTSTUDY
Do not use Django as like as SMARTSTUDYDo not use Django as like as SMARTSTUDY
Do not use Django as like as SMARTSTUDYHyun-woo Park
 
Docker.소개.30 m
Docker.소개.30 mDocker.소개.30 m
Docker.소개.30 mWonchang Song
 
NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가Choonghyun Yang
 
NoSQL Database
NoSQL DatabaseNoSQL Database
NoSQL DatabaseSteve Min
 
[NoSQL] 2장. 집합적 데이터 모델
[NoSQL] 2장. 집합적 데이터 모델[NoSQL] 2장. 집합적 데이터 모델
[NoSQL] 2장. 집합적 데이터 모델kidoki
 
NoSQL 분석 Slamdata
NoSQL 분석 SlamdataNoSQL 분석 Slamdata
NoSQL 분석 SlamdataPikdata Inc.
 
Not only sql 정리
Not only sql 정리Not only sql 정리
Not only sql 정리상봉 이
 
NoSQL 간단한 소개
NoSQL 간단한 소개NoSQL 간단한 소개
NoSQL 간단한 소개Wonchang Song
 
RPC에서 REST까지 간단한 개념소개
RPC에서 REST까지 간단한 개념소개RPC에서 REST까지 간단한 개념소개
RPC에서 REST까지 간단한 개념소개Wonchang Song
 
웨일 보안 이야기
웨일 보안 이야기웨일 보안 이야기
웨일 보안 이야기NAVER D2
 

En vedette (20)

개인정보 비식별화 기술 동향 및 전망
개인정보 비식별화 기술 동향 및 전망 개인정보 비식별화 기술 동향 및 전망
개인정보 비식별화 기술 동향 및 전망
 
파이콘 한국 2017 키노트 : Back to the Basic
파이콘 한국 2017 키노트 : Back to the Basic파이콘 한국 2017 키노트 : Back to the Basic
파이콘 한국 2017 키노트 : Back to the Basic
 
Node Js와 Redis를 사용한 구조화된 데이터
Node Js와 Redis를 사용한 구조화된 데이터Node Js와 Redis를 사용한 구조화된 데이터
Node Js와 Redis를 사용한 구조화된 데이터
 
정보사회학
정보사회학정보사회학
정보사회학
 
NoSQL 모델링
NoSQL 모델링NoSQL 모델링
NoSQL 모델링
 
TRIZ
TRIZTRIZ
TRIZ
 
Api design for c++ ch3 pattern
Api design for c++ ch3 patternApi design for c++ ch3 pattern
Api design for c++ ch3 pattern
 
NoSQL 동향
NoSQL 동향NoSQL 동향
NoSQL 동향
 
Do not use Django as like as SMARTSTUDY
Do not use Django as like as SMARTSTUDYDo not use Django as like as SMARTSTUDY
Do not use Django as like as SMARTSTUDY
 
Docker.소개.30 m
Docker.소개.30 mDocker.소개.30 m
Docker.소개.30 m
 
NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가NoSQL distilled 왜 NoSQL인가
NoSQL distilled 왜 NoSQL인가
 
NoSQL Database
NoSQL DatabaseNoSQL Database
NoSQL Database
 
[NoSQL] 2장. 집합적 데이터 모델
[NoSQL] 2장. 집합적 데이터 모델[NoSQL] 2장. 집합적 데이터 모델
[NoSQL] 2장. 집합적 데이터 모델
 
Big data
Big dataBig data
Big data
 
NoSQL 분석 Slamdata
NoSQL 분석 SlamdataNoSQL 분석 Slamdata
NoSQL 분석 Slamdata
 
No sql 분산모델
No sql 분산모델No sql 분산모델
No sql 분산모델
 
Not only sql 정리
Not only sql 정리Not only sql 정리
Not only sql 정리
 
NoSQL 간단한 소개
NoSQL 간단한 소개NoSQL 간단한 소개
NoSQL 간단한 소개
 
RPC에서 REST까지 간단한 개념소개
RPC에서 REST까지 간단한 개념소개RPC에서 REST까지 간단한 개념소개
RPC에서 REST까지 간단한 개념소개
 
웨일 보안 이야기
웨일 보안 이야기웨일 보안 이야기
웨일 보안 이야기
 

No sql 5장 일관성

  • 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