0

I am learning how StackOverflow implements its "review queue" feature.

Going to /review, you see an overview of the queues. Going to https://stackoverflow.com/review/low-quality-posts/history, you see the history of the actions taken on low quality posts. There are probably almost a million historical records. Is it a waste?

enter image description here

I guess a million isn't that great of a number in the grand scheme of things, a few hundred MB perhaps in database land. But still, it seems less than ideal to carry around the trailing history for years and years and decades to come. Eventually you will have to cut it off to save space.

The question is, how/when do you decide to trim the history? What should you trim? What should you do when you trim? Should you keep shorter summaries somehow? I don't know.

Facebook probably has a huge archive of historical activity as well.

At what rate does it grow? I don't know, but it seems like it would be linear, slightly slower at the beginning but ramping up faster as more users join? I don't know how to calculate the amount of data it might end up being, I'd be curious to know (leave a comment!).

But the main question is, yeah, what can you do to save on space? It seems on one hand people might be liking to see the total review tasks they have performed (in the context of StackOverflow review queues), but is it important to see the user review task action history? Is it important to have a link to the seemingly first low quality post review task action ever, back in mid 2012 (writing this in mid 2022)? Also, what if you really need to delete something and don't want it seen anymore (rude or abusive content), no link in the action history? No record of it?

This is what I am wondering with the best practices of review queues like StackOverflow has (which I would like to try implementing). I like the idea of "cleaning up old reviews" and keeping the overall database size from continuously growing, but I'm not sure the best practices around how to keep it from constantly growing. Wondering if you could shed some light on some possible solutions or techniques to trim "old" history or otherwise only keep the most relevant stuff, and possibly notifying the user that their history will be deleted at some point. Are there any examples of this type of stuff in the wild?

Thank you for the help.

1
  • What if those million records train AI to recognize low quality posts, cutting down on the amount of human moderation needed?
    – Izquierdo
    Oct 30, 2023 at 22:39

1 Answer 1

0

In short: It's probably best to start from an MVP (review queue with no history at all) and then listen to user feedback. If your reviewers run into trouble not having a queue, you can implement the specific things they need to be effective.

In long:

You shouldn't delete historical activity, ...

Logs and versioning in general is a good idea if your data is user-generated, important, or both, which is why Wikis and stuff like program code generally has versioning (in programming, it's usually git these days). This versioning lets you understand past decisions better, so even if you need it rarely, in the few cases where you do need it, it can absolutely save your butt. Logs are also massively helpful to detect patterns in abuse and fraud which otherwise would be invisible: If an admin goes rogue and starts deleting everything, a log can help you catch this, stop the admin, and then fish the trashed stuff out of the trash (=version history).

But still, it seems less than ideal to carry around the trailing history for years and years and decades to come. Eventually you will have to cut it off to save space.

This assertion may not be true. While the databases do get larger, the drives they're stored on do too, and the cost-per-GB has been decreasing historically. Of course, we will run out of planet eventually if we convert everything last bit of metal to hard drives and SSDs, but the second part of the assumption - everything getting carried around for years and decades - isn't true either. Companies fail all the time, and Yahoo! Answers got shut down due to a lack in popularity a while back. It is entirely possible StackExchange decides it's enough on May 8, 2028 and goes offline in September the same year.

... but:

In some cases you have to.

In case of user data, the GDPR gives us a very convincing argument: As soon as the data (including versioning and logs) are no longer needed, you have to delete them, or else you get fined. The exact details of the implementation get massively complicated very quickly, so I'll leave that as an exercise to the lawyers and privacy experts.

In case the user wants to retain their data - which may very well be the case - giving them options on how long they want to retain this data is generally good practice, as well as allowing them to pause and delete it at any time. This is especially true for things like search/viewing histories, but also content like posts, messages or videos.

In the specific case you mention here - a moderation history - it's likely that it's safe to delete the history and posts after 2 weeks or so, and extremely likely for it to be safe after a year at most. This is based on personal experience with moderating discord servers and subreddits; checking the logs for what happened while I was away on a holiday can be somewhat interesting (but even then isn't strictly necessary since I know my moderators are trust worthy).

NB, content versioning generally is useful for much longer than moderation history.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.