(OT???): Oracle vs. MS-SQL

Karel Salavec karels na pc163.gr.ph.ct.cz
Úterý Červen 12 21:39:10 CEST 2001


Dne Út, 12 čen 2001 jste napsal(a):
> On Tue, Jun 12, 2001 at 02:25:52PM +0200, Libor Mitrenga wrote:
> 
> > 
> > No já si myslel, že při jakémkoliv zápisu v rámci transakce do tabulky se 
> > "celá" tabulka na MS SQL zamkne až do ukončení transakce.
> 
>  tzv. "velkolepe MySQL transakce"? :-)
> 
>  Oni transakce jsou primarne o moznosti vratit DB do stavu pred BEGIN, 
> ale pak je tu dalsi vec a to jak se budou chovat konkurujici si operace.
> 
>  Jde to propracovat az tak ze do provedeni COMMITu jsou udrzovany dve 
> verze dat takze jde cist bez cekani a zamku i data ktera nekdo zrovna 
> meneni v nejake transakci. Viz. PostgreSQL a jeho Multi-Version 
> Concurrency Control (MVCC).

dtto Oracle

> 
> > To je určitě nevýhoda pro MS SQL server, ale tato vlastnost nemusí "vadit", 
> > když bude aplikace navržena tak, že deadlock nemůže vzniknout. Nemám 
> > zkušenosti s Oracle, ale jeho inteligentní zamykání zase může zpomalovat chod 
> > transakcí, ale nazahltí se server (mohou jet vedle sebe paralelně transakce, 
> > které zapisují do stejných tabulek). Jinak si myslím, že deadlock může jistě 
> > vzniknout i na Oracle, když bude špatně udělaná aplikace.
> 
>  Jak uz tu nekdo psal deadlock udelate snadno, staci pokud se pokusi dve
> transakce "krizem" o update stejnych radek ('A' udela update dat 'a', 
> 'B' udela update dat 'b', 'A' se pokusi o update dat 'b' a ceka, 
> 'B' se pokusi o update dat 'a' a mete deadlock .. ale rozumna DB ho 
> detekuje a udela rollback transakce 'B').
> 
> > Proto velmi záleží na typu aplikace a na datovém návrhu databáze a na 
> > fukcích, které s těmi daty mají manipulovat. Podle tohoto bych volil DB 
> > server, který je pro mě lepší. Na telefonní seznam je určitě nejlepší MySQL a 
> > vůbec mi nevadí, že nemá transakce, ale jen zamykání.
> 
>  Zamykani na urovni radku vs. zamykani na urovni tabulek (stranek apod.)
> tezko budete resit v datovem modelu a funkcich. Je to o tom co vam udela
> vykon DB pri 100 na jednou pracujicich klientech nad stejnymi daty. Proto 
> napriklad pekelny vykon MySQL jde dost dolu v testech ktere toto testuji. 
> A s tim, ze klient A i B chce udelat update na stejnou tabulku udela datovy
> model kulove.... 
>  Pochopitelne, ze tyto zamky na radkach neco stoji, ale celkem brzo se to
> vyrovna pokud je tam vice konkurujicich si klientu.

Naprosty souhlas.

Dovolil bych si jeste pripodotknout - z praxe vim, ze i pri znacne zatezi (cti
podstatne vyssi, nez je dimeznovane zelezo) Oracle stale jede. Sice pomalu, lae
jede. Nechci rikat, co v takovem pripade udela M$ SQL (a davat to pak do kupy
... :-((( )

Dalsi, dosud nezohlednene (fuj, to je slovo) hledisko je bezpecnost. Pokud se
vam nekdo dostane na M$ SQL, ma moznost plne vlady nad strojem (a neda se to
vypnout!). Oracle vyslovne nuti k tomu, aby db bezela pod neprivilegovanym
uzivatelem.
Dale overovani uzivatelu do M$ je pres OS - cili presne to, co bylo ve
starsich verzich silne vytykano Informixu. 

K vykonu se vyjadrovat nehodlam, na to jsou testy renomovanych i mene
renomovanych firem. Ale vim, ze pokud mela byt M$ SQL konkurenceschopna, tak se
to neobeslo bez pritomnosti specialistu od M$, kteri aplikovali slusnou
hromadku neverjnych patchu + nedokumentovana nastaveni jak systemu, tak db. Sam
si odpovezte, zda na tohle mate.

Jo, uz na zaver, widle se opravdu bozsky spravuji na dalku :-((( Vim o cem
mluvim, bohuzel jich mam par ve sprave :-(((((((((((((((((((((((((((((

> 
> 			Karel
> 
> PS. hmm.... proc ne databases na linux.cz?
> 
A kolik by tam bylo odpovedi?

-- 
S pozdravem

                      Karel Salavec

vedouci oddeleni operacnich systemu
provoz IT, provoz aplikaci CSG a HQ

Uz ani ty deprese nejsou co byvaly!


Další informace o konferenci Linux