Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

스냅샷은 앞장 이벤트소싱과 함께 사용이되었습니다. 스냅샷은 성능상의 목적으로 다양한곳에서 혼합되어 사용될수 있으며 그 컨셉은 간단합니다. 무수히 발생하는 이벤트로 인해 우리가 설계한 어떠한 객체의 상태는

지속적으로 변경된다는 점이며 필요한 순간의 청사진만 찍어서 그것을 적절하게 활용할수 있다란 것입니다.



상태를 기록하는 범위주기에따라 아래와 같은 차이가 있으며, 그 차이를통해 스냅샷을 이해할수가 있습니다.

  • 발생 이벤트 저장 : 상태복원은 연속된 이벤트 재생을 통해 가능할수있으며 리플레이와같은 구현을 위해 이벤트 자체를 모두 기록 -이벤트소싱에활용
  • 상태변경 히스토리 저장 : 모든 이벤트를 기록할필요없이 특정시점의 상태를 복원을 하면되기 때문에, 원하는 만큼 상태를 기록함 -스냅샷
  • 마지막 상태만 저장 : 기존값을 Update하고 마지막 저장 상태만 유지함 -보편적인 Update방식


최근 이벤트 100개를 유지하는것과 ( 순수 Persist기능), 1000번째마다 스냅샷을 찍어서 100개를 유지하는것은

각각 요구하는 목적이 다르며 필요로하는 성능이 다를수 있으나 함께 작동을 하여 상호보완하는 컨셉이며

VMWare를 포함하여 데이터베이스 복구등에서 보편적으로 사용되는 장치입니다.

...