当前位置:  开发笔记 > 开放平台 > 正文

用户帐户终止时删除数据的最佳做法

如何解决《用户帐户终止时删除数据的最佳做法》经验,为你挑选了1个好方法。

在具有公平份额的用户生成内容的网站上,例如论坛帖子,博客评论,提交的文章,私人和公共消息,用户个人资料等; 如果用户终止其帐户,那么对于如何处理用户生成的数据,最佳做法是什么?

我不是在问法律建议,我不认为这是一个法律问题,而是在用户,其他用户和网站之间取得平衡的问题,因为在达到平衡之后可以制定使用条款.当用户删除其帐户时,应考虑以下某些方案:

用户之间的私人消息 - 是否应删除会话跟踪?如果是这样,如果需要法律证据,您如何解释骚扰案件?

论坛问题或答案 - 如果用户提出问题,是否应该删除整个帖子?如果他们回答问题,答案应该删除吗?

我正在问这个问题,因为我正在将用户帐户实施到CMS中.我知道Facebook最近在使用条款方面遇到了麻烦,但是如何平衡删除的愿望与其他参与者的需求和投资?



1> cletus..:

一般来说,数据库很少删除任何内容.您可以将其标记为已删除,但一般来说,您至少会将其保留在数据库中一段时间​​.

这件事情是由很多原因导致的.其中一些是合法的.您可能要求保留给定时期的数据.其中一些是技术性的.有时它只是一个保障.您可能需要恢复信息.用户可能会要求重新打开其帐户,或者由于发送垃圾邮件而被锁定,但这是因为该帐户已被盗用并且现已恢复.

旧数据可能会被删除或存档,但这可能需要数月甚至数年.

我个人只是给相关数据一个状态列(例如1 =活动,0 =删除),然后只改变状态而不是99%的时间删除它.

数据完整性是另一个问题.让我给你举个例子.

假设您有两个实体:

User: id, nick, name, email
Message: id, sender_id, receiver_id, subject, body

您想要删除特定用户.您如何处理他们发送和接收的邮件?这些消息将显示在其他人的收件箱或已发送的项目中,因此您无法删除它们.您是否将Message中的相关字段设置为NULL?这并不是很有意义,因为这个消息确实来自(或去)某个人,即使他们不再活跃.

你最好只是将用户标记为已删除并保留它们.它使这种情况和类似情况更容易处理.

你还提到论坛帖子等等.您也不能删除这些内容(除非有其他原因,例如垃圾邮件或滥用),因为它们是与其他内容相关的内容(例如已回复的论坛消息).

您可以安全合理地删除的唯一数据是子数据.这实际上是聚合和组合之间的区别.上面的用户和消息关系是聚合.组合的一个例子是House和Room.你删除了一个房子,所有房间都去了.没有房子,房间不可能存在.这是组合,或者在实体关系方面,是父子关系.

但是你会发现更多的聚合实例而不是合成(根据我的经验),所以问题就变成了:你如何处理这些数据?在没有删除你不应该删除的东西的情况下,很难抹去所有人的痕迹.只需将它们标记为已删除,已锁定或处于非活动状态,并以此方式处理.

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有