簡體   English   中英

最佳做法:刪除用戶帳戶后保留用戶的內容數據

[英]Best practices: retaining users' data on content when user accounts are deleted

在幫助台應用程序中,我們存儲用戶對話,用戶帳戶以及鏈接到這些帳戶的各種聯系信息。

由於典型服務台的性質,即使刪除用戶帳戶,我們仍然需要保留用戶名的核心配置文件數據(否則,對話歷史記錄將變得無用)。

我想知道您是否曾經遇到過此類設計問題以及您的解決方案是什么。

到目前為止有幾個建議...

  • “鬼影”用戶帳戶-而不是物理刪除它們,而是將其保留為只讀的非功能狀態
  • 在對話中靜態復制內容(如用戶名)

如果您擔心違反與用戶關聯的表中的外鍵約束,請向用戶添加一個字段/列以指示用戶是否處於活動狀態; 然后清除該標志,而不是刪除用戶。 然后,您可以針對要限制為“活動”用戶的任何UI對該標志進行篩選。

如果需要考慮空間,請保持上面的用戶記錄,但是在一段時間后將對話和/或任何其他“舊”數據移動到另一個“存檔”數據庫。 當然,加入或附加調用第二個數據庫會比較慢……但是用戶界面可以通過諸如“閱讀較舊的對話?”之類的提示來提示他們。 例如,Facebook以“閱讀較舊的故事”提示您,並且服務台操作員可以根據需要臨時設置給呼叫者“請稍等-我現在正在檢索這些記錄”。

我認為在您的特定情況下,最好的做法是對數據進行“軟刪除”,這意味着只需在布爾字段中將帳戶標記為已刪除,而不是從數據庫中將其刪除。

將數據進行非規范化是歸檔中的常見做法。
與其保留所有舊數據的所有表和關系,不如將其全部作為存檔數據庫中的靜態條目,通常會更容易。 它還允許對應用程序進行更改,而不必太在意轉換歷史數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM