Funzionalità di Amazon DynamoDB
Informazioni su DynamoDB
DynamoDB è un servizio di database NoSQL serverless, completamente gestito e distribuito con prestazioni in millisecondi a una cifra su qualsiasi scala. Offre zero gestione dell’infrastruttura, zero manutenzione dei tempi di inattività e zero finestre di manutenzione.
Gli sviluppatori possono utilizzare DynamoDB per creare applicazioni serverless che possono partire da piccole applicazioni e scalare a livello globale. DynamoDB è scalabile per supportare tabelle di qualsiasi dimensione. Disponibilità, durabilità e tolleranza ai guasti sono funzionalità integrate che non possono essere disattivate, per cui non è necessario progettare le applicazioni per tali funzionalità.
Amazon DynamoDB è progettato per eseguire applicazioni Internet a prestazioni elevate che altrimenti sovraccaricherebbero i database relazionali tradizionali. Supporta modelli di dati chiave-valore e a documento. DynamoDB ha uno schema flessibile che gli consente di adattarsi facilmente ai cambiamenti delle esigenze aziendali, senza la necessità di ridefinire lo schema delle tabelle come avviene nei database relazionali.
Con oltre dieci anni di investimenti pionieristici nell’innovazione, DynamoDB offre scalabilità illimitata con prestazioni costanti in millisecondi e disponibilità fino al 99,999%.
Prestazioni e scalabilità
Apri tuttoCon DynamoDB, non ci sono server da predisporre, gestire e ai quali applicare patch e non è necessario installare o gestire alcun software. DynamoDB non dispone di versioni (principali, secondarie o patch), non ci sono finestre di manutenzione e offre zero tempi di inattività. I prezzi on demand di DynamoDB sono prezzi basati sul consumo, scalano fino a zero, scalano automaticamente le tabelle per adattarle alla capacità e mantengono le prestazioni senza alcuna necessità di amministrazione.
Analogamente a tutti gli altri sistemi di database, si inizia creando una tabella che è una raccolta di elementi. Con DynamoDB, ogni elemento della tabella ha la sua chiave primaria. Molte applicazioni possono anche trarre vantaggio dalla disponibilità di una o più chiavi secondarie per cercare in modo più efficiente i dati utilizzando altri attributi. DynamoDB offre la possibilità di creare indici secondari globali e locali, che consentono di eseguire query sui dati nella tabella utilizzando una chiave secondaria o alternativa.
Gli indici secondari globali sono noti anche come indici sparsi. Oltre a offrire la massima flessibilità su come accedere ai dati, è possibile fornire un throughput di scrittura inferiore con prestazioni eccellenti a un costo ridotto.
Sicurezza
Apri tuttoDynamoDB crittografa tutti i dati a riposo dei clienti per impostazione predefinita. La crittografia dei dati a riposo migliora la sicurezza dei dati utilizzando chiavi di crittografia memorizzate nel Servizio AWS di gestione delle chiavi (AWS KMS). Con l’aggiunta dell’SDK per la crittografia del database AWS, puoi eseguire la crittografia a livello di attributo per applicare ulteriormente il controllo granulare degli accessi ai dati all’interno della tua tabella. DynamoDB consente di creare applicazioni ad alto livello di sicurezza che richiedono conformità crittografica e requisiti normativi elevati.
Le chiavi di crittografia forniscono un ulteriore livello di protezione dei dati proteggendo i dati dall’accesso non autorizzato all’archiviazione sottostante. Puoi specificare se, per crittografare i dati utente, DynamoDB deve utilizzare una chiave di proprietà di AWS (tipo di crittografia predefinito), una chiave gestita da AWS o una chiave gestita dal cliente. La crittografia predefinita che utilizza le chiavi AWS KMS è fornita senza costi aggiuntivi.
DynamoDB utilizza AWS Identity and Access Management (IAM) per autenticare e autorizzare l’accesso alle risorse. È possibile specificare policy IAM, policy basate sulle risorse, definire il controllo degli accessi basato su attributi (ABAC) utilizzando i tag nelle policy e specificare le condizioni che consentono l’accesso granulare, limitando l’accesso in lettura o scrittura a elementi e attributi specifici in una tabella in base alle identità.
DynamoDB supporta endpoint cloud privato virtuale (VPC) di gateway ed endpoint VPC di interfaccia per connessioni all’interno di un VPC o da data center on-premises. È possibile configurare la connettività di rete privata dalle applicazioni on-premises a DynamoDB tramite endpoint VPC di interfaccia abilitati con AWS PrivateLink. Ciò consente ai clienti di semplificare la connettività privata a DynamoDB e mantenere la conformità.
Resilienza
Apri tuttoIl recupero point-in-time (PITR) ti permette di proteggere le tabelle DynamoDB da operazioni di scrittura o eliminazione accidentali. PITR esegue backup continui dei dati della tabella DynamoDB e ti consente di recuperare la tabella in un qualsiasi momento, con precisione al secondo, negli ultimi 35 giorni.
PITR non utilizza la capacità assegnata e non ha alcun impatto sulle prestazioni o sulla disponibilità delle applicazioni. L’abilitazione di PITR o l’iniziazione di operazioni di backup e recupero possono essere eseguite con un semplice passaggio nella Console di gestione AWS o con una singola chiamata API.
La caratteristica di backup e ripristino on demand consente di creare backup completi dei dati delle tabelle DynamoDB per l’archiviazione dei dati, permettendo di soddisfare i requisiti normativi aziendali e governativi. È possibile eseguire il backup di tabelle con dimensioni comprese tra pochi megabyte e centinaia di terabyte senza nessun impatto sulle prestazioni e sulla disponibilità delle applicazioni di produzione. Con l’integrazione con AWS Backup, è anche possibile copiare i backup on demand tra account e Regioni, creare i tag per i backup all’allocazione dei costi e trasferire i backup nello spazio di archiviazione a freddo.
Le tabelle globali di DynamoDB forniscono la replica attiva-attiva dei dati nelle Regioni AWS di tua scelta con una disponibilità del 99,999%. Le tabelle globali sono multi-attive, il che significa che è possibile leggere e scrivere da qualsiasi replica e le applicazioni distribuite a livello globale possono accedere ai dati in locale nelle Regioni selezionate per ottenere prestazioni di lettura e scrittura a una cifra in millisecondi.
Inoltre, le tabelle globali scalano automaticamente la capacità per soddisfare i carichi di lavoro multi-regione. Le tabelle globali migliorano la resilienza multi-regione dell’applicazione e devono essere considerate parte della strategia di continuità aziendale dell’organizzazione.
DynamoDB è progettato per carichi di lavoro mission-critical, incluso il supporto per transazioni di atomicità, consistenza, isolamento e durabilità (ACID) per applicazioni che richiedono una logica di business complessa. DynamoDB offre supporto nativo lato server per le transazioni, semplificando allo sviluppatore l’esperienza di realizzare modifiche coordinate di tipo “tutto o niente” a più elementi all’interno delle tabelle o tra le tabelle.
DynamoDB supporta 100 operazioni per transazione, migliorando la produttività degli sviluppatori. Grazie al supporto per le transazioni, gli sviluppatori possono estendere le dimensioni e i vantaggi aziendali di DynamoDB a un set più ampio di carichi di lavoro mission-critical.
Costi contenuti
Apri tuttoPer le tabelle che utilizzano la modalità di capacità on demand, DynamoDB adatta automaticamente i carichi di lavoro a qualsiasi livello di traffico precedentemente raggiunto. Se un livello di traffico del carico di lavoro raggiunge un nuovo picco, DynamoDB adatta rapidamente il carico di lavoro. È inoltre possibile configurare il throughput massimo in lettura o scrittura (o entrambi) per le singole tabelle on demand e gli indici secondari associati, semplificando il bilanciamento tra costi e prestazioni. Puoi utilizzare la modalità capacità on demand per le tabelle nuove e per quelle esistenti e puoi continuare a utilizzare le API DynamoDB esistenti senza apportare modifiche al codice.
Per i dati a cui si accede raramente, puoi utilizzare la classe di tabella Amazon DynamoDB Standard-IA che aiuta a ridurre i costi di DynamoDB fino al 60%. Il costo di archiviazione ridotto delle tabelle Standard-IA è progettato per l’archiviazione a lungo termine di dati a cui si accede raramente, come log delle applicazioni, dati storici di gioco, vecchi post sui social media e altro ancora. Ha le stesse disponibilità, durabilità e prestazioni delle tabelle Standard Amazon DynamoDB, che è l’opzione predefinita e più conveniente per la maggior parte dei carichi di lavoro.
- Per i carichi di lavoro meno prevedibili per i quali non sei sicuro di avere un utilizzo elevato, la modalità capacità on demand gestisce la capacità per tuo conto e si paga solo in base al consumo.
- Le tabelle che utilizzano la capacità con provisioning richiedono che venga impostata la capacità di lettura e scrittura. La modalità di capacità con provisioning è più efficace in termini di costi quando sei sicuro di utilizzarla secondo le tue previsioni.
DynamoDB offre modalità di capacità per ogni tabella: on demand e assegnata.
- Se il traffico dell’applicazione cresce, DynamoDB aumenta il throughput per adattare il carico.
- Se il traffico dell’applicazione diminuisce, DynamoDB riduce il throughput consentendoti di pagare meno dato che la capacità non è stata utilizzata.
Per le tabelle che utilizzano la capacità con provisioning, DynamoDB offre il dimensionamento automatico del throughput e dell’archiviazione in base alla capacità precedentemente impostata, monitorando l’utilizzo delle prestazioni dell’applicazione.
Integrazioni con i servizi AWS
Apri tuttoImportazione e esportazione in blocco da Amazon Simple Storage Service (Amazon S3) consente di ottenere più valore dai dati eliminando la necessità di scrivere codice per spostare, trasformare e copiare le tabelle DynamoDB da un’applicazione, un account o una Regione all’altra. L’importazione ed esportazione in blocco non utilizza la capacità di lettura o scrittura della tabella, quindi non è necessario pianificare o fornire capacità aggiuntiva. Il processo di importazione ed esportazione in blocco è completamente gestito da DynamoDB.
Le importazioni in blocco da Amazon S3 consentono di importare dati su qualsiasi scala, da megabyte a terabyte, utilizzando formati supportati come CSV, DynamoDB JSON e Amazon Ion. Con le importazioni in blocco da Amazon S3, i clienti possono risparmiare fino al 66% rispetto alle scritture basate su client utilizzando la capacità assegnata.
Con le esportazioni in blocco in Amazon S3, puoi esportare dati da tabelle con PITR abilitato per qualsiasi momento negli ultimi 35 giorni con una granularità al secondo. Dopo aver esportato i dati da DynamoDB ad Amazon S3, sarà possibile utilizzare altri servizi AWS come Amazon Athena, Amazon SageMaker e altri per analizzare i dati ed estrarre informazioni utili.
Flussi DynamoDB è una funzionalità di acquisizione dei dati delle modifiche. Ogni volta che un’applicazione crea, aggiorna o elimina elementi in una tabella, Flussi DynamoDB registra una sequenza ordinata nel tempo di ogni modifica a livello di elemento in tempo quasi reale, il che lo rende ideale per le applicazioni con architettura basata sugli eventi per utilizzare e agire sulle modifiche. Tutte le modifiche vengono deduplicate e conservate per 24 ore.
Le applicazioni possono anche accedere a questo log e visualizzare gli elementi di dati come apparivano prima e dopo la modifica quasi in tempo reale. Flussi DynamoDB garantisce che ogni record di flusso appaia esattamente una volta nel flusso e per ogni elemento modificato, i record del flusso appaiano nella stessa sequenza delle modifiche effettive all’elemento.
Flusso di dati Amazon Kinesis per DynamoDB acquisisce le modifiche a livello di elemento nelle tabelle DynamoDB per alimentare le dashboard in tempo reale, generare parametri e fornire dati in data lake. Questa funzionalità consente di creare applicazioni di streaming avanzate come l’aggregazione dei log in tempo reale, l’analisi aziendale in tempo reale e l’acquisizione di dati IoT.
Tramite i flussi di dati Kinesis, puoi utilizzare Amazon Kinesis Data Firehose anche per fornire automaticamente i dati di DynamoDB ad altri servizi AWS come Amazon S3, Servizio OpenSearch di Amazon e Amazon Redshift.
Per monitorare facilmente le prestazioni del database, DynamoDB è integrato con Amazon Cloudwatch che raccoglie e sviluppa dati non elaborati sulle prestazioni del database. CloudWatch può essere utilizzato per creare viste e dashboard personalizzati di parametri e allarmi per i database DynamoDB. Questa funzionalità di monitoraggio è offerta per impostazione predefinita ed è gratuita. È possibile anche creare allarmi che vengono inviati automaticamente in base alle prestazioni dei parametri.
Amazon CloudWatch Contributor Insights aiuta a identificare rapidamente chi o cosa sta influenzando i database e le prestazioni delle applicazioni. Questa funzionalità semplifica l’isolamento, la diagnosi e la risoluzione dei problemi durante un evento operativo.