Re: MS SQL Server vs Oracle, MySQL or MongoDB

From: John McHugh <JOHN.MCHUGH_at_ORACLE.COM>
Date: Mon, 1 Sep 2014 08:15:37 -0700
Message-Id: <55354138-8FB9-49BD-B31F-F716C5F3903F_at_ORACLE.COM>


  

On Sep 1, 2014, at 4:55 AM, Laimutis.Nedzinskas_at_seb.lt wrote:

> > reading Jonathan's blogs on SQL Server reminds me of Laimutis's old
> question: Why is SQL statement parsing a big issue to Oracle but not to
> SQL Server?
>
> without getting into sentiment "I was so much younger then" (and stupid) I think I have some answers to my own question. It is based on Sybase but it still must be relevent to MS SQL.
>
> Sybase runs in mode which in Oracle terms is multithreaded/shared server.
>
> It means that concurrency is in many ways moved "in front of" sql processing pipeline. Simply put each Sybase engine takes SQL from a queue and starts executing it.
> Compare that to MANY user processes run by Oracle each capable of simultaneuosly executing sql's. Concurrency is moved into latch'es. Then many very small units of work try to acquire latches very frequently. As one collegue compared this process beeing similar to many spermatozoids attacking the egg cell. That's why oracle is so sensitive to latching, to OS and even hardware implementation of latches.
>
> However, shared server is not that bright as it seems to be. Imagine a simple db check utility downing the whole sybase server - we've experienced that.
> In oracle architecture just a user process dies. As long as SGA is not corrupted and a few core background processes are healthy the Oracle server will run.
>
> Queueing of sql statements might mean that once you run out of available engines even the smallest sql/transaction will have to wait. That's is managable, to a degree.
> In oracle unless latching becomes a big problem (which might happen) the user processes will get their time slice and the server will run albeit slowly.
>
> Hans Forbrich correctly mentioned Oracle capable of running on no memory hardware. Oracle tends to fragment the shared pool a problem I'be never heard of in other databases.
>
>
>
>
>
> Pagarbiai / Sincerely
> Laimutis Nedzinskas
> Lead of Database Administrators
> IT Lithuania, SEB
> Direct phone +370-5-2682759
>
> ---------------------------------------------------------------------------------
> Please consider the environment before printing this e-mail
>
> <graycol.gif>Hans Forbrich ---2014.08.29 18:50:48---On 29/08/2014 9:21 AM, Yong Huang (Redacted sender yong321_at_yahoo.com for DMARC) wrote:
>
> From: Hans Forbrich <fuzzy.graybeard_at_gmail.com>
> To: oracle-l_at_freelists.org,
> Date: 2014.08.29 18:50
> Subject: Re: MS SQL Server vs Oracle, MySQL or MongoDB
> Sent by: oracle-l-bounce_at_freelists.org
>
>
>
> On 29/08/2014 9:21 AM, Yong Huang (Redacted sender yong321_at_yahoo.com for DMARC) wrote:
> Reading Jonathan's blogs on SQL Server reminds me of Laimutis's old
> question: Why is SQL statement parsing a big issue to Oracle but not to
> SQL Server?
> http://www.freelists.org/post/oracle-l/Any-reason-not-to-have-logic-in-the-db,17
>
> That's a great question and I'd love to hear some comments.
>
> It's the architecture Oracle decided on - they decided they wanted to share as much as possible to get scalability and avoid locking, and this was done in the day that memory was limited and we had 16 & 32 bit architectures.
>
> On the other hand, explain why dirty reads and releasing locks was so important to SQL Server.

--
http://www.freelists.org/webpage/oracle-l
Received on Mon Sep 01 2014 - 17:15:37 CEST

Original text of this message