Prev | Current Page 140 | Next

Brad Ediger

"Advanced Rails"


PostgreSQL??™s support for concurrency is more mature than MySQL??™s. Postgres supports
multiversion concurrency control (MVCC), which is even more advanced than
row-level locking. MVCC can isolate transactions, using timestamps to give each
concurrent transaction its own snapshot of the data set. Under the Serializable isolation
level, this prevents such problems as dirty reads, nonrepeatable reads, and phantom
reads.??  See the upcoming sidebar, ???Multiversion Concurrency Control,??? for
more information about MVCC.
One advantage that PostgreSQL may have in the enterprise is its similarity to commercial
enterprise databases such as Oracle, MS SQL Server, or DB2. Although Postgres
is not by any means a clone or emulation of any commercial database, it will
nevertheless be familiar to programmers and DBAs who have experience with one of
the commercial databases. It will also likely be easier to migrate an application from
Postgres to (say) Oracle than from MySQL to Oracle.
PostgreSQL has an unfortunate reputation for being slow. It got this reputation
because the default configuration is optimized for performance on a tiny machine.
Therefore, it will perform fairly consistently out of the box on a server with as little
as 64 MB of RAM or as much as 64 GB. Like any database, Postgres must be tuned
for any serious use. The official documentation at http://www.


Pages:
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152