첨엔 다른 기능 때문에 댓삭제를 무조건 soft delete로 설계했는데 지금은 대안을 찾아내서
hard delete라는 선택지도 생긴 상황이야.
일단 hard-delete를 하면 생기는 이점은
1. 조회를 할 때 deletedAt 필드가 비어있는 엔티티를 필터링할 필요가 없어서 조금이나마 db연산 부하 덜 수가 있다.(deletedAt 컬럼 설계상 제거가능)
2. 메모리 절약(당연한 얘기)
아 그리고 게시글도 마찬가진데 얘는 기능구현 때문보다는 다른 이유로 soft hard 고민임.
극단적으로 게시글에 댓글이 100만 개가 달려있는데 이 게시글을 삭제한다고 했을 때
그럼 연관된 댓글도 전부 삭제해야하잖아?
그럼 사용자의 삭제 요청 한번에 순간적으로 100만 개의 댓글 삭제가 일어나는 건데 DB 부하 괜찮나 하는 고민..
그래서 지금은 게시글도 soft delete 해놓고 새벽에 배치돌려서 hard delete해야하나 하는 생각..
메모리 가격 그렇게 안비싸니까 soft-delete처리하고 게시글 첨부파일이나 내용만 지워버릴까 싶기도하고...
하 근데 뭐 하나 하려고 해도 저런 걸로 발목 엄청 잡히는데 이거 완성할 수나 있을지 모르겠다 ㅋㅋㅋㅋ 간단한 게시판이 이 정도면...
난 softdeletre하는걸 택하겠음 댓글이나 그런것도 결국 데이터고, 축적되면 써먹을곳 많을텐데 hard delete하기엔 아까움.
나도 그런 것 때문에 고민하기도했음.. 관리자만 볼 수 있게하거나ㅋㅋ 그치만 성능을 1순위로 생각하는 관점에서 고민했음
댓글의 경우에 대댓글까지도 고려한다면 hard delete하게 되었을때 밑에 달린 댓글들도 전부 삭제가 될텐데 이런점도 고려하면 좋을듯. 디시도 그렇고 펨코도 그렇고 soft delete로 남기거든
맞아 대댓글 때문에 첨엔 soft delete 고수했다가 대안이 생겨서 hard를 고민했음ㅋㅋㅋ 여러모로 soft가 나은 선택지같긴하다. 고마워
많은 조언 부탁드립니다..
db 부하때문에 소프트 하드를 고민하는건 좀 이상해 일시적인 소프트 후 뒷단에서 배치 하드를 수행하는거면 모를까 그리고 하드 딜리트는 개인정보로 인한 삭제 말고는 어지간해선 하는거 아니야 인덱스용으로 키값만 저장해둔 테이블에서 제거하는거면 모를까
연관 데이터가 많아도 배치로 일괄처리가 아니라면 하드로 지수더라도 db에 별 부하가 없다는 말씀이시죠? 조언 감사합니다. 소프트로 계속 진행하겠습니다.
그 말이 아닌디..ㅠ
ㅠㅠ제가 모르는게 많아서 잘못이해한것 같네요..