Come scegliere il giusto database NoSQL

I database NoSQL offrono un'elevata velocità operativa e una maggiore flessibilità per gli sviluppatori di software e altri utenti rispetto ai tradizionali database tabulari (o SQL).

Le strutture di dati utilizzate dai database NoSQL (valore-chiave, colonna larga, grafico o documento) differiscono da quelle utilizzate dai database relazionali. Di conseguenza, i database NoSQL. I database NoSQL possono essere scalati su migliaia di server, anche se a volte con perdita di coerenza dei dati. Ma ciò che rende i database NoSQL particolarmente rilevanti oggi è che sono particolarmente adatti per lavorare con grandi set di dati distribuiti, il che li rende una buona scelta per i progetti di big data e analisi.

Come scegliere un database NoSQL: fattori chiave

Con più di due dozzine di database NoSQL open source e commerciali sul mercato, come scegliere il prodotto o il servizio cloud giusto?

Un fattore vitale è conoscere lo scopo a cui si desidera assegnare i dati, afferma Carl Olofson, vicepresidente della ricerca IDC.

I database NoSQL variano in architettura e funzione, quindi è necessario scegliere il tipo migliore per l'attività desiderata:

  • In generale, gli archivi di valori-chiave sono i migliori per la condivisione persistente dei dati da parte di più processi o microservizi in un'applicazione.
  • Se si prevede di eseguire analisi approfondite delle relazioni per il calcolo della prossimità, il rilevamento di frodi o la valutazione della struttura associativa, un database a grafo potrebbe essere la scelta migliore.
  • Se è necessario raccogliere dati molto rapidamente e con volumi elevati per l'analisi, esaminare un ampio archivio di colonne. Tali database NoSQL tendono anche a offrire supporto per documenti e grafici.

Non dare per scontato che il tuo progetto iniziale sia l'unico modello di utilizzo che applicherai al database. Potresti iniziare semplicemente gestendo i dati dello stato o della sessione, quindi cercare di eseguire l'elaborazione delle transazioni e in seguito eseguire alcune analisi.

Per il breve termine, l'attenzione dovrebbe concentrarsi su prestazioni, scalabilità, sicurezza, supporto per vari carichi di lavoro (inclusi transazionali, operativi e analitici), integrazione con gli ecosistemi esistenti, impegno amministrativo, supporto cloud e tipo di casi d'uso supportati, afferma Noel Yuhanna, principale analista di Forrester Research. Di questi, la sicurezza è fondamentale. I database NoSQL che dispongono di certificazioni di sicurezza dovrebbero ricevere maggiore considerazione. Cerca funzionalità come la crittografia dei dati inattivi e dei dati in movimento per proteggere le informazioni sensibili.

Inoltre, non tutti i database NoSQL possono scalare bene, dice Yuhanna, quindi non dare per scontato che solo perché un prodotto è nella categoria NoSQL scalerà e funzionerà meglio dei database relazionali.

NoSQL offre diversi livelli di coerenza nel modello di scalabilità orizzontale, quindi guarda le soluzioni che soddisfano i tuoi requisiti specifici. Ad esempio, se si desidera supportare transazioni di tipo bancario altamente critiche, i database relazionali sono ancora la soluzione migliore.

I database NoSQL che dovresti considerare

Ecco i database NoSQL che dovresti considerare.

MongoDB

MongoDB è il database NoSQL più popolare. MongoDB, un database gratuito e open source, multipiattaforma e orientato ai documenti, utilizza documenti simili a JSON con schemi. La piattaforma è gestita da MongoDB Inc. ed è pubblicata sotto una combinazione di Gnu Affero General Public License e Apache License.

MongoDB Atlas incorpora le migliori pratiche operative che l'azienda ha imparato dall'ottimizzazione di migliaia di implementazioni presso organizzazioni di tutte le dimensioni. L'offerta basata su cloud gestisce la gestione, l'installazione e la configurazione del database, l'applicazione di patch al software, il monitoraggio e i backup e opera come cluster di database distribuito.

recensioni database NoSQL

Leggi le nostre analisi pratiche approfondite dei database NoSQL chiave

  • MongoDB
  • MongoDB Atlas
  • Couchbase
  • Cosmos DB
  • Neo4j
  • Google Bigtable
  • Database NoSQL MarkLogic
  • Aerospike
  • Confronto: MongDB e Couchbase Server

E leggi le nostre guide a specifiche tecnologie di database NoSQL:

  • Database NoSQL valore-chiave (Aerospike, Cosmos DB, Hazelcast, Memcached e Redis)
  • Database NoSQL documento (Cloudant, Cosmos DB, Couchbase, CouchDB, DynamoDB e Firebase)

Le caratteristiche e le capacità principali includono backup completamente gestito, backup continuo, ripristino point-in-time, snapshot interrogabili, grafici generati automaticamente, un pannello delle prestazioni in tempo reale e avvisi personalizzabili. Gli utenti possono importare dati in tempo reale su MongoDB Atlas con un impatto minimo sulle applicazioni, utilizzando il servizio Live Migration integrato.

Il database è ottimale per archiviare, elaborare e accedere a documenti e altri tipi di set di dati in modo nativo ed è popolare tra gli sviluppatori perché è facile da usare, è scalabile per soddisfare le applicazioni esigenti e offre un ecosistema completo di strumenti e partner, afferma Yuhanna . I casi d'uso comuni per MongoDB includono personalizzazione, analisi in tempo reale, Internet of things (IoT), big data, cataloghi di prodotti / risorse, sicurezza e rilevamento di frodi, applicazioni mobili, data hub, gestione dei contenuti e applicazioni social e di collaborazione.

Amazon DynamoDB

Amazon DynamoDB è un altro popolare database NoSQL basato su cloud. Amazon DynamoDB è una piattaforma NoSQL completamente gestita che utilizza un'unità a stato solido (SSD) per archiviare, elaborare e accedere ai dati per supportare applicazioni ad alte prestazioni e basate sulla scalabilità.

Suddivide automaticamente i dati tra i server in base alla velocità effettiva del carico di lavoro e ai requisiti di archiviazione e gestisce i casi d'uso ad alte prestazioni più ampi.

Gli utenti possono ridimensionare, monitorare e gestire le proprie tabelle sia tramite le interfacce di programmazione delle applicazioni (API) che la console di gestione di Amazon Web Services. DynamoDB è strettamente integrato con Amazon EMR (un framework gestito per Apache Hadoop, Apache Spark e HBase) che offre la possibilità di eseguire query su più origini dati.

La piattaforma supporta sia modelli chiave-valore che modelli di documento e dispone anche di una libreria per l'indicizzazione geospaziale. Le organizzazioni utilizzano DynamoDB per supportare una varietà di casi d'uso, tra cui campagne pubblicitarie, applicazioni di social media, monitoraggio delle informazioni sui giochi, raccolta e analisi dei dati di sensori e log ed e-commerce.

DataStax e DataStax Enterprise Platform

DataStax sfrutta Apache Cassandra per la distribuzione nei data center. Un forte vantaggio per DataStax NoSQL è stata la sua architettura distribuita globale, afferma Yuhanna di Forrester. DataStax distribuisce, contribuisce e supporta la versione aziendale commerciale di Apache Cassandra, un progetto open source. Cassandra è un database di valori-chiave distribuito su file di grandi dimensioni basato su Google Bigtable.

Tra le sue caratteristiche principali vi sono la tolleranza agli errori, l'architettura scale-out, l'accesso ai dati a bassa latenza e l'amministrazione semplificata. DataStax fornisce funzionalità aggiuntive come analisi, ricerca, monitoraggio, in-memory e sicurezza per supportare le applicazioni critiche.

DataStax Enterprise supporta vari tipi di applicazioni aziendali, tra cui analisi transazionali, analitiche, predittive e carichi di lavoro misti. Offre funzionalità multimodello più ampie con supporto per dati grafici e JSON. I principali casi di utilizzo includono rilevamento di frodi, cataloghi di prodotti, personalizzazione dei consumatori, motori di raccomandazione e IoT.

Couchbase

Couchbase è una piattaforma database di supporto di documenti JSON distribuita da Couchbase Inc. Il DBMS NoSQL open source supporta ampi casi d'uso.

Couchbase Server, un database di documenti e valori chiave NoSQL open source con cache incorporata, si rivolge alle aziende che necessitano di un database in grado di fornire prestazioni, multi-modello, scalabilità e automazione, afferma Yuhanna.

Le organizzazioni utilizzano Couchbase per supportare applicazioni social e mobili, archivi di contenuti e metadati, transazioni di e-commerce e applicazioni di gioco online. Couchbase fornisce supporto completo per documenti, modello dati flessibile, indicizzazione, ricerca full-text e MapReduce per analisi in tempo reale.

La piattaforma viene utilizzata dalle grandi aziende per supportare vari carichi di lavoro critici, inclusi processi operativi e analitici.

Redis Enterprise

Sponsorizzato da Redis Labs, la piattaforma open source Redis Enterprise è uno dei database NSQ valore-chiave più comuni, afferma Olofson di IDC. (Ulteriori informazioni sull'utilizzo di Redis per la misurazione in tempo reale, la gestione del controllo degli accessi e i WebSocket che modellano il traffico.)

Redis offre un database in memoria ad alte prestazioni che supporta coerenza sia rilassata che forte, un modello flessibile senza schemi, alta disponibilità e facilità di implementazione, afferma Yuhanna di Forrester.

Redis Labs ha sviluppato funzionalità e tecnologie aggiuntive che incapsulano il software open source e fornisce un'architettura di distribuzione avanzata per Redis, supportando al contempo l'API open source.

Il modello di dati supporta valore-chiave; una varietà di strutture dati come elenchi, set, bitmap e hash; e una gamma di modelli tramite moduli collegabili come ricerca, grafico, JSON e XML. Redis supporta una varietà di casi d'uso, inclusi analisi in tempo reale, transazioni, importazione di dati, social media, gestione dei lavori, accodamento dei messaggi e memorizzazione nella cache.

MarkLogic

MarkLogic NoSQL Database è un database aziendale operativo e transazionale progettato per velocità e scalabilità NoSQL. Utilizzando un approccio multimodello, il database fornisce integra e archivia i dati critici, quindi consente di visualizzare tali dati come documenti, grafici o dati relazionali, sia in locale, virtualizzati o nel cloud. 

Fornisce funzionalità di alta disponibilità e sicurezza a livello di dati, tra cui conformità ACID, sicurezza a livello di elemento, anonimizzazione, redazione e crittografia avanzata. Per questi motivi, è adatto alle aziende che desiderano condividere enormi quantità di informazioni sensibili. MarkLogic è anche l'unico database NoSQL con una certificazione Common Criteria.

Altre caratteristiche chiave mirano a migliorare l'esperienza dell'utente creando una vista unica e unificata dei dati che è ricercabile e può essere convalidata in qualsiasi momento utilizzando i metadati. Queste funzionalità includono bitemporale, semantica, la capacità di importare dati sia strutturati che non strutturati (archiviazione nativa per JSON, XML, RDF, geospaziali e binari di grandi dimensioni) e l'indice universale "chiedi qualsiasi cosa".

Un data hub operativo che aiuta ad affrontare la governance e la conformità aziendale rende MarkLogic utile per le grandi imprese con silos di dati, nonché per quelle che devono affrontare normative e maggiori minacce alla sicurezza informatica.

Altre opzioni NoSQL

Altre offerte di database NoSQL open source e commerciali includono:

  • Blazegraph, da Systap
  • Google Bigtable, di Google
  • Elio, da Levyx
  • Microsoft Azure Cosmos DB, di Microsoft
  • Neo4j, da Neo4j
  • Database Oracle NoSQL, da Oracle
  • ThingSpan, da Objectivity