Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Database or store to handle 30 Mb/sec and 40,000 inserts/sec
On Sat, 18 Feb 2006, tonyrogerson_at_sqlserverfaq.com wrote:
>> This one of the differences between Oracle and SQLServer. With >> Oracle, a coder does not have to be _as_ aware as to how to mitigate >> any limitations of the database server. They can do what they are >> good at - write business code. Let the database sort out >> transactions, isolation, concurrency problems etc.
>> Coders need to know how to write business code, and also how to write >> this code to avoid isolation problems, deadlocks etc.
You only get a deadlock in Oracle if your application is coded with a bug. In SQLServer, you can get deadlocks with completely bug-free code and there is nothing the application can do about it but deal with the deadlock with reactionary application hoop jumping. With Oracle, you can step back and rearchitect the buggy pieces of the application so the deadlock doesn't happen. You don't check if a deadlock happened and then react to that situation, which you do have to do with SQLServer, instead, with Oracle, you fix your code so you don't have the deadlock happen in the first place.
> Deadlocks and concurrency are common traits to any database system and
> they need to be coded for in the application.
>
> The application needs to cater for when a deadlock occurs, do they
> re-try or fail.
>
> The application needs to cater for concurrency, the row you've just
> modified on your disconnected browser windows - when the user clicks
> update, can I guarentee the row hasn't been modified by another user,
> please don't insult my intelligence by telling me the database deals
> with that, it might do in a batch of SQL running in a transaction -
Thats correct, it does.
> but in a disconnected browser model - i don't think so.
In a model where you get a row, leave the database, do something with it and come back to the database? Of course Oracle doesn't "handle" that. The client's work was done outside of the database. How does this lead credence to the fact the SQLServer's concurrency model is somehow on par with Oracle's?
-- Galen BoyerReceived on Sat Feb 18 2006 - 08:45:03 CST