Scegliere il giusto database: cinque consigli per non sbagliare
Qual è il database giusto? A questa domanda risponde Fabio Gerosa, Sales Director Italy di Couchbase, che fornisce cinque consigli su come scegliere nel modo migliore il database adatto alle proprie necessità. La sola raccolta e memorizzazione di grandi quantità di dati non è più sufficiente. I dati devono infatti 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.
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.
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.
Il database riesce a 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.
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.
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.