영구 삭제 기능을 사용할 때 성능 문제나 일관성 문제가 있나요?

데이터베이스 성능 저하, 불일치 등 다른 위험도 있나요? 아니면 영구 삭제된 게시물을 복구할 수 없는 것이 유일한 위험인가요?

게시글이 삭제되면 영구적으로 사라져 복구할 수 없다는 점뿐입니다. 성능에 대한 우려는 없습니다.

저는 정반대의 질문을 가지고 있습니다: 게시물을 항상 영구 삭제하는 대신 소프트 삭제만 수행하는 것이 Discourse의 성능 저하를 일으키지는 않나요? 몇 년이 지나면 일부 포럼에서는 상당한 부담이 쌓일 수밖에 없을 것 같습니다. 게시물이나 주제가 삭제된 경우에도 각 계정에 대한 통계를 유지하기 위해 이렇게 하는 것인가요?

그렇지는 않습니다. BTree 인덱스를 사용하면 게시물과 주제를 O(log n)으로 검색할 수 있으므로 비용 증가가 선형 이하(sub-linear)입니다.

가장 큰 규모의 Discourse 인스턴스에서조차도 게시물 수량이 프로덕션 환경에서 성능 병목이 된 적은 없습니다. 그럼에도 불구하고 우리는 이를 주시하고 있으며, 필요할 경우 언제든 되돌려 재구성할 수 있습니다.

요약하면, 아닙니다.

우선 대부분의 커뮤니티에서 삭제된 게시물보다 표시되는 게시물이 훨씬 많다고 생각합니다. 예를 들어, 여기 Meta에서는 게시물의 총 수가 1,015,386개인데 그중 삭제된 게시물은 81,480개뿐입니다. 이는 10% 미만입니다. 아마도 삭제된 데이터의 총량은 100MB 미만일 것입니다.

Falco가 말했듯이, 더 많은 데이터를 저장하고 색인화하는 것이 성능에 미치는 영향은 무시할 수 있을 정도입니다. 데이터베이스 시스템은 상상 이상으로 많은 데이터를 처리하도록 최적화되어 있으며, 가장 단순한 구성이라도 수천 수만 개의 데이터 포인트를 쉽게 처리할 수 있습니다.

아마도 이 비유가 세상에서 가장 좋은 비유는 아닐 수 있지만, 파일을 더 많이 저장하면서 PC가 느려지는 것을 느끼셨나요? 아마도 그렇지 않을 것이며, 파일 시스템도 일종의 데이터베이스 시스템입니다. :slight_smile: