Re:Datomic Pro Starter Edition
by puredanger on Friday November 08, 2013 @10:20PM
(#6700547)
Datomic offers excision to cover cases like these (or other common cases where you are required by law to forget things). http://blog.datomic.com/2013/05/excision.html
Note that even in this case, you can remember that you decided to forget, as a key premise of Datomic is that you always know how and why you came to record (or forget) a fact.
Alright, that makes sense. Now it is interesting how the fact that you decided to forget would work. I guess if one always accesses the data via the official API and at the latest known state, that will work. But presumably the data will still be in stored in binary form in the back-end.
Another perhaps related question, does one have the option to "travel in time". Say I record that I forgot my mistakenly added passwords. But an attacker knows when that happens. Can they go back and inspect the data state right before the point when I forgot the data?
Excision removes the data.
In other words, you can remember that you forgot, but you can't remember what you forgot.
http://blog.datomic.com/2013/05/excision.html
What you're describing is plain ol retraction. If you retract your credit card number, then someone can just surf back in time to grab it. That's why you'd excise it.
What happens in these 2 cases (and sorry for repeating myself I already mentioned them below).
1) Runaway data generator. Someone either messed up a test or confused the units on a timer and now you are logging thousands of times the rate you expected. All this ends in your database. Does just adding a deletion record for each on of those "fix" the problem, but if it is immutable doesn't it still suck up the storage.
2) Sensitive data. Someone somehow shoved plaintext passwords, social security numbers, ICBM launch codes in the database. What do you do in that case.