←back to thread

752 points crazypython | 1 comments | | HN request time: 0.206s | source
Show context
joshspankit ◴[] No.26371220[source]
I never understood why we don’t have SQL databases that track all changes in a “third dimension” (column being one dimension, row being the second dimension).

It might be a bit slower to write, but hook the logic in to write/delete, and suddenly you can see exactly when a field was changed to break everything. The right middleware and you could see the user, IP, and query that changed it (along with any other queries before or after).

replies(4): >>26371248 #>>26371348 #>>26371403 #>>26371411 #
1. mcrutcher ◴[] No.26371348[source]
This has existed for a very long time as a data modeling strategy (most commonly, a "type 2 dimension") and is the way that all MVCC databases work under the covers. You don't need a special database to do this, just add another column to your database and populate it with a trigger or on update.