728x90
논리적삭제 vs 물리적삭제
목차
1. 개요
논리적 삭제(Logical Deletion)와 물리적 삭제(Physical Deletion)는 데이터를 처리하는 방법에 있어서 근본적인 차이를 가진다. 이 두 가지 방법은 주로 데이터베이스 관리나 파일 시스템 관리에서 데이터를 어떻게 삭제할지 결정할 때 사용된다. 각각의 삭제에 대해 장단점을 파악해보자.
2. 논리적 삭제(Logical Deletion)
논리적 삭제는 데이터를 실제로 데이터베이스나 파일 시스템에서 제거하지 않는 방식이다. 대신, 데이터가 삭제되었다는 표시를 남겨 데이터를 더 이상 사용하지 않도록 한다. 예를 들어, 데이터베이스의 특정 행에 ‘삭제됨’또는 ‘비활성화됨’과 같은 상태를 표시하는 필드를 추가하려 해당 행을 논리적으로 삭제할 수 있다.
장점
- 데이터 복구가 쉽다. 실수로 데이터를 삭제했을 경우, 삭제된 상태를 해제하기만 하면 쉽게 복구할 수 있다.
- 데이터의 완전한 삭제를 피하면서 사용자에게는 데이터가 삭제된 것처럼 보이게 할 수 있다.
- 데이터의 변경 이력을 추적하기 용이하다.
단점
- 데이터가 실제로는 여전히 존재하기 때문에, 데이터베이스의 크기가 커질 수 있다.
- 삭제된 것으로 표시된 데이터를 필터링하지 않으면, 데이터를 검색하거나 처리할 때 혼란을 줄 수 있다.
3. 물리적 삭제(Physical Deletion)
물리적 삭제는 데이터를 데이터베이스나 파일 시스템에서 완전히 제거하는 방식이다. 데이터가 완전히 삭제되며, 복구할 수 없게 된다. 이는 디스크 공간을 확보하고 데이터의 무결성을 유지하는 데 도움이 된다.
장점
- 데이터베이스나 파일 시스템의 공간을 확보할 수 있다.
- 불필요한 데이터가 완전히 제거되어 데이터 관리가 용이해진다.
단점
- 삭제된 데이터는 복구가 불가능하다. 실수로 중요한 데이터를 삭제할 경우, 큰 문제가 될 수 있다.
- 데이터 삭제 과정에서 데이터베이스의 성능에 부담을 줄 수 있다.
4. 결론
논리적 삭제와 물리적 삭제 중 어떤 방식을 선택할지는 애플리케이션의 요구 사항, 데이터의 중요성, 및 데이터 관리 정책에 따라 달라진다. 때로는 두 방법을 혼합하여 사용하기도 한다. 예를 들어, 논리적 삭제로 데이터를 초기에 처리하고, 정기적으로 물리적 삭제를 통해 실제로 데이터를 제거할 수도 있다.
반응형
'Database' 카테고리의 다른 글
SQL Mapper vs ORM 기술 (0) | 2024.06.19 |
---|---|
테이블마다 id 칼럼을 PK로 사용한 이유는 무엇일까? (0) | 2024.02.14 |
SELECT * 을 쓰면 안되는 이유 (1) | 2023.11.29 |
MySQL 실행계획이란? (0) | 2023.11.20 |
공유 락(shared lock) vs 배타 락(exclusive lock) (0) | 2023.11.16 |