Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Avoiding any locks in SQL Servers - read and understand....its magic.
Aaron Bertrand - MVP wrote:
>>possible to delay one transaction as long, as the other transaction >>writing into the database.
Without locks, working with time shifted transactions on isolated datasets (thanks to MVCC in PostgreSQL), a SQL Server can raise to its maximum power, without errors and hangers..
I know, my point of view is unpopular, but very well researched. Reed has invented this method of rearranging transactions (time - shifting) and updates (lost update problem) in that way, that no locking at all is necessary. I is like magic, programmers never ever have to care about concurrent write events any longer, because they are time - shifted and rearranged in a manner, as if a lock had been set. You can do this by putting all timestamps on raws and transactions into context and setting the data sets to that value, as if a lock had been set. You simulate the result of locks on datasets afterwards, as if locks had occurred.
The performance in average applications increases about 30%, and increases several 100% in applications, which do heavy updates, statistics, reads, insertions simultaneously.
With a simple benchmark test i can show, that SQL Server breaks down at minimum load. Oracle is much better at read-write (not at write-write), PostgreSQL with abolute independant MVCC (write-write, write-read ist possible, without any locking...) is hitting the top. No locks have to be set in PostgreSQL, but - MVCC is the minimum requirement to implement MVTO. Setting timestamps on transactions and datasets, so a server side logic can time - shift transactions and rearrange data content, as if a lock had been set. This is a simple script in pl/SQL.
regards, Guido Stepken Received on Mon Aug 18 2003 - 13:29:48 CDT