goudvis <paul.staper...@gmail.com> wrote: > The report is based on a java application that can be found here: > http://dl.dropbox.com/u/19316575/dbtp.zip. This zip-file also > includes an SQL file that creates the used tables and the queries > that are executed. > > I put a README-file in the zip with installation instructions. > Most easy to do the tests: extract the zip, download and install > eclipse, create a project based on a folder where the extracted > dbtp.zip should be referenced and follow the instructions in the > README-file. Thank you very much! I will review and attempt to replicate your results. > I'll try redo the tests with the newest version of Postgres myself > as soon as I have the time. I've read through the paper more closely now, and recommend that you review the concurrency control section of the PostgreSQL docs to better understand some of the timings you found surprising. http://www.postgresql.org/docs/9.1/interactive/mvcc.html Basically, you seemed to be assuming that concurrency control is handled through 2 Phase Locking (2PL) with Strict 2 Phase Locking (S2PL) used for serializable transaction isolation. This is not at all true in PostgreSQL, and as I understand it InnoDB uses S2PL at the serializable transaction isolation level, and (like PostgreSQL) MVCC at other levels. This would account for much worse performance at the InnoDB serializable level than other levels. It would also explain why repeatable read is generally faster than read committed -- it only needs to build one snapshot per transaction, not one per statement. To understand the new implementation of serializable isolation in PostgreSQL version 9.1, you might want to read the Wiki page which was used to manage development of the feature. http://wiki.postgresql.org/wiki/Serializable The Cahill doctoral thesis is very much worth reading, and many of the papers referenced by it are also excellent. http://hdl.handle.net/2123/5353 Thanks again. I hope to get back to you within a few days. -Kevin
-- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs