On 8/10/07, Jeff Davis <pgsql@j-davis.com> wrote:
> Is there a document explaining more of the differences between the
> postgresql MVCC model and something closer to InnoDB or Oracle, where it
> has rollback segments? I'm interested in the design tradeoffs between
> the two ideas.
Not really, but the best reference is Transactional Information
Systems: Theory, Algorithms, and the Practice of Concurrency Control
by Weikum & Vossen. PostgreSQL uses multi-version timestamp ordering
(MVTO) and Oracle/InnoDB use multi-version read consistency (MVRC).
The main difference is that PostgreSQL is with-REDO/no-UNDO because it
stores every row version in the main table, and Oracle/InnoDB are
with-REDO/with-UNDO and they reconstruct a block and/or row image from
the log to provide read consistency.
--
Jonah H. Harris, Software Architect | phone: 732.331.1324
EnterpriseDB Corporation | fax: 732.331.1301
33 Wood Ave S, 3rd Floor | jharris@enterprisedb.com
Iselin, New Jersey 08830 | http://www.enterprisedb.com/