Re: MS SQL Server vs Oracle, MySQL or MongoDB
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-lReceived on Mon Sep 01 2014 - 13:55:50 CEST![]()