Oracle, SQL Server, Microsoft Access, MySQL, DB2 o PostgreSQL? Oggi sul mercato è disponibile un'ampia varietà di prodotti di database, che rendono la scelta di una piattaforma per l'infrastruttura della tua organizzazione un progetto scoraggiante.
Definisci i tuoi requisiti
I sistemi di gestione dei database (o DBMS) possono essere suddivisi in due categorie: database desktop e database server.
I database desktop sono orientati verso applicazioni per utente singolo e risiedono su personal computer standard (da cui il termine desktop).
I database dei server contengono meccanismi per garantire l'affidabilità e la coerenza dei dati e sono orientati verso applicazioni multiutente. Questi database sono progettati per funzionare su server ad alte prestazioni e hanno un prezzo corrispondentemente più alto.
Un'attenta analisi delle esigenze prima di impegnarti in una soluzione di database è essenziale. Il processo di analisi dei bisogni sarà specifico per la tua organizzazione ma, come minimo, dovrebbe rispondere alle seguenti domande:
- Chi utilizzerà il database e quali attività eseguiranno?
- Quanto spesso verranno modificati i dati? Chi effettuerà queste modifiche?
- Chi fornirà supporto IT per il database?
- Quale hardware è disponibile? C'è un budget per l'acquisto di hardware aggiuntivo?
- Chi sarà responsabile della conservazione dei dati?
- L'accesso ai dati sarà offerto tramite Internet? In tal caso, quale livello di accesso dovrebbe essere supportato?
Una volta raccolte le risposte a queste domande, sarai pronto per iniziare il processo di valutazione di specifici sistemi di gestione del database. Potresti scoprire che una sofisticata piattaforma server multiutente (come SQL Server o Oracle) è necessaria per supportare i tuoi requisiti complessi. D' altra parte, un database desktop come Microsoft Access potrebbe essere altrettanto in grado di soddisfare le tue esigenze (e molto più facile da imparare, oltre che più delicato sul tuo portafoglio.)
Database desktop
I database desktop offrono una soluzione semplice ed economica a molti requisiti di manipolazione e archiviazione dei dati meno complessi. Si guadagnano il nome perché sono progettati per funzionare su computer "desktop" (o personali). Probabilmente hai già familiarità con alcuni di questi prodotti: Microsoft Access, FileMaker e OpenOffice/Libre Office Base (gratuito) sono i principali attori. Esaminiamo alcuni dei vantaggi ottenuti utilizzando un database desktop:
- I database desktop sono economici. La maggior parte delle soluzioni desktop sono disponibili per circa $ 100 (rispetto alle migliaia di dollari per i loro cugini basati su server). Se possiedi una copia di Microsoft Office, potresti già essere un proprietario con licenza di Microsoft Access.
- I database desktop sono facili da usare. Non è richiesta una conoscenza approfondita di SQL quando si utilizzano questi sistemi (sebbene molti supportino SQL per i fanatici là fuori). I DBMS desktop di solito offrono un'interfaccia utente grafica di facile navigazione.
- I database desktop offrono soluzioni web. Molti database desktop moderni forniscono funzionalità web che consentono di pubblicare i dati sul web in modo statico o dinamico.
Database server
I database server, come Microsoft SQL Server, Oracle, PostgreSQL open source e IBM DB2, offrono alle organizzazioni la possibilità di gestire grandi quantità di dati in modo efficiente in un modo che consente a molti utenti di accedere e aggiornare i dati contemporaneamente. Se sei in grado di gestire il prezzo elevato, un database basato su server può fornirti una soluzione completa di gestione dei dati.
I vantaggi ottenuti attraverso l'uso di un sistema basato su server sono diversi. Diamo un'occhiata ad alcuni dei più importanti guadagni raggiunti:
- Flessibilità. I database basati su server sono in grado di gestire praticamente qualsiasi problema di gestione dei dati tu possa affrontare. Gli sviluppatori adorano questi sistemi perché dispongono di interfacce (o API) per programmatori di applicazioni compatibili con i programmatori che consentono il rapido sviluppo di applicazioni personalizzate orientate al database. La piattaforma Oracle è anche disponibile per più sistemi operativi, fornendo ai drogati di Linux condizioni di parità se abbinati alla gente di Microsoft.
- Prestazioni potenti. I database basati su server sono potenti quanto vorresti che fossero. I principali attori possono utilizzare in modo efficiente praticamente qualsiasi piattaforma hardware ragionevole che sei in grado di costruire per loro. I database moderni possono gestire più processori ad alta velocità, server in cluster, connettività a larghezza di banda elevata e tecnologia di archiviazione a tolleranza di errore.
- Scalability. Questo attributo va di pari passo con il precedente. Se sei disposto a fornire le risorse hardware necessarie, i database del server possono gestire con grazia una quantità in rapida espansione di utenti e/o dati.
Alternative al database NoSQL
Con la crescente necessità per le organizzazioni di manipolare grandi insiemi di dati complessi, alcuni dei quali non hanno una struttura tradizionale, i database "NoSQL" sono diventati più diffusi. Un database NoSQL non è strutturato sulla struttura di colonne/righe comuni dei database relazionali tradizionali, ma utilizza piuttosto un modello di dati più flessibile. Il modello varia a seconda del database: alcuni organizzano i dati per coppia chiave/valore, grafici o colonne larghe.
Se la tua organizzazione ha bisogno di sgranocchiare molti dati, prendi in considerazione questo tipo di database, che in genere è più semplice da configurare rispetto ad alcuni RDBM e più scalabile. I migliori contendenti includono MongoDB, Cassandra, CouchDB e Redis.