Hi again Jim, and thanks for your replies - it's interesting reading about the history of MVCC inter alia - see below.
Your answers bring up a couple of questions though. > One day I was driving down Route 3 in Manchester, New Hampshire, that > rather than keeping multiple page images, I could keep multiple record > versions, hopefully on the same page, and with clever bookkeeping have > individual transactions keep track of which of server record versions it > should see. So it solved concurrency control, transaction backout, > garbage collection, and database restart without journalling. Q.1) If MVCC doesn't require jounalling, then why does Interbase now tout the fact that it has a Write Ahead Log (WAL - which I assume is a synonym for journalling)? From the page (https://en.wikipedia.org/wiki/InterBase): > RESILIENT > Live Backups > Distinguished Data Dumps > Write-Ahead Logging <<--------** > Point-in-Time Recovery Oracle and MySQL (InnoDB engine) use MVCC and have Redo logs - which (at least AFAICS) are a WAL by another name. Refs: https://docs.oracle.com/cd/E18283_01/server.112/e17120/onlineredo001.htm https://dev.mysql.com/blog-archive/mysql-8-0-new-lock-free-scalable-wal-design/ ======================================================== And, in another reply, there's this: > For what it's worth, David Reed's dissertation was on a > non-transactional distributed directory system. Bernstein and Goodman's > book "proved" that MVCC was serializable, which it most definitely was not. Q.2) How then do the various MVCC systems implement SERIALIZABLE? It's quite a confusing topic - there's an excellent article (which I haven't fully digested yet) here: https://medium.com/paypal-tech/think-twice-before-dropping-acid-and-throw-your-cap-away-dbe0d6171dc0https://medium.com/paypal-tech/think-twice-before-dropping-acid-and-throw-your-cap-away-dbe0d6171dc0 which appears to imply that none of the major systems have a true SERIALIZABLE transaction isolation level? Thanks to anyone for any input. Best and regards, Pól... Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel