Google rilascia Supersonic, motore di interrogazione per database

Di - 23 October 2012 - in

Google ha rilasciato come Open Source un nuovo motore di interrogazione per basi dati orientate alle colonne, chiamato Supersonic. Si tratta di una libreria C++ disponibile su Google Code.

I sistemi di basi dati orientate alle colonne sono sistemi relazionali particolari. In un sistema di basi dati relazionale i dati sono rappresentati come relazioni, ovvero tabelle in cui ogni riga corrisponde ad un oggetto memorizzato (record) e ogni colonna ad un possibile attributo dell’oggetto in questione. Una base dati relazionale contenente utenti di un sito potrebbe avere un utente per ogni riga, e le colonne “nome”, “cognome”, “indirizzo email”, “password” e cosí via.

Mentre di solito i dati vengono memorizzati sul supporto fisico (disco, RAM…) record per record, accodando le righe della tabella una dopo l’altra, in un sistema orientato alle colonne i dati sono memorizzati attributo per attributo, accodando le colonne una dopo l’altra. Sistemi di questo tipo sono molto comodi quando le richieste fatte alla base di dati sono tipicamente richieste che interessano un singolo attributo, o un piccolo insieme di attributi (in un sistema di analisi dell’archivio di una biblioteca, ad esempio, sarà molto piú frequente la richiesta “voglio il numero delle opere di Italo Calvino in nostro possesso e i loro titoli” che la richiesta “voglio autore, numero di pagine, editore e scaffale di Il sentiero dei nidi di ragno“, rendendo utile un approccio di memorizzazione per colonne.

I sistemi di analisi dati utilizzati da Google devono produrre, da enormi database con molti attributi, delle relazioni molto specifiche su campi ristretti dello spazio degli attributi, e hanno quindi certamente un approccio per colonne, come quasi sempre accade con i data warehouse in genere. È quindi molto utile per Google avere un sistema di interrogazione di queste basi di dati, che sia il piú efficiente possibile.

Il Supersonic Query Engine, quindi, nasce per questo motivo, ed è rilasciato come Open Source nell’ambito del rapporto di scambio che si è ormai creato tra Google, che rilascia software di ottima qualità e molto ben realizzati, e la comunità internazionale degli sviluppatori, che testa, studia e migliora questi software.

Supersonic comprende un insieme di funzioni abbastanza ampio, sia di applicazione generale, sia per campi di applicazione piuttosto specifici, come le operazioni matematiche, la manipolazione di stringhe e la manipolazione di date. Il sistema ha diverse funzionalità per migliorarne l’efficienza, in particolare attraverso sistemi di gestione della memoria, e la sicurezza, attraverso sistemi di gestione degli errori. La documentazione, al solito, è piuttosto estesa e ben fatta per essere un software rilasciato da poco e parzialmente ancora in lavorazione.

Via | Google Open Source Blog

Leave a Reply

Lorenzo Breda Articolo scritto da

Studente di Informatica a Roma, si occupa di programmazione web sopratutto lato server, e di accessibilità del web. Utilizza e ama Debian GNU/Linux, e si interessa di fisica, fumetto, trekking e fotografia (gli ultimi due possibilmente abbinati). Collabora con Googlab da aprile 2012.

Contatta l'autore

Previous post:

Next post: