데이터의 최종 상태를 저장하는 대신, 상태를 변경시킨 이벤트들의 이력을 저장하는 방식
ex.체스판 상태 저장 방법
1. 체스판의 상태를 그대로 옮겨서 저장
2. 체스의 기보를 저장. '검은색 폰이 1a로 이동했다' . 순서대로 쌓인 이벤트를 매 순간 재생하여 체스판의 최종 상태를 나타냄.
장점
1. 언제든지 특정 상태 재현이 가능하다.
2. 비즈니스 로직 변경에 유연하다
단점
1. 읽기 성능 악화(모든 이벤트를 읽어야 하기에) -> 스냅샷으로 개선
2. 상대적으로 대용량의 데이터를 처리해야한다.
'cs(with 매일메일)' 카테고리의 다른 글
| [260318수] 쿠키와 세션의 차이에 대해서 설명해주세요 (1) | 2026.04.06 |
|---|---|
| [250313금] 참조 지역성의 원리란 무엇인가요? (0) | 2026.03.16 |
| [260311수] Statement와 PreparedStatement의 차이점은 무엇인가요? (0) | 2026.03.11 |
| [260310화] NOT IN쿼리를 사용할 때 발생할 수 있는 문제와 최적화 방법에 대해 설명해 주세요. (1) | 2026.03.10 |
| [260309월] 최종적 일관성이란 무엇인가요? (0) | 2026.03.09 |