La sola raccolta e memorizzazione di grandi quantità di dati non è più sufficiente

Qual è il database giusto? 5 consigli per sceglierlo

Qual è il database giusto? A questa domanda a volte gli sviluppatori rispondono per abitudine o per istinto, senza per forza dare alla questione l’importanza che necessita.

La sola raccolta e memorizzazione di grandi quantità di dati non è più sufficiente. I dati devono aggiungere valore fornendo una base affidabile per il processo decisionale, il che significa che devono essere in grado di essere valutati in millisecondi. Ulteriore complessità è data dal fatto che al giorno d’oggi non ci vuole molto a generare rapidamente terabyte di dati non strutturati – e-mail, documenti, foto, messaggi di testo, video, metriche provenienti da dispositivi edge / IoT, ecc. — e un database deve essere in grado di far fronte a tali variazioni di dati, strutturati e non. Pertanto, quando scelgono un nuovo database, le aziende dovrebbero considerare i cinque punti che seguono:

  1. Considerare i casi di uso La decisione pro o contro una tecnologia di database dipende prima di tutto dal tipo di applicazioni che devono essere supportate o create. Ci sono applicazioni front-end come un e-commerce con interazioni multiple, un volume di dati elevato corrispondente e la necessità di tempi di reazione brevi? Se è così, i database NoSQL dovrebbero essere la scelta naturale, per la loro capacità di scalare in modo granulare su nodi organizzati in cluster e offrono una flessibilità quasi illimitata. Quando si tratta di dati non strutturati o del mix di dati differenti che è così comune oggi, i database NoSQL hanno un ruolo fondamentale. I classici sistemi di gestione di database relazionali (DBMS) d’altra parte, con le loro strutture tabellari, hanno bisogno di personalizzazioni e modifiche per contribuire a raggiungere gli obiettivi di business, ed è per questo che i costi spesso aumentano e le prestazioni diminuiscono. Per dirla in modo semplice, le applicazioni più moderne necessitano di database NoSQL.
  2. Che necessità ci sono in tema di disponibilità applicativa? Le aziende dovrebbero tenere d’occhio i loro SLA. Le applicazioni devono rimanere altamente disponibili nonostante un crescente carico di lavoro e un utilizzo sempre più spesso concorrente da parte degli utenti, e il database deve essere scalabile per gestire questo genere di situazioni. Inoltre, il sistema dovrebbe soddisfare le maggiori esigenze di sicurezza delle applicazioni mission-critical attraverso meccanismi di replica automatica tra applicazioni geograficamente distribuite. Il data center deve sicuramente essere preso in esame.
  3. Il database è in grado di stare al passo con l’innovazione? Le funzionalità supportate da un database non dovrebbero semplicemente affrontare le esigenze attuali, ma anche prendere in considerazione i carichi di lavoro e i possibili scenari di utilizzo futuri. Sono importanti anche caratteristiche come la ricerca full-text integrata nativamente e l’analisi ad hoc, che non richiedono un software aggiuntivo che aumenterebbe la complessità e i costi. Un database moderno dovrebbe anche combinare un “Document Store” e uno strato di caching: Il caching accelera drasticamente le applicazioni con costi significativamente più bassi e offre la possibilità di scalare su richiesta. Scegliete un database con le caratteristiche su cui pensa di puntare il business.
  4. Una reale funzionalità cloud è necessaria. Per ridurre i costi e ottenere maggiore flessibilità, le aziende si affidano ad applicazioni distribuite che risiedono su server bare metal, in ambienti cloud virtualizzati, containerizzati, privati, pubblici o ibridi. Se un database intende soddisfare le esigenze delle imprese di oggi, allora dovrebbe essere sia cloud-native che cloud-agnostico. I moderni database NoSQL supportano l’orchestrazione, e i loro dati possono essere replicati e migrati rapidamente. Vale la pena ripeterlo, il database moderno dovrebbe essere cloud-native e cloud-agnostic.
  5. Attenzione ai costi operativi. Nel mondo relazionale, la presenza di volumi eccezionali di dati richiede server avanzati e costosi per eseguire query e analisi a un livello di prestazioni sufficientemente alto. Più quantità e volume dei dati aumentano, maggiore è la necessità di server sempre più potenti. I sistemi NoSQL, invece, possono essere facilmente scalati. E con i moderni database NoSQL, gli sviluppatori possono utilizzare la sintassi e la semantica del più comunemente noto SQL per, ad esempio, eseguire query di ricerca su bucket distribuiti e quello che contengono per attivare documenti in formato JSON. Questo si traduce in una marcata riduzione dei costi operativi e di formazione del personale. Puntando su NoSQL, ai Big Data non si abbinano per forza grandi costi.

I moderni database NoSQL combinano il meglio dei database relazionali legacy e dei nuovi database NoSQL. Al giorno d’oggi, un qualsiasi database moderno dovrebbe essere accompagnato da caratteristiche quali la grande scalabilità, l’high availability e il fatto di essere cloud-native. Altrettanto importante è che adotti un approccio che permetta alle aziende di migrare senza soluzione di continuità i carichi di lavoro dai database relazionali e distribuire più velocemente le applicazioni in ambienti multi-cloud.

A cura di Fabio Gerosa, Sales Director Italy, Couchbase