Re: MS SQL Server vs Oracle, MySQL or MongoDB

From: <Laimutis.Nedzinskas_at_seb.lt>
Date: Mon, 1 Sep 2014 14:55:50 +0300
Message-ID: <OFB9E6B789.75881D4E-ONC2257D46.003F9EB8-C2257D46.004189DF_at_seb.lt>


> 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

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


graycol.gif
Received on Mon Sep 01 2014 - 13:55:50 CEST

Original text of this message