- [분산 컴퓨팅] 3장 - 이중화된 데이터베이스 문제2024년 10월 28일
- 31514
- 작성자
- 2024.10.28.:26
개요
데이터베이스 장애 대비를 위해 다른 지역에 복제본을 생성했다고 가정해보자.
이 경우 두 데이터베이스 사이의 동기화 문제를 해결하는 방법 중 하나로 이벤트가 발생한 시간을 기준으로 처리 순서를 결정하는 방식을 떠올릴 수 있다. 하지만 분산된 노드들은 정확히 동일한 시간을 가리키고 있지 않기 때문에, 물리적 시계를 기준으로 이벤트의 순서를 결정하면 문제가 발생할 수 있다.
이를 위해 우리는 크리스티안 알고리즘, 버클리 알고리즘, NTP(네트워크 시간 프로토콜)과 같은 방법을 사용하여 네트워크 통신 지연을 고려한 시간 동기화를 시도한다. 이 기법들은 시간 동기화의 정확도를 높여주지만, 나노초 단위의 완벽한 동기화는 여전히 보장되지 않는다.
따라서 정확한 물리적 시각을 사용하는 대신, Lamport Clock과 같은 논리적 시계를 통해 이벤트 간의 순서를 규정하는 방식을 택할 수 있다. Lamport Clock은 절대적인 시각을 기반으로 하지 않고, 분산된 장치들이 서로 어떤 작업이 먼저 일어났는지를 파악하는 데 중점을 두어 동기화 문제를 해결한다. 이로써 분산된 환경에서도 작업 간의 순서 보장을 효과적으로 달성할 수 있다.
결론
이벤트의 발생 시간이 중요하면 물리적인 시간, 이벤트 발생의 순서가 중요하면 논리적인 시간을 사용한다.
'Book > 분산 컴퓨팅' 카테고리의 다른 글
[분산 컴퓨팅] CAP과 FLP 정리 (0) 2024.10.29 [분산 컴퓨팅] 2장 - 중계자와 2단계 커밋 프로토콜 (0) 2024.10.25 [분산 컴퓨팅] 1장 - 분산 컴퓨팅이란 무엇인가? (0) 2024.10.25 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)