3 ms·
Yes, although AFAIK those hidden MVCC columns (xmin, xmax?) aren't very usable from an application standpoint -- the obsoleted rows only hang around until the n
by JohnBooty 4y ago
Yes, although AFAIK those hidden MVCC columns (xmin, xmax?) aren't very usable from an application standpoint -- the obsoleted rows only hang around until the next VACUUM, right?
I realize you're not claiming those columns are useful from an application perspective. Just curious to know if I'm wrong and they are useful.
Because as I understand it, the selling point of Datomic is their audit trail functionality and that is admittedly a bit onerous to implement in a RBDMS. Even though I feel like every project needs/requires that eventually.
- twic 4y agoOracle lets you use the MVCC data to query past states of the database, called "flashback": https://docs.oracle.com/en/database/oracle/oracle-database/21/adfns/flashback.html https://docs.oracle.com/en/database/oracle/oracle-database/2... You can configure how long the old data is kept: https://docs.oracle.com/en/database/oracle/oracle-database/21/refrn/UNDO_RETENTION.html https://docs.oracle.com/en/database/oracle/oracle-database/2... Worked examples: http://www.dba-oracle.com/t_rman_149_flasbback_query.htm http://www.dba-oracle.com/t_rman_149_flasbback_query.htm
- JohnBooty 4y agoWow, super informative. Thank you so much.
- ysleepy 4y agoI meant MVCC is the proof that you can automate the transform of a schema into a versioned schema. How and if the DBMS exposes that is another concern. The garbage collection / VACUUM part of an MVCC system is the harder part, saving all versions and querying a point in time is the easy one.