I database NoSQL consentono di archiviare dati con schemi flessibili e una varietà di modelli di dati. Questi database sono relativamente facili da usare per gli sviluppatori e offrono le elevate prestazioni e funzionalità necessarie per le applicazioni moderne. I database NoSQL AWS possono contenere grandi volumi di dati garantendo comunque una bassa latenza.
Nell'ambito dell'offerta di database AWS, sono disponibili sei tipi di NoSQL database tra cui scegliere, insieme a una varietà di servizi di database gestiti e autogestiti. Questi servizi di database sono progettati per supportare i carichi di lavoro cloud-native e integrarsi perfettamente con le risorse AWS esistenti.
In questo articolo imparerai:
NoSQL è un termine coniato originariamente da Carlo Strozzi nel 1998 per riferirsi a un database relazionale open source che non utilizzava SQL. Poi, nel 2009, il termine è stato nuovamente utilizzato per riferirsi in generale ai database non relazionali. Questo termine può significare sia "no SQL" che "non solo SQL", a seconda della struttura del database a cui viene applicato.
Lo sviluppo dei database NoSQL deriva dalla crescita dei dati web, che ha creato la necessità di un'elaborazione più rapida e di un'elaborazione dei dati non strutturati. Questi sistemi possono essere costruiti su architettura distribuita, consentendo scalabilità ed elaborazione vicino alla fonte dei dati o all'utente, il che significa maggiore velocità. Ciò è stato particolarmente importante per la crescita dei big data e ha portato all'adozione dei sistemi NoSQL da parte di molte aziende tecnologiche, tra cui Google, Facebook e Twitter.
Esistono sei tipi di modelli di database NoSQL tra cui puoi scegliere in AWS.
I database chiave-valore consentono di memorizzare i dati in coppie contenenti un ID univoco e un valore di dati. Ciò fornisce una struttura di archiviazione flessibile, poiché i valori non sono assegnati a una tabella e possono contenere qualsiasi quantità o struttura di dati. Questi database possono gestire grandi volumi di dati o richieste. I casi d'uso dei database chiave-valore includono applicazioni di gioco, sistemi di e-commerce e applicazioni ad alto traffico.
Servizio AWS: Amazon DynamoDB
I database di documenti sono strutturati in modo simile ai database chiave-valore, tranne per il fatto che le chiavi e i valori sono memorizzati in documenti scritti in un linguaggio di markup come JSON, XML o YAML. Puoi utilizzare questi database per archiviare gerarchie di dati collegando i documenti. I casi d'uso dei database di documenti includono profili utente, cataloghi e gestione dei contenuti.
Servizio AWS: Amazon DocumentDB, DynamoDB
I database a colonne larghe si basano su tabelle ma senza un formato di colonna rigido. Le righe non necessitano di un valore in ogni colonna e segmenti di righe e colonne contenenti formati di dati diversi possono essere combinati. I casi d'uso dei database a colonne larghe includono l'ottimizzazione dei percorsi, la gestione delle flotte e le applicazioni di manutenzione industriale.
Servizio AWS: Amazon Keyspaces (per Apache Cassandra)
I database grafici sono strutturati come insiemi di bordi e nodi. I nodi sono i singoli valori dei dati e gli archi sono le relazioni tra tali valori. Questi database consentono di tracciare dati intricatamente correlati in una rete organica anziché in una tabella strutturata. I casi d'uso dei database grafici includono motori di raccomandazione, social network e rilevamento delle frodi.
Servizio AWS: Amazon Neptune
I database di serie temporali memorizzano i dati in flussi ordinati cronologicamente. I dati non vengono ordinati per valore o ID, ma in base all'ora di raccolta, inserimento o altri timestamp inclusi nei metadati. Questi database consentono di gestire e interrogare i dati in base a intervalli di tempo. I casi d'uso dei database di serie temporali includono la telemetria industriale, DevOps e le applicazioni Internet of Things (IoT).
Servizio AWS: Amazon Timestream
I database Ledger si basano su registri che registrano eventi relativi ai valori dei dati. Questi log sono trasparenti, immutabili e possono essere verificati crittograficamente per dimostrare l'autenticità e l'integrità dei dati. I casi d'uso dei database ledger includono sistemi bancari, registrazioni, catene di approvvigionamento e sistemi di registrazione.
Servizio AWS: Amazon Quantum Ledger Database (QLDB)
È possibile scegliere un servizio di database basandosi esclusivamente sul tipo di database necessario. Tuttavia, è utile comprendere le funzionalità dei servizi offerti da AWS prima di effettuare la tua scelta. Se questi servizi non offrono le funzionalità o le capacità di cui hai bisogno, puoi cercare opzioni di terze parti.
Amazon DynamoDB è un database di documenti e valori chiave. È un servizio gestito che include funzionalità per backup e ripristino, caching in memoria, sicurezza e distribuzione multiregione e multimaster. DynamoDB supporta transazioni atomiche, coerenti, isolate e durevoli (ACID) e crittografia per impostazione predefinita.
Amazon ElastiCache è un archivio dati in memoria che è possibile utilizzare al posto di un database basato su disco. Fornisce supporto completamente gestito per Memcached e Redis, e consente la scalabilità con lo sharding della memoria. È progettato per supportare tempi di risposta inferiori al millisecondo e viene tipicamente utilizzato per l'accodamento, l'analisi in tempo reale, la memorizzazione nella cache e l'archiviazione delle sessioni.
Amazon Neptune è un servizio di database a grafo completamente gestito e ottimizzato per l'archiviazione di dati su miliardi di relazioni. Supporta una gamma di modelli di grafo e linguaggi di query, tra cui RDF del W3C, Property Graph, SPARQL e TinkerPop Gremlin.
Neptune include funzionalità per il ripristino point-in-time, la replica dei dati multi-zona, i backup continui e le repliche di lettura. Supporta le transazioni ACID e fornisce la crittografia in transito e a riposo.
Amazon Timestream è un database time series completamente gestito con un motore di elaborazione delle query adattivo. È un servizio serverless e gestisce automaticamente la manutenzione e il provisioning di hardware e software per te.
Timestream include funzionalità per la compressione dei dati, la suddivisione in livelli, la conservazione e i rollup. Include inoltre analytics integrate per l'approssimazione, il livellamento e l'interpolazione dei dati.
Amazon QLDB è un database ledger che puoi utilizzare per monitorare le modifiche dei dati. È completamente gestito e progettato per consentirti di evitare le complesse configurazioni richieste per la gestione dei dati ledger con database relazionali o blockchain.
QLDB offre un'API simile a SQL, supporto transazionale completo e un modello di dati flessibile per i documenti. Include funzionalità per il ridimensionamento automatico, transazioni conformi ad ACID, disponibilità multizona e streaming di dati con Kinesis Data Streams.
Amazon DocumentDB è un database di documenti completamente gestito compatibile con MongoDB. L'architettura di DocumentDB separa risorse di storage per una maggiore scalabilità e flessibilità. Include anche il supporto per un massimo di 15 repliche di lettura, la replica dei dati per garantire la durata in tre zone di disponibilità e l'uso gratuito del servizio AWS Database Migration Service.
Amazon Keyspaces è un database gestito a colonne larghe compatibile con Apache Cassandra. Puoi utilizzarlo per migrare carichi di lavoro e applicazioni Cassandra e continuare a utilizzare codice e strumenti nativi Cassandra. Include funzionalità di autoscaling e consente di scegliere tra risorse on-demand o provisionate.
NetApp Cloud Volumes ONTAP, la soluzione leader nella gestione dello storage enterprise, offre servizi di gestione dello storage sicuri e comprovati su AWS, Azure e Google Cloud. Cloud Volumes ONTAP supporta una capacità massima di 368TB e supporta vari casi d'uso come file services, database, DevOps o qualsiasi altro carico di lavoro enterprise, con un solido set di funzionalità tra cui high availability, data protection, storage efficiencies, integrazione con Kubernetes e altro ancora.
In particolare, Cloud Volumes ONTAP aiuta ad affrontare le sfide dei carichi di lavoro database nel cloud, e a colmare il divario tra le capacità del database basato sul cloud e le risorse del cloud pubblico su cui viene eseguito.
Cloud Volumes ONTAP supporta funzionalità avanzate per la gestione dello storage SAN nel cloud, per i sistemi database NoSQL e per le condivisioni NFS a cui è possibile accedere direttamente dai cluster big data analytics nel cloud.
Inoltre, le funzionalità integrate di efficienza dello storage hanno un impatto diretto sui costi per NoSQL nelle implementazioni cloud. La protezione dei dati e la flessibilità offerte da funzionalità come snapshot e clonazione dei dati danno agli amministratori di database NoSQL e agli ingegneri di big data la possibilità di gestire grandi volumi di dati in modo efficace.