Informazioni sui principali DBMS
Il mercato dei DBMS è stato estimato a circa 18,6 miliardi di dollari nel 2009, in diminuzione di circa 1% rispetto al 2008(secondo uno studio Gartner).
Questa pagina fornisce una breve panoramica dei principali DBMS attualmente presenti sul mercato (sia commerciali che gratuiti/OpenSource).
Oracle DBMS
IBM DB2
SQL Server
MySQL Server
PostgreSQL
HSQLDB
Oracle DBMS
Oracle è il primo DBMS relazionale commerciale, ed attualmente il principale prodotto per il mercato dei DBMS. Le sue funzionalità avanzate
e ottimizazioni lo rendono ideali in applicazioni dove si ha la necessità di gestire altisimi volumi di dati garantendo la consistenza
dei dati in presenza di accessi multipli e concorrenti. Viene tipicamente usato in applicazioni di livello Enterprise orientati alla gestione
di grandi moli di dati.
Secondo uno studio Gartner del 2009, Oracle copre il 48% del mercato dei RDBMS.
La versione attuale è Oracle DBMS 11g, disponibile sia per sistemi operativi Windows che Linux, sia per architetture meno difuse,
come Apple Mac OS X Server: PowerPC, HP HP-UX, HP Tru64 UNIX: Alpha, HP OpenVMS: Alpha, Itanium, IBM AIX5L: IBM POWER, IBM z/OS: zSeries,
PowerPC, zSeries, Itanium, Sun Solaris: SPARC, x86, x86-64.
Esistono diverse versioni, tra cui:
Oracle Database Express (Oracle XE)
Questa è la versione gratuita di Oracle DBMS, disponibile sia per Windows che per Linux, ma che offre alcune limitazioni
nell'utilizzo. In particolare, usa al massimo un processore ed 1 GB di memoria e la quantità dei dati presenti nel DBMS
non può superare 4 GB.
In più, non c'è ancora una versione Express dell'ultima edizione di Oracle DBMS (11g).
Oracle Database Enterprise Edition
Attualmente è la versione più completa e costosa di tutte le versioni del DBMS Oracle. Offre funzionalità avanzate di gestione
dei dati e di clustering che la rendono la versione ideale in situazioni in cui bisogna gestire altissimi volumi dei dati
(anche superiori ai Terrabyte).
IBM DB2
DB2 è il DBMS prodotto dalla IBM, con una lunga storia che ebbe inizio con il System R, il sistema inizialmente progettato da
Edgar F.Codd, per implementare il suo modello relazionale. Insieme ad Oracle, è uno dei prodotti più usati nella gestione di
basi di dati di grandi dimensioni.
Tra le varie versioni segnialiamo:
IBM DB2 Express-C
E' la versione gratuita di DB2 che viene con alcune limitazioni, in particolare usa al massimo due core (anche se fisicamente
il computer ne ha di più) e usa al massimo 2 GB di memoria. Non c'è un limite sulla quantità massima di dati.
IBM DB2 Enterprise Server Edition
E' la versione più completa capace di gestire carichi di lavoro più esigenti. E' indicata per applicativi che richiedono
una soluzione efficiente e scalabile per gestire grandi volumi di dati. Comprende funzionalità avanzate come la gestione
dei dati in formato XML, funzionalità che aumentano l'accesibilità dei dati e la scalabilità.
SQL Server
SQL Server è il DBMS commerciale offerto dalla Microsoft. E' software proprietario, commerciale, particolarmente addato per
applicazioni di medie dimensioni. Può essere installato solo su sistemi operativi della famiglia Windows.
SQL Server è disponibile in diverse versioni (maggiori informazioni sono disponibili alla pagina
Choose the Right Edition).
Le versioni principali sono (ultima versione SQL Server 2008 R2):
SQL Server Express Edition
La versione Express è gratuita, ma nasce con alcune limitazioni. Innanzitutto può utilizzare un solo processore
(anche se installata su una macchina multiprocessore), può sfruttare al più 1 GB di RAM e la dimensione di ogni
database non può superare 10GB (versione 2008 R2). Inoltre, non sono presenti funzionalità avanzate (tipicamente
richieste in ambienti Enterprise).
-
SQL Server Enterprise Edition
La versione Enterprise di SQL Server offre funzionalità avanzate tipicamente richieste in ambienti di sviluppo o di produzione
di grandi dimensioni, in cui la gestione efficiente di dati e dei metadati è un fattore essenziali. Si distingue prevalentemente
per funzionalità come:
- Possibilità illimitata di virtualizazione
- Compressione dei dati e dei backup
- Resource Governor
- Transparent Data Encryption
- Audit di ogni azione sui database
- Extensible Key Management
- Algoritmi avanzati di Data Mining
- Mirrored Backup
- Oracle Publishing
- Supporto all'architettura IA64
Nota: Gli studenti iscritti alla facoltà di ingegneria possono avvalersi dell'account MSDNAA (per maggiori dettagli
consultare la pagine MSDNAA) per scaricare ed installare gratuitamente tale versione.
Per scopi didattici però, è consigliata la versione Express in quanto offre la possibilità di provare le funzionalità
di base di un DBMS, come la manipolazione dei dati e l'esecuzione di query anche complesse senza le funzionalità specifiche che non
vengono tratate nei corsi di Basi di Dati o Laboratorio di Basi di Dati.
Strumento per la gestione del front-end: SQL Server Management Tools
SQL Server Management Tools è un pratico front end per la creazione e amministrazione di database SQL Server.
E l'interfaccia grafica fornita dal team di sviluppo di SQL Server, che permette di gestire la manipolazione dei dati e
l'amministrazione del server. In particolare, offre la possibilità di interagire con il DBMS attraverso lo standard SQL.
In più, SQL Server offre un linguaggio procedurale per la programmazione avanzata, chiamato T-SQL (Transcat SQL).
Nota: Tipicamente viene installata insieme a SQL Server (vedi nota Download SQL Server Express).
MySQL Server
MySQL Server Community Edition è il DBMS Relazionale OpenSource più usato al mondo. Offre la persistenza di dati in forma
relazionale e funzionalità complesse, specifiche dei DBMS di livello enterprise, come la replicazione dei dati, il clustering
e la concorrenza. Oltre alle versioni per i sistemi operativi Windows e Linux, esistono versioni per molte altre architetture
e sistemi operativi utilizzate in ambienti molto specifici, come in sistemi real-time o applicazioni aziendali complesse.
Attualmente MySQL viene supportato su piattaforme come AIX, BSDi, FreeBSD, HP-UX, eComStation, i5/OS, IRIX, Mac OS X, NetBSD,
Novell NetWare, OpenBSD, OpenSolaris, OS/2 Warp, QNX, Solaris, Symbian, SunOS, SCO OpenServer, SCO UnixWare, Sanos, Tru64e OpenVMS.
Tipicamente viene usato come componente della piattaforma di sviluppo LAMP (Linux, Apache, MySql, Perl, PHP, Python). Data la sua
ampia diffusione, viene usato in applicazioni database o web-database di qualsiasi dimensione, da applicazioni aziendali piccole
dimensioni fino a siti web complessi come Google, Wikipedia o Facebook.
Nel 2008, MySql AB, l'azienda che gestiva lo sviluppo di MySQL, è stata acquisita dalla Sun Microsystems per circa un miliardo di
dollari. Succesivamente, nel 2009, la Sun è stata acquisita dalla Oracle Corporation. Attualmente, MySQL DBMS fa parte del
portofoglio Oracle.
MySQL Server è disponibile sia in versione proprietaria che open source.
Strumento per la gestione del front-end: MySQL Workbench
MySql Workbench è un pratico front end per la creazione e amministrazione di database MySQL.
E l'interfaccia grafica fornita dal team di sviluppo di MySql, che permette di gestire la manipolazione dei dati e
l'amministrazione del server MySql.
PostgreSQL
PostgreSQL è il DBMS OpenSource più avanzato al mondo. Oltre le caratteristiche di base specifiche dei DBMS relazionale, PostgreSQL
presenta molte funzionalità avanzate, come il Multi-Version Concurrency Control (MVCC), point in time recovery (per il ripristino),
tablespaces, replicazione asincrona, transazioni innestate (savepoints), online/hot backups, un query planner/optimizer complesso
ed il write ahead logging per aumentare la toleranza ai guasti.
E' disponibile per molte architetture hardware e software, come Windows, Linux, e vari versioni di UNIX, come AIX, BSD, HP-UX, SGI IRIX,
Mac OS X, Solaris, Tru64).
HSQLDB
HSQLDB(HyperSQL DataBase) è un DBMS relazionale molto leggero scritto completamente in Java. Ha una dimensione molto ridotta (circa
1100 KByte nella versione 2.0) ed è quasi comletamente compatibile con lo standard SQL92. Permette di memorizzare i dati sul filesystem
(per la persistenza) oppure mantenerli direttamente in memoria, nel caso in cui non è necessaria la persistenza.
E' stato sviluppato prevalentemente per essere usato all'interno di applicazioni, come supporto alla memorizzazione dei dati operativi
in forma strutturata. Attualmente viene usato all'interno di molti applicativi come MOMIS, OpenOffice.org, Mathematica(Wolfram Research),
JBoss e altri. Una lista più completa è presente alla seguente pagina.
Last Update: 25th February 2011