
벡터 시계 (Vector Clock) 완벽 이해하기
·
Computer Science/Data Structure
벡터 시계 (Vector Clock)벡터 시계는 분산 시스템에서 사건의 순서를 추적하기 위한 자료구조입니다.다수의 노드가 서로 독립적으로 동작하면서 발생하는 이벤트의 인과관계를 기록하고 비교할 수 있도록 설계되어 있습니다.분산 시스템에서 여러 노드에 동일한 데이터가 저장되고 수정될 때, 데이터의 동시성을 판단하기 위해 활용됩니다. 벡터 시계는 왜 필요할까? 왼쪽 그림은 두 노드가 name:john이라는 동일한 데이터를 저장하고 있습니다. 이 상황에서 n1에는 name:johnSanFransico를 저장하고, n2에는 name:johnNewYork을 동시에 저장하면 각 노드는 서로 다른 데이터를 저장하게 됩니다. 즉, 충돌이 발생하게 됩니다. 벡터 시계는 이러한 충돌을 발견하기 위한 해결책을 제시해 줍니다..