WEBBOOK CHAPTER

실패를 전제로 설계하는 분산시스템: 23장. 데이터 소유권과 삭제 흐름

23장. 데이터 소유권과 삭제 흐름

서비스별 DB가 있다는 사실만으로 소유권이 생기지 않는다. 예약 서비스가 상태 정본을 소유하고 검색·분석은 파생본이라는 규칙을 문서화한다. 다른 서비스가 정본 테이블을 직접 update하지 않도록 API·event와 권한으로 차단한다. 공유 DB를 택한다면 schema와 write owner를 명시한다.

삭제 요청은 row 하나가 아니다. outbox, 검색 index, object, cache, 분석, log, backup의 보존·익명화·만료를 그린다. delete event 재처리가 이미 삭제된 자원을 되살리지 않게 한다. 가상 고객 삭제를 dry-run해 저장소, 삭제·보존 근거, 명령, 승인, 완료 증거를 표로 만든다. 완료는 job 성공이 아니라 허용되지 않은 조회 경로에서 정보가 나오지 않고 필수 감사만 정책대로 남았다는 증거다.