I big data cambiano il mercato dei Database Server

Rick F. van der LansElaborare e analizzare grandi quantità di dati significa anche dotarsi di nuovi strumenti: nasce la categoria dei server di database “big data ready”

 

TI PIACE QUESTO ARTICOLO?

Iscriviti alla nostra newsletter per essere sempre aggiornato.

AerospikeDB, Akiban, Aster, Cassandra, CouchDB, HBase, MongoDB, Ne04j, NuoDB, ParAccel e VoltDB sono tutti server di database che non esistevano dieci anni fa, e per la maggior parte non esistevano nemmeno cinque anni fa. Cinque anni fa, i database server dominanti erano IBM DB2, Microsoft SQL Server, MySQL e Oracle. Ma il mercato dei server di database è cambiato notevolmente. E questo è principalmente dovuto a un fenomeno che si è trasformato in uno dei temi più caldi nel settore IT: i big data.

Nessuno conosce esattamente quale sia la definizione di big data, e in effetti questo è forse il termine peggio definito che vi sia mai stato nel settore IT. Però, a sensazione, tutti sappiamo che cosa significa: si riferisce a sistemi che memorizzano o elaborano grandi quantità di dati. Quantità di dati che non avremmo creduto possibili solo un paio di anni fa. In un certo senso, la parola “big” implica che si tratta di una quantità di dati insolita per una organizzazione. E queste applicazioni di big data sono nella maggior parte dei casi guidate dagli analytics. Sono sviluppate per migliorare le capacità analitiche di un’organizzazione. Per esempio, i big data consentono alle organizzazioni di ottimizzare le loro performance e i processi di business, aumentare la fedeltà dei clienti e il customer care, ridurre i costi di sviluppo, e infine migliorare la monetizzazione dei loro dati.

Per tornare al mercato dei server di database, alcuni dei requisiti dei sistemi di big data sono eccessivi per i classici server di database, oppure, se si sviluppano questi sistemi con i classici server di database, la soluzione diventa troppo costosa e forse anche insostenibile.

Questo era il segnale colto da molti dei nuovi vendor per sviluppare un server di database adatto per i sistemi di big data e a un prezzo ragionevole. Questi nuovi server di database possono essere divisi in tre gruppi: non SQL, new SQL e analytical SQL.

Leggi anche:  Il potenziale del data marketplace. Come governare la condivisione dei dati

 

Server di database non SQL – Come il nome suggerisce, i server di database non SQL non supportano né SQL, né concetti relazionali puri. Questo gruppo può essere ulteriormente suddiviso in quattro sottocategorie: memorizzazione per valori chiave (MemcachedDB, Hamsterdb, Oracle Berkeley DB, LevelDB, Redis, AreospikeDB e Riak), memorizzazione di documenti (Apache CouchDB, Apache Jackrabbit, MongoDB, OrientDB, Terrastore e RavenDB), memorizzazione a colonne (Apache Cassandra, HBase, Hypertable (Google Bigtable e Amazon SimpleDB), e memorizzazione a grafo (AllegroGraph, FlockDB, HyperGraphDB, InfiniteGraph e Neo4j).

Molti di questi supportano API e un modello di dati che rendono più facile alle applicazioni la memorizzazione e il recupero dei dati. La maggior parte supporta un modello di dati aggregati, in cui i dati possono essere memorizzati in strutture a nido e gerarchiche, mentre i record nelle tabelle possono avere strutture differenti, e quando viene inserito un nuovo record, può essere aggiunto un valore per il quale non è stata ancora definita una colonna. Un altro elemento comune è che non supportano tutte le funzioni normalmente presenti nei sistemi SQL classici, come la sicurezza dei dati, l’integrità dei dati, e di linguaggi di query di alto livello. Ma a causa del loro modello di dati non relazionali, la loro architettura snella e semplice, il loro differente meccanismo transazionale, offrono prestazioni elevate, elevata scalabilità, alta disponibilità e costi di archiviazione contenuti. E questo li rende molto adatti per particolari sistemi di big data. Un prodotto particolare che va qui menzionato è Hadoop, un file system utilizzato da molti dei citati server di database non SQL. Hadoop, con il suo file system distribuito a elevata scalabilità e l’architettura che poggia su MapReduce, è alla base di questi server di database, anche se non è stato menzionato negli elenchi di poco sopra in quanto, come indicato, si tratta di un file system e non di un server di database.

 

Server di database new SQL – Il secondo gruppo di server di database è chiamato new SQL. Si noti che questi prodotti non supportano un diverso tipo di SQL, ma fanno supporto SQL tradizionale. Però sono “nuovi” server di database SQL, perché internamente sono diversi. Esempi di prodotti new SQL sono Akiban, Clustrix, GenieDB, JustOneDB, MemSQL, NuoDB, ScaleBase, TransLattice, VMware SQLFire e VoltDB.

Leggi anche:  Large Language Models - 3 strategie organizzative per utilizzarli in modo efficace

I prodotti new SQL supportano la maggior parte delle funzionalità che di solito si trovano nei sistemi SQL classici. Come i server di database non SQL, puntano a elevati livelli di prestazioni transazionali, scalabilità e disponibilità, che vengono ottenuti utilizzando differenti architetture interne senza condivisioni e sfruttando in modo efficiente l’uso della memoria interna. Ma naturalmente la loro forza è che supportano SQL, il che offre una serie di vantaggi pratici:

  • costi di formazione minimi per gli sviluppatori, perché già conoscono SQL
  • molti tool di sviluppo e di reporting già esistenti supportano SQL e sono quindi in grado di estrarre i dati da questi nuovi prodotti
  • l’integrazione dei dati nei sistemi new SQL e in quelli classici è facile.

Anche se tutti supportano dialetti SQL ricchi e sono in grado di eseguire query SQL complesse, la loro forza consiste nell’eseguire rapidamente le transazioni e le query semplici. Le loro caratteristiche di query li rendono molto adatti a quello che alcuni chiamano analytics in tempo reale.

 

Server di database analytical SQL – Mentre i prodotti new SQL si concentrano su operazioni con analisi semplici in tempo reale, i server di database analytical SQL mirano ad analizzare i big data. Alcuni di essi sono progettati specificatamente per i data scientist in modo da agire come sandbox dove poter eseguire anche le query più complesse su massicce quantità di dati mantenendo però buone prestazioni. Gli esempi di prodotti che appartengono a questa categoria sono: Actian VectorWise, EXASOL, EMC/Greenplum, HP/Vertica, IBM/Netezza, Infobright, Information Builders HyperStage, Kognitio, Oracle ExaLytics, ParAccel, SAP HANA e le appliance Teradata Aster Database. Questi sono tutti i server di database SQL progettati e ottimizzati per l’elaborazione analitica su grandi insiemi di dati.

Per riassumere, i big data hanno un potenziale enorme. In un report del giugno 2011 dal titolo “Big data: the next frontier for innovation, competition, and productivity”, il McKinsey Global Institute sottolineava che i big data hanno il potenziale di incrementare il valore del settore sanitario degli Stati Uniti di 300 miliardi di dollari, di aumentare quello del settore pubblico europeo di 250 miliardi di dollari, di ridurre del 50% i costi di produzione relativi a sviluppo e assemblaggio, di far crescere di 100 milioni di dollari il fatturato dei service provider, e infine di incrementare del 60% il margine netto del commercio al dettaglio negli Stati Uniti.

Leggi anche:  SAS, la vera potenza dell’AI

I “grandi server di database” citati in questo articolo consentono di sviluppare e gestire sistemi di big data. Se “big” si riferisce a un elevato numero di operazioni oppure a una quantità enorme di dati da analizzare, esistono oggi server di database progettati e ottimizzati per queste aree applicative: sono “big data ready”. In altre parole, la necessità di sistemi di big data ha aperto un mercato completamente nuovo di server di database. Senza alcun dubbio, alcuni di questi non sopravviveranno alla battaglia che sta per iniziare, ma alcuni si affermeranno in modo da diventare ben noti in futuro come oggi lo sono alcuni dei sistemi SQL classici. La mia raccomandazione è di tenere d’occhio alcuni di questi sistemi e il loro potenziale.

 

Rick F. van der Lans è un analista indipendente, consulente, autore e docente specializzato in data warehousing, business intelligence e tecnologie di database. Managing director di R20/Consultancy e docente di fama internazionale, Rick scrive per vari siti web tra cui il noto B-eye-Network.com, ed è autore di molti white paper. I suoi libri più conosciuti, tra cui “Introduction to SQL” e “The SQL guide to Oracle”, sono stati tradotti in numerose lingue e hanno venduto oltre 100.000 copie. Recentemente, Rick ha pubblicato un nuovo libro dal titolo “Data virtualization for Business Intelligence systems”.

 

Rick F. van der Lans presenterà a Roma per Technology Transfer i seminari “Data Virtualization” il 13 giugno 2013 e “La nuova generazione della tecnologia database” il 14 giugno 2013.