Che cos'è Amazon DynamoDB? - Amazon DynamoDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Che cos'è Amazon DynamoDB?

Amazon DynamoDB è un database serverless, SQL no, completamente gestito con prestazioni a una cifra in millisecondi su qualsiasi scala.

DynamoDB risponde alle tue esigenze per superare le complessità di scalabilità e operative dei database relazionali. DynamoDB è progettato e ottimizzato appositamente per carichi di lavoro operativi che richiedono prestazioni costanti su qualsiasi scala. Ad esempio, DynamoDB offre prestazioni costanti in millisecondi a una sola cifra per un caso d'uso nel carrello degli acquisti, indipendentemente dal fatto che tu abbia 10 o 100 milioni di utenti. Lanciato nel 2012, DynamoDB continua ad aiutarvi ad abbandonare i database relazionali, riducendo al contempo i costi e migliorando le prestazioni su larga scala.

I clienti di tutte le dimensioni, settori e aree geografiche utilizzano DynamoDB per creare applicazioni moderne e serverless che possono iniziare in piccolo e scalare a livello globale. DynamoDB è scalabile per supportare tabelle di qualsiasi dimensione, fornendo al contempo prestazioni costanti in millisecondi e alta disponibilità.

Per eventi come Amazon Prime Day, DynamoDB supporta più proprietà e sistemi Amazon ad alto traffico, tra cui Alexa, i siti Amazon.com e tutti i centri logistici Amazon. Per tali eventi, APIs DynamoDB ha gestito trilioni di chiamate dalle proprietà e dai sistemi Amazon. DynamoDB serve continuamente centinaia di clienti con tabelle che hanno un traffico di picco di oltre mezzo milione di richieste al secondo. Serve inoltre centinaia di clienti le cui dimensioni delle tabelle superano i 200 TB ed elabora oltre un miliardo di richieste all'ora.

Caratteristiche di DynamoDB

Serverless

Con DynamoDB, non è necessario effettuare il provisioning di alcun server o applicare patch, gestire, installare, mantenere o utilizzare alcun software. DynamoDB offre una manutenzione senza tempi di inattività. Non ha versioni (principali, secondarie o patch) e non ci sono finestre di manutenzione.

La modalità di capacità on demand di DynamoDB offre pay-as-you-go prezzi per le richieste di lettura e scrittura, in modo da pagare solo per ciò che si utilizza. Con on-demand, DynamoDB ridimensiona istantaneamente le tabelle verso l'alto o verso il basso per adattarle alla capacità e mantiene le prestazioni senza alcuna amministrazione. Inoltre, è scalabile a zero, in modo da non dover pagare per la velocità effettiva quando la tabella non ha traffico e non ci sono partenze a freddo.

No SQL

Essendo un SQL database No, DynamoDB è progettato appositamente per offrire prestazioni, scalabilità, gestibilità e flessibilità migliorate rispetto ai database relazionali tradizionali. Per supportare un'ampia varietà di casi d'uso, DynamoDB supporta sia modelli chiave-valore che modelli di dati documentali.

A differenza dei database relazionali, DynamoDB non supporta un operatore. JOIN Consigliamo di denormalizzare il modello di dati per ridurre i round trip del database e la potenza di elaborazione necessaria per rispondere alle domande. Essendo un SQL database No, DynamoDB offre una forte coerenza di lettura ACID e transazioni per creare applicazioni di livello aziendale.

Completamente gestito

Essendo un servizio di database completamente gestito, DynamoDB si occupa della gestione indifferenziata di un database, in modo che tu possa concentrarti sulla creazione di valore per i tuoi clienti. Gestisce l'installazione, le configurazioni, la manutenzione, l'alta disponibilità, il provisioning dell'hardware, la sicurezza, i backup, il monitoraggio e altro ancora. In questo modo, quando si crea una tabella DynamoDB, questa è immediatamente pronta per i carichi di lavoro di produzione. DynamoDB migliora costantemente la sua disponibilità, affidabilità, prestazioni, sicurezza e funzionalità senza richiedere aggiornamenti o tempi di inattività.

Prestazioni a una cifra in millisecondi su qualsiasi scala

DynamoDB è stato progettato appositamente per migliorare le prestazioni e la scalabilità dei database relazionali per offrire prestazioni a una cifra di millisecondi su qualsiasi scala. Per raggiungere questa scalabilità e prestazioni, DynamoDB è ottimizzato per carichi di lavoro ad alte prestazioni e APIs offre soluzioni che incoraggiano un utilizzo efficiente del database. Omette funzionalità inefficienti e non performanti su larga scala, ad esempio le operazioni. JOIN DynamoDB offre prestazioni costanti in millisecondi a una sola cifra per la tua applicazione, indipendentemente dal fatto che tu abbia 100 o 100 milioni di utenti.

Casi d'uso di DynamoDB

I clienti di tutte le dimensioni, settori e aree geografiche utilizzano DynamoDB per creare applicazioni moderne e serverless che possono iniziare in piccolo e scalare a livello globale. DynamoDB è ideale per i casi d'uso che richiedono prestazioni costanti su qualsiasi scala con un sovraccarico operativo minimo o nullo. L'elenco seguente presenta alcuni casi d'uso in cui è possibile utilizzare DynamoDB:

  • Applicazioni per servizi finanziari: supponiamo che tu sia una società di servizi finanziari che sviluppa applicazioni, come il trading e il routing in tempo reale, la gestione dei prestiti, la generazione di token e i registri delle transazioni. Con le tabelle globali DynamoDB, le tue applicazioni possono rispondere agli eventi e servire il traffico da te Regioni AWS scelto con prestazioni di lettura e scrittura locali veloci.

    DynamoDB è adatto per applicazioni con i requisiti di disponibilità più rigorosi. Elimina l'onere operativo derivante dal ridimensionamento manuale delle istanze per aumentare lo storage o la velocità effettiva, il controllo delle versioni e la gestione delle licenze.

    Puoi utilizzare le transazioni DynamoDB per ottenere atomicità, coerenza, isolamento e durabilità ACID () su una o più tabelle con una singola richiesta. (ACID) le transazioni si adattano a carichi di lavoro che includono l'elaborazione di transazioni finanziarie o l'evasione degli ordini. DynamoDB si adatta istantaneamente ai tuoi carichi di lavoro man mano che aumentano o diminuiscono, consentendoti di scalare in modo efficiente il tuo database in base alle condizioni di mercato, come gli orari di negoziazione.

  • Applicazioni di gioco: in qualità di società di gioco, puoi utilizzare DynamoDB per tutte le parti delle piattaforme di gioco, ad esempio lo stato del gioco, i dati dei giocatori, la cronologia delle sessioni e le classiifiche. Scegli DynamoDB per la sua scalabilità, le prestazioni costanti e la facilità di funzionamento fornita dalla sua architettura serverless. DynamoDB è ideale per le architetture scalabili necessarie per supportare giochi di successo. Ridimensiona rapidamente il throughput del gioco sia in entrata che in uscita (scalabilità fino a zero senza avvio a freddo). Questa scalabilità ottimizza l'efficienza dell'architettura, che si tratti di scalabilità orizzontale per i picchi di traffico o di ridimensionamento quando l'utilizzo del gioco è basso.

  • Applicazioni di streaming: le società di media e intrattenimento utilizzano DynamoDB come indice di metadati per contenuti, servizio di gestione dei contenuti o per fornire statistiche sportive quasi in tempo reale. Utilizzano DynamoDB anche per gestire la lista di controllo degli utenti e i servizi di bookmarking ed elaborare miliardi di eventi giornalieri dei clienti per generare consigli. Questi clienti traggono vantaggio dalla scalabilità, dalle prestazioni e dalla resilienza di DynamoDB. DynamoDB si adatta alle variazioni del carico di lavoro man mano che aumenta o diminuisce, abilitando casi d'uso di streaming multimediale in grado di supportare qualsiasi livello di domanda.

Per ulteriori informazioni su come i clienti di diversi settori utilizzano DynamoDB, consulta Amazon DynamoDB Customers e This is My Architecture.

Funzionalità di DynamoDB

Replica multiattiva con tabelle globali

Le tabelle globali forniscono la replica multiattiva dei dati su tutti gli utenti prescelti Regioni AWS con una disponibilità del 99,999%. Le tabelle globali offrono una soluzione completamente gestita per l'implementazione di un database multiregionale e multiattivo, senza creare e mantenere una soluzione di replica propria. Con le tabelle globali, puoi specificare Regioni AWS dove desideri che le tabelle siano disponibili. DynamoDB replica le modifiche continue ai dati su tutte queste tabelle.

Le applicazioni distribuite a livello globale possono accedere ai dati localmente nelle regioni selezionate per ottenere prestazioni di lettura e scrittura a una cifra di millisecondi. Poiché le tabelle globali sono multiattive, non è necessaria una tabella principale. Ciò significa che non si verificano failover complicati o ritardati o tempi di inattività del database durante il failover di un'applicazione tra regioni.

ACIDtransazioni

DynamoDB è progettato per carichi di lavoro mission critical. Include (ACID) il supporto alle transazioni per applicazioni che richiedono una logica aziendale complessa. DynamoDB fornisce supporto nativo lato server per le transazioni, semplificando l'esperienza degli sviluppatori nell'apportare modifiche coordinate a più elementi all'interno e tra all-or-nothing le tabelle.

Modifica l'acquisizione dei dati per architetture basate sugli eventi

DynamoDB supporta lo streaming dei record di acquisizione CDC dei dati relativi alle modifiche a livello di elemento () quasi in tempo reale. Offre due modelli di streaming perCDC: DynamoDB Streams e Kinesis Data Streams for DynamoDB. Ogni volta che un'applicazione crea, aggiorna o elimina elementi in una tabella, Streams registra una sequenza ordinata nel tempo di ogni modifica a livello di elemento quasi in tempo reale. Ciò rende DynamoDB Streams ideale per le applicazioni con architettura basata sugli eventi che utilizzano le modifiche e agiscono di conseguenza.

Indici secondari

DynamoDB offre la possibilità di creare indici secondari globali e locali, che consentono di interrogare i dati della tabella utilizzando una chiave alternativa. Con questi indici secondari, puoi accedere ai dati con attributi diversi dalla chiave primaria, offrendoti la massima flessibilità nell'accesso ai dati.

Integrazioni dei servizi

DynamoDB si integra ampiamente con Servizi AWS diversi sistemi per aiutarti a ottenere più valore dai tuoi dati, eliminare il sollevamento indifferenziato di carichi di lavoro e gestire i carichi di lavoro su larga scala. Alcuni esempi sono: AWS CloudFormation, Amazon CloudWatch, Amazon S3, AWS Identity and Access Management (IAM) e. AWS Auto Scaling Le seguenti sezioni descrivono alcune delle integrazioni di servizi che è possibile eseguire utilizzando DynamoDB:

Integrazioni serverless

Per creare applicazioni end-to-end serverless, DynamoDB si integra nativamente con una serie di applicazioni serverless. Servizi AWS Ad esempio, puoi integrare DynamoDB AWS Lambda con per creare trigger, ovvero parti di codice che rispondono automaticamente agli eventi in DynamoDB Streams. Con i trigger, puoi creare applicazioni basate sugli eventi che reagiscono alle modifiche dei dati nelle tabelle DynamoDB. Per l'ottimizzazione dei costi, puoi filtrare gli eventi elaborati da Lambda da un flusso DynamoDB.

L'elenco seguente presenta alcuni esempi di integrazioni serverless con DynamoDB:

Importazione ed esportazione di dati su Amazon S3

L'integrazione di DynamoDB con Amazon S3 consente di esportare facilmente i dati in un bucket Amazon S3 per analisi e apprendimento automatico. DynamoDB supporta le esportazioni complete di tabelle e le esportazioni incrementali per esportare dati modificati, aggiornati o eliminati in un periodo di tempo specificato. Puoi anche importare dati da Amazon S3 in una nuova tabella DynamoDB.

Integrazione zero ETL

DynamoDB supporta l'integrazione zero ETL con Amazon Redshift e Amazon Service. OpenSearch Queste integrazioni consentono di eseguire analisi complesse e utilizzare funzionalità di ricerca avanzate sui dati delle tabelle DynamoDB. Ad esempio, è possibile eseguire ricerche di testo completo e vettoriale e ricerche semantiche sui dati DynamoDB. ETLLe integrazioni zero non hanno alcun impatto sui carichi di lavoro di produzione in esecuzione su DynamoDB.

Caching

DynamoDB Accelerator DAX () è un servizio di caching completamente gestito e ad alta disponibilità creato per DynamoDB. DAXoffre un miglioramento delle prestazioni fino a 10 volte, da millisecondi a microsecondi, anche con milioni di richieste al secondo. DAXesegue tutto il lavoro necessario per aggiungere l'accelerazione in memoria alle tabelle DynamoDB, senza dover gestire l'invalidazione della cache, la popolazione dei dati o la gestione dei cluster.

Sicurezza

DynamoDB lo IAMutilizza per aiutarti a controllare in modo sicuro l'accesso alle tue risorse DynamoDB. ConIAM, puoi gestire centralmente le autorizzazioni che controllano quali utenti di DynamoDB possono accedere alle risorse. Si utilizzano IAM per controllare chi è autenticato (ha effettuato l'accesso) e autorizzato (dispone delle autorizzazioni) a utilizzare le risorse. Poiché DynamoDB IAM utilizza, non esistono nomi utente o password per accedere a DynamoDB. Poiché non è necessario gestire complicate politiche di rotazione delle password, ciò semplifica il livello di sicurezza. ConIAM, puoi anche abilitare un controllo granulare degli accessi per fornire l'autorizzazione a livello di attributo. È inoltre possibile definire politiche basate sulle risorse con il supporto per IAMAccess Analyzer e Block Public Access () per semplificare la gestione delle politiche. BPA

Per impostazione predefinita, DynamoDB crittografa tutti i dati inattivi dei clienti. La crittografia a riposo migliora la sicurezza dei dati utilizzando le chiavi di crittografia memorizzate in (). AWS Key Management ServiceAWS KMS La crittografia dei dati inattivi consente di creare applicazioni ad alto livello di sicurezza che rispettano rigorosi requisiti normativi e di conformità per la crittografia. Quando si accede a una tabella crittografata, DynamoDB decrittografa i dati della tabella in modo trasparente. Non è necessario modificare codice o applicazioni per utilizzare o gestire le tabelle crittografate. DynamoDB continua a fornire la stessa latenza di un millisecondo che ci si aspetta, e tutte le query DynamoDB funzionano perfettamente sui dati crittografati.

È possibile specificare se DynamoDB deve utilizzare Chiave di proprietà di AWS una (tipo di crittografia predefinito) Chiave gestita da AWS o una chiave gestita dal cliente per crittografare i dati degli utenti. La crittografia predefinita con KMSchiavi AWS di proprietà è disponibile senza costi aggiuntivi. Per la crittografia lato client, è possibile utilizzare la crittografia del AWS database. SDK

DynamoDB aderisce inoltre a diversi standard di conformità, HIPAA tra cui, GDPR e PCIDSS, che consente di soddisfare i requisiti normativi.

Resilienza

Per impostazione predefinita, DynamoDB replica automaticamente i dati su tre zone di disponibilità per fornire un'elevata durabilità e una disponibilità del 99,99%. SLA DynamoDB offre anche funzionalità aggiuntive per aiutarvi a raggiungere gli obiettivi di continuità aziendale e disaster recovery.

DynamoDB include le seguenti funzionalità per supportare le esigenze di resilienza e backup dei dati:

Tabelle globali

Le tabelle globali DynamoDB garantiscono una disponibilità del 99,999% e una resilienza multiregionale SLA. Ciò consente di creare applicazioni resilienti e ottimizzarle per il tempo di ripristino () e l'obiettivo del punto di ripristino (RTO) più bassi. RPO Global tables si integra anche con AWS Fault Injection Service (AWS FIS) per eseguire esperimenti di fault injection sui carichi di lavoro delle tabelle globali. Ad esempio, sospendere la replica globale della tabella su qualsiasi tabella di replica.

Backup e ripristino continui point-in-time

I backup continui offrono una granularità al secondo e la possibilità di avviare un ripristino. point-in-time Con point-in-time il ripristino, è possibile ripristinare una tabella in qualsiasi momento, fino a un secondo negli ultimi 35 giorni.

I backup continui e l'avvio di un point-in-time ripristino non utilizzano la capacità assegnata. Inoltre, non hanno alcun impatto sulle prestazioni o sulla disponibilità delle applicazioni.

Backup e ripristino on demand

Il backup e il ripristino su richiesta consentono di creare backup completi di una tabella per la conservazione e l'archiviazione a lungo termine per esigenze di conformità normativa. I backup non influiscono sulle prestazioni della tabella ed è possibile eseguire il backup di tabelle di qualsiasi dimensione. Grazie AWS Backup all'integrazione, puoi pianificare, copiare, AWS Backup etichettare e gestire automaticamente il ciclo di vita dei backup on-demand di DynamoDB. In questo modo è possibile copiare i backup su richiesta tra account e regioni e trasferire i backup più vecchi alla conservazione a freddo per ottimizzare i costi. AWS Backup

Accesso a DynamoDB

È possibile lavorare con DynamoDB utilizzando DynamoDBNessun SQL workbench per DynamoDB, AWS Management ConsoleAWS Command Line Interfacethe o DynamoDB. APIs

Per ulteriori informazioni, consulta Accesso a DynamoDB.

Prezzi DynamoDB

DynamoDB addebita i costi per la lettura, la scrittura e l'archiviazione dei dati nelle tabelle, oltre a tutte le funzionalità opzionali che scegli di abilitare. DynamoDB offre due modalità di capacità con le rispettive opzioni di fatturazione per l'elaborazione di letture e scritture sulle tabelle: on-demand e provisioned.

DynamoDB offre anche un livello gratuito che fornisce 25 GB di storage. Il piano gratuito include anche 25 unità di capacità di scrittura e 25 unità di capacità di lettura predisposte (WCU,RCU), sufficienti per gestire 200 milioni di richieste al mese.

Per ulteriori informazioni, consulta Prezzi di Amazon DynamoDB.

Nozioni di base su DynamoDB

Se utilizzi DynamoDB per la prima volta, ti consigliamo di iniziare leggendo i seguenti argomenti:

  • Nozioni di base su DynamoDB— Illustra il processo di configurazione di DynamoDB, creazione di tabelle di esempio e caricamento dei dati. Questo argomento fornisce anche informazioni sull'esecuzione di alcune operazioni di base del AWS Management Console database utilizzando No SQL Workbench e APIs DynamoDB. AWS CLI

  • Componenti principali di DynamoDB: descrive i concetti di base di DynamoDB.

  • Best practice per la progettazione e l'architettura con DynamoDB — Fornisce consigli su No SQL design, DynamoDB Well-Architected Lens, table design e diverse altre funzionalità di DynamoDB. Queste best practice aiutano a massimizzare le prestazioni e ridurre al minimo i costi di throughput quando si lavora con DynamoDB.

Ti consigliamo inoltre di consultare i seguenti tutorial che presentano end-to-end procedure complete per familiarizzare con DynamoDB. Puoi completare questi tutorial con il livello gratuito di. AWS

Per informazioni su risorse, strumenti e strategie per la migrazione a DynamoDB, consulta Migrazione a DynamoDB. Per leggere i blog e i white paper più recenti, consulta le risorse di Amazon DynamoDB.