hayu's 개발 일지

[TIL]240509 Soft delete & Hard delete 본문

프레임워크/spring

[TIL]240509 Soft delete & Hard delete

hayu00 2024. 5. 9. 21:02

"soft delete"와 "hard delete"는 데이터베이스에서 레코드를 삭제하는 두 가지 방법을 나타낸다.

Soft delete

  • 소프트 삭제는 레코드를 실제로 삭제하지 않고, 대신에 삭제된 표시를 한 후에 그 레코드를 보존하는 방법이다. 이를 통해 데이터를 영구적으로 삭제하기 전에 복구할 수 있다. 일반적으로 소프트 삭제는 사용자가 실수로 데이터를 삭제했을 때 복구 가능하도록 하는 데 사용된다. 소프트 삭제는 데이터베이스의 특정 컬럼(예: "deleted_at")을 사용하여 삭제된 레코드를 식별한다. 삭제된 레코드를 쿼리할 때 이 컬럼을 체크하여 레코드가 삭제되었는지 확인할 수 있다.

Hard delete

  • 하드 삭제는 레코드를 데이터베이스에서 완전히 제거하는 것을 의미한다. 이 작업은 삭제된 레코드를 복구할 수 없게 만든다. 하드 삭제는 데이터를 영구적으로 삭제해야 할 때 사용된다. 하드 삭제는 소프트 삭제와는 달리 레코드를 완전히 제거하기 때문에 데이터베이스 공간을 확보할 수 있다.보안, 회귀 테스트, 사용자 실수에 대한 보호 등의 이유로 소프트 삭제가 선호되는 경우가 많다. 하지만 데이터 보존이나 데이터베이스 공간의 효율성 등의 이유로 하드 삭제를 선택할 수도 있다. 선택은 프로젝트 요구사항과 비즈니스 요구에 따라 다를 수 있다.

'프레임워크 > spring' 카테고리의 다른 글

[TIL]240510 Access Token과 Refresh Token 저장 위치  (0) 2024.05.10
[TIL]240504 로그 파일 나누기  (0) 2024.05.04
[TIL]240501 DTO  (0) 2024.05.01
[TIL]240430 즉시로딩 & 지연로딩  (0) 2024.04.30
[TIL]240429 AOP  (0) 2024.04.29