Live data from Hacker News

Soft deletion probably isn't worth it

brandur.org

471–480 of 514 posts

Re: Soft deletion probably isn't worth it

#471
post #459

Earlier quoted context omitted.

I think this is the part they miss. I've never undeleted a user either, but there have been many times I've gone back to look at something. Yeah. As far as a user-facing "Undelete" button existing or being used... that's very rare in my experience. What's much more common is a user accidentally deletes some data. They deny they made an error. The developers are blamed. You then have to go on a wild goose chase figuri…

+1 to investigating user error. It also happens that you have bugs, and it's hard to spot the bugs if you don't have a quick way of filtering out all the cases of user error. > Yeah. As far as a user-facing "Undelete" button existing or being used... that's very rare in my experience. This is pretty common in my experience, but often with slightly different terminology. I've seen "delete"/"undelete" but also "move to…

    This is pretty common in my experience, but often with 
    slightly different terminology. [...]

    I've also seen chat functionality where users had 
    the ability to delete messages but admin users had 
    the ability to view
Great points! Slack actually works that way, if I'm not mistaken. Admins can read deleted messages and, I think, the edited versions of messages right? Not sure how they store things internally, but you're right - it's common functionality in many classes of apps.

    In my experience soft delete is basically free if you do it from the start.
This is my experience too.

Re: Soft deletion probably isn't worth it

#472
post #313
post #278

Earlier quoted context omitted.

>under the GDPR [soft delete] is illegal This is obviously not always true. Any European can't, for example, delete their online account with their mortgage company and demand that the mortgage company deletes the records saying that they owe them money so they can get their house for free. Nor can anyone call up their previous employer and require them to delete all the work they ever did from their company's comput…

> Nor can anyone call up previous employer and require them to delete all the work they ever did from their company’s computer systems. You can’t delete IP as this is not covered by GDPR, but you sure can ask them to delete your identification data from their records as GDPR also works for employees not just customers. It’s a problem with for example vcs. Unless there’s another law in ruling, GDPR is the baseline. It…

Lol, okay dude, believe that if it makes you feel good.

Re: Soft deletion probably isn't worth it

#473

Earlier quoted context omitted.

I worked at a place that kept all the deleted stuff in their main tables. It turned out over 90% of the rows were deleted. I'm not sure how often something was undeleted, but it was not very frequent. Some of these soft deleted rows were 5+ years old. Archive that crap.

I would never suggest archiving unless we're hitting some performance limit. Why generate more busy work? Just leave it there and if need be add more indexes and partitions.

well, they were running into performance issues. This table had something like 100 columns and at least 30 indexes already. This table was fat. Many columns, many rows, mostly unused garbage.

And several of these "columns" were actually JSON blobs that probably should've been in their own table. But what do I know. I left!

Re: Soft deletion probably isn't worth it

#474
post #235

Always use a temporal database (datomic, postgres with temporal_tables extension). You get out of the box the full history of your data. That is really helpful for business intelligence and analytics, auditing / audit log (security, accountability), live sync & real-time features and as a bonus easy recovery after application fails. If disk gets to full, project the latest time slice into a new database and move the…

MariaDB as well: https://mariadb.com/kb/en/system-versioned-tables/

Re: Soft deletion probably isn't worth it

#475
post #431

Earlier quoted context omitted.

coder543 initially responded to dataflow. Then jandrewrogers included an additional anecdote, but only in a single comment. As the thread stands at the time I posed this, jandrewrogers does not have multiple comments.

An ambiguous phrase - I was not criticizing you but only advising you read his historical statements on databases before engaging. He has wasted a great deal of time of other people.

Do you know how to read usernames?

Re: Soft deletion probably isn't worth it

#476
I wonder how author handles relations that have to stay even when origin needs to be gone. Like in the given example with invoices - they have to stay otherwise your accounting people will visit you quite a lot. Whenever we thought we can do hard delete it almost always proved wrong.

Re: Soft deletion probably isn't worth it

#477
post #287

Earlier quoted context omitted.

I disagree. Any system that doesn't transition an entity to "deleting" is almost certainly going to be a pain point for me when I go to delete something. This can be seen as related to soft deletes. But I consider it more marking intent in the system. Lets you make "delete" a simple field update that will be carried out by the backend.

Say you are attempting to delete a tweet you made: you click on the delete button, and you want to see that your tweet is in the process of being deleted, but not really deleted yet (as the platform goes and updates all the retweet references and such)? Really? What value do you as a user get from knowing the details of this transitory state? Do you also want to see a progress bar of how many references have been upd…

I'd rather see acknowledgement that it is having to do more work, than be surprised when it still shows up on another timeline for a bit longer.

I don't necessarily care on a progress bar, as those typically have their own woes.

And don't get me wrong, there are easy deletion cases that I am ok with appearing to happen immediately. I just find hiding processes from me is usually more annoying than it is worth. Worse, when the implementation didn't do it as a process, and now they typically just have more edge cases that won't delete cleanly.

Re: Soft deletion probably isn't worth it

#478

Earlier quoted context omitted.

I've long wished for an RDBMS (or perhaps ORM, but I think it would be extra cool at the database level, see below) that does things that don't hyperscale. So many LOB applications (the part of the iceberg under the water) have modestly sized databases with a relatively consistent number of users. The data is small, but often complex, awkwardly structured, highly relational, etc. The challenges these applications fac…

I think what you're looking for is called bitemporality ( https://en.wikipedia.org/wiki/Bitemporal_modeling ). It allows you to query a system (some databases support this) in a temporal context. This is useful in financial services where you have market data baked into a price you've offered to a client, where the underlying market data might have been later corrected by a vendor. So you can query how the world look…

> This is useful in financial services where you have market data baked into a price you've offered to a client, where the underlying market data might have been later corrected by a vendor.

A long time ago, I worked on a such a system that provided service-based billing for an industry where rates were very fluid. Having this "at any point in time" view of key data was essential for many things.

Re: Soft deletion probably isn't worth it

#479
post #475

Earlier quoted context omitted.

An ambiguous phrase - I was not criticizing you but only advising you read his historical statements on databases before engaging. He has wasted a great deal of time of other people.

Do you know how to read usernames?

Yes. Your point being what.

Re: Soft deletion probably isn't worth it

#480

Earlier quoted context omitted.

I think lawyers probably miss a lot of these technicalities (which explains why they can require something as technically unreasonable as Schrems II), but I just wonder if someone more technical can actually push for something like that, to win themselves some questionable points, in the name of improving privacy.

What a bizarrely dismissive comment. You could just as easily say that some developers miss a lot of the legal technicalities, which explains why they believe Schrems II is an unreasonable ruling.

Now I don't understand your comment, sorry :-)
Post reply on HN