[Tech] Informazioni sui Database

Marco Ermini flug@markoer.org
Mer 12 Dic 2001 14:10:53 CET


On Tue, 11 Dec 2001 15:47:13 +0100
carlo.orecchia@stige-net.com wrote:

> Mah, non per entrare in polemica:
> 
> Oracle con un JDBC migliore di DB2 mi sembra strano assai: so di casi di 
> progetti su Oracle abortiti proprio a causa dell'inefficienza del loro 
> driver, Driver che a detta di sviluppatori che conosco non era molto di 
> più del supporto di base di Sun.

Molto piu' probabile che siano bacati i programmatori ;-) o che abbiano usato
il driver con il tier sbagliato. C'e' piu' di un driver JDBC Oracle, a seconda
del livello di tier jdbc che ti serve. Sicuramente se usi il tier 1 ed un il
bridge JDBC -> Microsoft ODBC e' molto probabile che 

Il driver 


> Quanto al Driver "bacato" su MVS, possibile, ma bisognerebbe capire in 
> cosa consiste il baco e quanto tempo ci hanno messo per rimettere a posto 
> le cose:

Il driver JDBC di DB2 non supporta in pratica i tipi custom di JDBC. Non
riesce a mapparli. E questa cosa e' assolutamente provata, visto che l'abbiamo
verificata (quindi non solo io) quando ho lavorato direttamente in IBM,
assieme agli ingegneri IBM (quindi non degli utenti qualsiasi): se ci fosse
stata una soluzione sarebbe uscita sicuramente. L'unica soluzione e'
utilizzare i campi BLOB in modo "classico" e gestire i dati direttamente
nell'applicazione Java.

Quindi, niente polemica e nessun problema di accesso a risorse varie: non
credo che un'azienda che e' del gruppo IBM abbia problemi di fix non trovate
su un sito ;-) Erano anzi gli stessi ingegneri IBM a dire abbastanza
chiaramente: "potessimo usare Oracle..." solo che, *ovviamente*, e' una cosa
impossibile per una azienda IBM ;-)



[...]

> Questo mi dà anche un'altro spunto, il DB2 gira su qualsiasi piattaforma: 
> dal PC al Mainframe e su qualsiasi loro sistema operativo. Facile pensare 
> in temini di scalabilità. 

Non puoi certo dire che Oracle giri su *meno* piattaforme di DB2. Anzi,
sicuramente supporta molto meglio di DB2 le piattaforme che hanno poco a che
fare con IBM, come per esempio Sun (ma esiste DB2 per Solaris?)



> Ho conosciuto molti sviluppatori Oracle che dopo aver lavorato per qualche 
> tempo su DB2 si sono fatti venire molti dubbi sul fatto di mantenere 
> Oracle  come piattaforma prioritaria. 

Guardacaso io ho le testimonianze opposte ;-) ed in ogni caso non mi fido
molto di certe testimonianze: ciascuno parla bene delle acque in cui sguazza e
riesce a sguazzare bene... un MCSE parlera' sempre bene di Windows, come un
sysadmin Unix lo odiera' sempre, e praticamente per gli stessi identici motivi
;-)

Personalmente, conoscendo entrambe le piattaforme, ed anzi avendo avuto molti
piu' contatti con persone IBM che non Oracle, e potendo esprimere un giudizio
obiettivo, non ho molti dubbi su Oracle.


> Loro testimonianza: DB2 è più facile da usare, è più efficiente, ha delle 
> funzionalità che Oracle non ha  e costa molto, ma davvero molto, meno. Non 
> è che su Oracle ci si guadagna molto ma molto di più a venderlo e 
> mantenerlo?

Tutto questo si riassume in un solo commento: credo tu conosca poco Oracle.

Sul "piu' facile da usare", personalmente me ne frega poco, anzi non
testimonia molto a favore di chi lo utilizza come argomento, che e'
decisamente piu' commerciale che tecnico. Chi non conosce gli strumenti con
cui lavora, non puo' esprimere dei giudizi appropriati, secondo me, puo' al
massimo riportare delle impressioni. Oracle va sicuramente affidato a mani e
menti capaci, su questo non c'e' dubbio, ma penso che in ultima analisi questo
valga per quasi tutto ;-)

Sul "piu' efficente" penso che bisogna fare dei paragoni sui benchmark, ed
ammesso che i benchmark abbiano un senso, questi sono decisamente a favore di
Oracle. Se si astrae dai benchmark, penso che Oracle non abbia nulla da
dimostrare visto l'utilizzo quotidiano che ne viene fatto. Se poi si parla di
utilizzo di risorse o cose del genere, ovviamente bisogna sia saper
dimensionare l'hardware sia saper configurare il sistema operativo per le
proprie esigenze. Se non lo si sa fare, si resti a casa e non si smanetti ne'
su Oracle ne' su DB2.

Sulle "funzionalita' che non ha" non riesco a trovarne. Posso tranquillamente
sbilanciarmi e dire che e' *mooolto* difficile trovare una funzionalita' che
esista su un qualsiasi altro DB e che non ci sia su Oracle (a meno che non si
parli di cose molto particolari per mercati di nicchia). Sono pronto a
ricredermi se mi vengono forniti degli esempi, ma ricordo che Oracle puo'
praticamente girare quasi senza un sistema operativo sotto ;-) anche se in
sistemi operativi seri (Solaris, Linux) lo puoi ri-linkare con le librerie di
sistema.


> Comunque, di polemiche del genere "la mio moto è più bella della tua" non 
> penso ci sia bisogno. 
> 
> Solo che, ripeto:  l'SQL è stato creato sul DB2, da IBM.

L'SQL e' solo un linguaggio ed oggi e' uno standard ISO. L'SQL in se' non
c'entra nulla con i database, e' solo un'interfaccia. Il DB potrebbe benissimo
non essere relazionale o essere ad oggetti; i moderni filesystems sono
database ma non li interroghi con l'SQL.


> Quando si parla 
> di DBMS, ci sono delle buone alternative in giro, ma il riferimento mi sà 
> che è ancora lui.

Personalmente non credo proprio. Per quello che posso vedere, lo "stato
dell'arte" e' Oracle, ovviamente e' una mia opinione personale. Per quello che
mi riguarda, non userei mai DB2 in un progetto che non coinvolga anche altre
cose IBM (hardware e software).


ciao

-- 
Marco Ermini
http://www.markoer.org
Perche' perdere tempo ad imparare quando l'ignoranza e' istantanea? (Hobbes)




Maggiori informazioni sulla lista flug-tech