[Gfoss] Interessante confronto tra Oracle e PostGIS

Chiedo scusa per l’ OT, ma devo difendere oracle.
Oracle è e resta un ottimo prodotto.

Intanto dico che a mio parere la pubblicazione di benchmark comparativi sia vietata dal licensing di oracle.
Sebbene siano ormai 4 anni che non mi occupo piu’ di oracle,
non credo che questa regola sia cambiata.

Per il resto non ci credo nemmeno se lo vedo che oracle sia cosi’ piu’ lento di postgres.

Oracle ha notevoli frecce al suo arco.
Un confronto a parita’ di condizioni non e proponibile, ad esempio oracle permette a chi vuole l’impiego di un suo filesystem RAW
ad alta efficienza.
Il suo FS raw funziona su ogni piattaforma, windows compresa.
Per cui la lentezza del filesystem di windows poteva essere superata impiegando tale tecnica di scrittura su disco.

Per il resto ci puo’ stare che oracle sia penalizzato dal suo impiego su Windows.
Oracle e’ molto piu’ sensibile di postgres ai settaggi di kernel.
Questo non e’ di per se’ un difetto, ma una necessità. Ottimizzare oracle non è banale.
Un passaggio essenziale per oracle e’ il settaggio di tutta una serie di parametri di sistema, che su windows non possono essere settati e conseguenzialmente le prestazioni su windows sono un po’ appiattite.
Poi, oracle ha tutta una seire di features sofisticate, come ad esempio, la possibilita’ di distribuire una tablespace su piu’ datafile e puntare ogni datafile su un differente disco (ad esempio) e poi
e’ possibile destinare una differente tablespace per ogni singola compoentne del database.
Tutta questa parcellizzazione consente di ottimizzare i tmepi di scrittura.
Tanto per dare un esempio la architettura OFA di oracle arriva a prevedere l’impiego di 6 distinti dischi rigidi in maniera da destinare su ogni disco una sezione separata dei componenti del DBMS.

Cosi’, invece di sequenzializzare le scritture si riescono a parallelizzare completamente.
E questo porta a ridurre a 1/6 i tempi di scrittura.
Tutti accorgimenti per ottimizzare.
Con tutti questi accorgimenti, non rimarrei sorpreso che oracle si attesti sui medesimi tempi di postgres.

Termino dicendo che in ogni modo non mi sarei mai aspettato che in assenza degli accorgimenti che ho citato sopra oracle sia cosi’ penalizzato nei confronti di Postgres.
Mi verrebbe voglia di pensare che abbiano impiegato una versione leggera di oracle.
Come ad esempio Oracle-XE. Una sua versione completamente gratuita ma limitata nell’impiego delle risorse di sistema.

Andrea Peri
. . . . . . . . .
qwerty àèìòù

On 02/23/2012 08:14 PM, Andrea Peri wrote:

Mi verrebbe voglia di pensare che abbiano impiegato una versione leggera di oracle.
Come ad esempio Oracle-XE. Una sua versione completamente gratuita ma limitata
nell'impiego delle risorse di sistema.

Hmm... questo spiegherebbe alcune cose, visto che XE non può usare più di un core (il sistema di benchmark ne aveva due) e non più di un 1GB di RAM (nel benchmark veniva specificato però che la SGA era di 512MB).

Attenzione però: a pagina 14 del benchmark viene specificata la dimensione delle tabelle, che è complessivamente di almeno 13GB... ma XE è limitato a 11GB, per cui suppongo che NON abbiano utilizzato Oracle XE.

Saluti,

Luca Morandini
http://www.lucamorandini.it

Il 23 febbraio 2012 21:17, Luca Morandini <lmorandini@ieee.org> ha scritto:

On 02/23/2012 08:14 PM, Andrea Peri wrote:

Mi verrebbe voglia di pensare che abbiano impiegato una versione leggera
di oracle.
Come ad esempio Oracle-XE. Una sua versione completamente gratuita ma
limitata
nell'impiego delle risorse di sistema.

Hmm... questo spiegherebbe alcune cose, visto che XE non può usare più di un
core (il sistema di benchmark ne aveva due) e non più di un 1GB di RAM (nel
benchmark veniva specificato però che la SGA era di 512MB).

Attenzione però: a pagina 14 del benchmark viene specificata la dimensione
delle tabelle, che è complessivamente di almeno 13GB... ma XE è limitato a
11GB, per cui suppongo che NON abbiano utilizzato Oracle XE.

Saluti,

Da pagina 5 del report:

"For this experiment to carry out effectively we have used two
different machines having the same
configuration, one for the Postgres and the other for the Oracle 11g.
Both the machines have Intel(R)
Core(TM)2 Duo CPU E450 @ 2.20GHz and 2.00 GB RAM"

CPU un po datata e quantità di memoria decisamente insufficiente per
ospitare Windows 7 con Oracle server. Potevano almeno provarli
entrambi su unix.
Scrivono poi che hanno fatto sia per PostgreSQL che Oracle
l'installazione di default e nessun tuning . Scelta un po discutibile
e che più che misurare le performance in assoluto può dare un idea
della "semplicità" di realizzazione di un sistema con buone
prestazioni.

Stefano