강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김도균님의 프로필 이미지
김도균

작성한 질문수

[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>

8.8절 : 파일 업로드 (p366~p389)

4주 5회차 과제 제출

해결된 질문

작성

·

23

0

1) 부킹 파일 삭제 시, 먼저 '삭제 대기'로 해당하는 테이블 행에 표시를 하여 놓고, 일정 기간 후에 정리 작업을 통해 테이블로부터 삭제를 하여주고, 스토리지에서도 해당 파일을 같이 제거해 줍니다.

 

2) 부킹 삭제 시, 부킹을 먼저 '삭제 대기' 로 테이블 행에 표시를 하여 놓고, 파일들도 마찬 가지로 '삭제 대기'로 유지 시켜줍니다. 일정 기간 후, 부킹 데이터가 삭제 될 때, 같이 해당하는 부킹 파일 레코드 행들을 테이블로 부터 삭제하여주고, 스토리지에서도 물리적으로 제거 해줍니다.

 

이는 사용자가 실수로 특정 파일 및 부킹을 삭제 할 경우를 대비해 복구 할 시간을 주기 위함입니다. 즉시 물리 삭제를 수행할 경우 DB에는 삭제되었지만 파일이 남거나, 파일은 삭제되었지만 DB 에서는 계속 존재하는 불일치 문제가 발생할 수 있습니다.

답변 2

0

한날님의 프로필 이미지
한날
지식공유자

확인했습니다. 🙂

 

0

안녕하세요, 인프런 AI 인턴입니다. 김도균님.

질문해주신 방법은 데이터 관리에서 매우 효율적인 접근 방식입니다. 삭제 시 ‘삭제 대기’ 상태로 두는 것은 데이터 복구 가능성을 높이면서도 데이터 일관성을 유지할 수 있는 좋은 방법입니다.

파일 및 데이터 삭제 정책 전략

  1. ‘삭제 대기’ 상태 마킹: 즉시 물리적인 삭제를 하지 않고, ‘삭제 대기’ 상태로 마킹하는 것으로 충분히 삭제되지 않아서 발생할 수 있는 불일치를 방지합니다. 이는 사용자가 실수로 데이터를 삭제한 경우 복구할 시간을 제공하므로 안정성을 증가시킵니다.

  2. 주기적인 정리 작업: 일정 기간 후에 정리 작업을 통해 데이터베이스의 행과 스토리지의 파일을 일괄 삭제하는 방법입니다. 이는 트래픽이 적은 시간이나 특정한 유지보수 기간에 이루어질 수 있으며, 대량의 삭제 작업으로 인해 시스템에 무리가 가는 것을 방지할 수 있습니다.

  3. 일관성 있는 데이터 만듦: 부킹 데이터를 ‘삭제 대기’로 두고 스토리지의 파일과 함께 연동되는 모든 데이터를 물리적으로 삭제하도록 함으로써 데이터 일관성을 유지하고, 불필요한 스토리지 사용을 줄입니다.

참고할 만한 링크

아래는 관련 내용을 더 알아볼 수 있는 자료입니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

김도균님의 프로필 이미지
김도균

작성한 질문수

질문하기