기본 콘텐츠로 건너뛰기

개발 공부 - Soft Delete 와 Hard Delete (Soft Purge 와 Hard Purge)

"Soft delete"와 "hard delete"는 데이터 관리와 데이터베이스 용어로 사용되는 두 가지 주요 데이터 삭제 방법을 말합니다.

1. Soft Delete (소프트 삭제):
소프트 삭제는 데이터를 실제로 완전히 제거하는 대신 데이터베이스에서 "삭제된" 표시를 추가하여 데이터를 논리적으로 표시하는 방법입니다. 일반적으로 데이터베이스에는 "삭제 여부"를 나타내는 추가적인 컬럼 (예: "is_deleted")이 있으며, 이 컬럼의 값이 "참"인 경우 해당 데이터는 소프트 삭제된 것으로 간주됩니다. 이 방법을 사용하면 데이터를 쉽게 복구할 수 있으며, 실수로 데이터를 삭제한 경우에도 복구할 수 있는 장점이 있습니다. 소프트 삭제는 주로 사용자 계정, 게시물, 파일 등 삭제된 데이터를 추적하고 관리하는데 유용합니다.

2. Hard Delete (하드 삭제):
하드 삭제는 데이터베이스에서 데이터를 완전히 제거하는 것을 의미합니다. 데이터가 삭제되면 데이터베이스에서 해당 레코드가 영구적으로 사라지며 복구할 수 없게 됩니다. 하드 삭제는 데이터를 물리적으로 삭제하는 방식으로, 삭제된 데이터를 복구할 수 없기 때문에 조심스럽게 사용해야 합니다. 하드 삭제는 데이터의 개인 정보 보호를 위해 사용되기도 하며, 더 이상 필요하지 않은 중요한 정보를 안전하게 제거할 때 유용합니다.

두 삭제 방법은 데이터의 복구 가능성과 보안 요구 사항에 따라 사용됩니다. 소프트 삭제는 잘못된 데이터 삭제를 방지하고 데이터 복구 기능을 제공하여 데이터 손실을 최소화하는 데 도움이 됩니다. 하드 삭제는 민감한 정보를 안전하게 삭제하거나, 더 이상 필요하지 않은 정보를 영구적으로 제거하는데 사용됩니다. 따라서 데이터 관리 전략을 구성할 때, 어떤 삭제 방법을 사용할지 신중하게 결정해야 합니다.





회사에서 Soft Purge / Hard Purge 라는 단어를 쓰는데, 사용 목적은 아래와 같습니다.

1. Soft Purge (소프트 퍼지):
소프트 퍼지는 데이터베이스에서 정보를 실제로 제거하는 대신 삭제 플래그를 설정하여 논리적으로 데이터를 표시하는 방식입니다. 일반적으로 유저에게 노출되지 않으면서 데이터베이스에 유지되며, 일정 기간이 지나면 자동으로 삭제됩니다. 소프트 퍼지는 임의 삭제나 미사용 정보 처리에 사용되며, 삭제된 정보를 재복구할 수 있는 장점을 가집니다. 또한, 중요한 데이터는 백업 파일로 보존할 수 있습니다.

2. Hard Purge (하드 퍼지):
하드 퍼지는 데이터베이스 상에서 데이터를 완전히 삭제하는 과정을 의미합니다. 소프트 퍼지 단계가 없는 테이블이나 소프트 퍼지 대상이 지정한 기간 후에 하드 퍼지가 수행됩니다. 중요한 데이터는 백업 파일로 보존되며, 보안 상의 이유로 데이터를 영구적으로 삭제해야 할 때 사용됩니다.



위와 써둔 delete와 매칭되는 내용입니다.
그냥 남들이 쓰는 Soft Delete , Hard Delete 와 같다고 생각합니다만, 
사실 Delete 가 또 있어서 회사에서 쓰는 것과는 조금 차이가 있는 것 같기도 합니다.
(https://userapps.support.sap.com/sap/support/knowledge/en/3058601에서도 사용하시기는 하는 것 같습니다. - google 검색 결과 )
아무튼 Soft Delete / Hard Delete는 다른 분들도 사용하는 용어이기 때문에 정리 해 둡니다.


요약하면 

1. 소프트 삭제:
- 데이터를 실제로 제거하지 않고, 데이터베이스에서 "삭제됨" 표시를 추가하여 논리적으로 표시함.
- 삭제 여부를 나타내는 추가 컬럼 (flag 등)을 사용.
- 복구 가능하며 실수로 삭제해도 복구 가능.
- 주로 사용자 계정, 게시물, 파일 등에서 삭제된 데이터 추적과 관리에 유용.
2. 하드 삭제:
- 데이터베이스에서 데이터를 완전히 제거함.
- 영구적으로 데이터 손실됨.
- 민감한 정보 보호나 불필요한 정보 안전 삭제 시 사용.


데이터의 복구 가능성과 보안 요구 사항에 따라 선택되며, 
소프트 삭제는 데이터 손실 최소화와 복구 기능을 제공하고, 
하드 삭제는 영구적 데이터 삭제와 더 나은 보안을 위해 사용됩니다.






댓글

이 블로그의 인기 게시물

Ebook - 전자책 drm 상관 없이 pdf로 만들기

yes24와 교보문고에서 ebook을 구매 해야 했는데 너무 불편하고, 필기가 매우 화날 정도로 안 좋아서 원시적으로 사용하기로 했다. 1. 목적 : ebook에서 필기 및 사용이 불편하여 pdf로 변환  2. 용도 : 개인 사용 목적이며 화질이 다소 저하되어도 필기만 용이하면 상관 없음 3. 방법 1) 휴대폰 및 카메라로 동영상을 촬영했다. DRM 때문에 프로그램으로는 촬영이 안 되는 것을 확인했다. (사실 개인 사용 목적이면 기본 화면 캡쳐를 사용해도 된다...) 2) 마우스 클릭 해주는 매크로를 사용했다. (1) key_macro.exe > https://blog.daum.net/pg365/250 듀얼 모니터에서 위치 이탈 현상이 있긴 해도 괜찮았다. (2) AutoClick.exe > http://bestsoftwarecenter.blogspot.com/2011/02/autoclick-22.html 이 걸로 잘 사용했다. 3초마다 한 번 클릭하도록 사용했다. 3) 동영상을 이미지로 변경해주는 프로그램을 사용했다. Free Video to JPG Converter > https://www.dvdvideosoft.com/products/dvd/Free-Video-to-JPG-Converter.htm (240826: 다운로드 시 정상적으로 되지 않아서 URL 수정) 일 하면서 듀얼 모니터에 켜 놨는데 속도가 괜찮았다. * Every frame 으로 사용해야 한다. 4) 중복 사진 제거해주는 프로그램을 사용했다. VlsiPics  > http://www.visipics.info/index.php?title=Main_Page 생각보다 느리니 퇴근시에 걸어놓고 가면 된다. 한번 play가 끝나면 Auto-select 하고 Delete 하면 된다. 5) 이미지를 일괄 Crop 작업 해주는 프로그램을 사용했다. JPEGCrops > https://jpegcrops.softonic.kr/ *...

개발 공부 - json JSONObject 사용 시 백슬래시(\), 원화 표시(\) 제거 및 치환

import org.json.simple.JSONObject; String dataString = new String(authData.toJSONString()); dataString = dataString.replaceAll("\\\\", ""); String 으로 안 바뀌는 가 싶어서 String 으로 변환 해 주고 작업 하였다. 사실 toJSONString 해도 정상 동작 해야 하는데 이유를 잘 모르겠음. 그리고 나서 다시 이클립스 구동 하니 toString 도 먹은 걸로 봐서 이상하다고 생각! String dataString = authData.toString(); dataString = dataString.replaceAll("\\\\", ""); 어쨌든 백 슬래시 제거를 해줘야 하는데 \\ 도 아니고 \\\\를 해야 변환이 가능했다는 결말이었습니다. 참고 : https://stackoverflow.com/questions/15450519/why-does-string-replace-not-work/15450539 test =test.replace("KP", "");  replace 후에 담아 주지 않으면 적용이 안 됩니다!

개발 공부 - OracleXETNSListener 서비스가 로컬 컴퓨터에서 시작했다가 중지되었습니다.

여러 가지 요인이 있지만 PC 이름 변경시 OracleXETNSListener 서비스 시작이 불가능합니다. 고치는 법은 C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN 와 같은 설치 경로에서 listener.ora와 tnsnames.ora 의 pc명을 바꾼 PC명으로 바꿔주면 됩니다. 그래도 안 된다면 cmd 창에서 services.msc 를 입력 후 OracleXETNSListener 서비스를 시작 시키면 됩니다. 오류명: OracleXETNSListener 서비스가 로컬 컴퓨터에서 시작했다가 중지되었습니다. 일부 서비스는 다른 서비스 또는 프로그램에서 사용되지 않으면 자동으로 중지됩니다. 참고한 사이트들 1. http://blog.naver.com/visioner7/120165951652 2. http://database.sarang.net/?inc=read&aid=6819&criteria=oracle&subcrit=&id=&limit=20&keyword=ora-12560&page=5 이런 걸 보면 오라클은 앙칼진 시골 아가씨야