Alternative ed evoluzioni dei DBMS Settembre 4, 2009
Posted by Stefano Pedone in Articolo.trackback
Qualcuno da un po’ di tempo sostiene che è finita l’era dei DBMS. Le argomentazioni a supporto di questa affermazione partono dalla considerazione che questi sistemi sono stati sviluppati intorno agli anni ‘80, per poi essere adattati e aggiornati per poter essere in grado di affrontare le necessità dei giorni nostri. La diffusione degli RDBMS da parte dei pochi vendor in campo (Oracle, IBM, Microsoft) ha conquistato il mercato dei DBMS, imponendo di fatto l’utilizzo del modello relazionale come standard.
Negli anni però, sono emersi alcuni contesti e nuove opportunità tecnologiche che hanno messo in discussione il fatto che tali sistemi possano essere un’ottima soluzione in tutti gli ambiti.
Column-Oriented DBMS
I tradizionali DBMS utilizzano la rappresentazione a due dimensioni tipica delle tabelle, ma serializzano i dati su disco in una dimensione organizzandoli per righe (row store).
I sistemi basati su un approccio column store, pur mantenendo il concetto di tabella, invertono l’organizzazione dei dati su disco memorizzandoli per colonne.
I vantaggi di questo approccio sono particolarmente evidenti in ambiti OLAP, o più in generale quando si ha la necessità di effettuare aggregazioni di dati su una grande quantità di righe e su di un numero ristretto di colonne. La maggiore efficienza è ovviamente dovuta ad un minore accesso al disco.
Main Memory DBMS
La caratteristica di fondo di questi DBMS è quella di utilizzare principalmente la memoria invece che il disco per salvare i dati, migliorando così le performance nei tempi di accesso al dato. Questi sistemi supportano tre delle quattro proprietà delle transazioni (atomicity, consistency, isolation), ma perdono generalmente quella della durability. A questa mancanza sopperiscono attraverso l’utilizzo di un journal file (per lo storico delle operazioni), di memorie non volatili e aumentando la disponibilità dei dati con la replica del database.
Questi DBMS sono particolarmente efficienti negli ambiti OLTP.
XML Server
Nei contesti in cui è necessario memorizzare, gestire, pubblicare e scambiare documenti XML nel loro formato nativo, questa categoria di prodotti offre un engine specializzato al trattamento di dati così strutturati. Nonostante tutti i grandi vendor abbiano esteso i loro prodotti per supportare al meglio documenti XML, l’utilizzo di prodotti specializzati garantisce performance superiori.
Distributed Key/Value Storage System
Questo genere di sistemi hanno avuto grande rilievo in questi ultimi anni perché utilizzati dai maggiori protagonisti del web ad oggi. Google, Facebook, Amazon, LinkedIn, Last.FM, …, hanno sviluppato in casa dei sistemi ad hoc per gestire al meglio le esigenze nel trattamento dei dati, soprattutto in termini di disponibilità, scalabilità e distribuzione geografica. Molti di questi progetti sono stati rilasciati poi in modalità opensource.
Da un punto di vista del modello organizzativo delle informazioni usano spesso soluzioni ibride tra quelle sopra riportate, fanno largo uso di cache e di opportune politiche di replica e persistenza del dato.
Essi tipicamente hanno un approccio di tipo BASE nella gestione delle transazioni e fondano la struttura dei dati sulle hash table, coppie chiave/valore quindi. La responsabilità di mantenere aggiornati il mapping tra le chiavi e i valori è anche essa distribuita con algoritmi tali da minimizzare l’impatto dovuto a cambiamenti nell’insieme dei nodi.
L’emergere di queste innovativi approcci alla memorizzazione dei dati non può che far bene al mercato e all’IT in genere, e probabilmente porterà alla diffusione di soluzioni verticali a specifiche esigenze, molto competitivi per costi, semplicità e scalabilità.
D’altro canto non si può ad oggi affermare che essi possano essere una valida alternativa agli affermati RDBMS, per maturità e consolidamento di mercato, soprattutto in ambito enterprise.
— — —
Fonti
http://en.wikipedia.org/wiki/Column-oriented_DBMShttp://www.javaworld.com/javaworld/jw-09-2007/jw-09-columndb.html
http://www.infoq.com/news/2007/09/row-vs-column-dbs
http://databasecolumn.vertica.com/2007/09/one-size-fits-all.html
http://en.wikipedia.org/wiki/In-memory_database
http://cacm.acm.org/blogs/blog-cacm/32212-the-end-of-a-dbms-era-might-be-upon-us/fulltext
http://www.infoq.com/news/2009/08/NoSQL-and-the-End-of-RDBMS-Era http://project-voldemort.com/
http://incubator.apache.org/cassandra/
http://labs.google.com/papers/bigtable.html
http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html










Commenti»
No comments yet — be the first.