Passa al contenuto principale

Amazon DynamoDB

Informazioni su DynamoDB

Apri tutto

DynamoDB è un servizio di database NoSQL serverless, completamente gestito e distribuito con prestazioni in millisecondi a una cifra su qualsiasi scala. DynamoDB offre zero gestione dell’infrastruttura, zero manutenzione dei tempi di inattività, scalabilità istantanea per qualsiasi richiesta di applicazione e fatturazione pay-per-request. Non ci sono avviamenti a freddo, aggiornamenti di versione e finestre di manutenzione. DynamoDB è completamente gestito, eliminando il peso di attività indifferenziate di gestione dei database come backup, sicurezza, conformità, monitoraggio e altro ancora. Per le applicazioni distribuite a livello globale, le tabelle globali di DynamoDB sono un database multiregionale e multiattivo con una disponibilità fino al 99,999% e offre la massima resilienza del database. Supporta una forte coerenza multi-regione assicurando che le applicazioni siano sempre disponibili e leggano sempre gli stessi dati da qualsiasi regione, consentendoti di creare applicazioni a RPO zero. DynamoDB dispone di un ampio set di controlli di sicurezza e standard di conformità creati per soddisfare i requisiti di governi, banche globali e altre organizzazioni ad alta sensibilità.

DynamoDB solleva i clienti dagli oneri amministrativi connessi alla gestione e al dimensionamento dei database distribuiti su AWS; non dovranno dunque occuparsi di provisioning di hardware, installazioni e configurazioni, pianificazione della capacità effettiva di trasmissione, repliche, applicazioni di patch o dimensionamento di cluster. È possibile implementare un database NoSQL distribuito in pochi minuti. DynamoDB dimensiona automaticamente la capacità effettiva di trasmissione per soddisfare le richieste dei carichi di lavoro e partiziona e ripartiziona i dati man mano che crescono le dimensioni della tabella. Inoltre, DynamoDB replica simultaneamente i dati su tre zone di disponibilità (AZ) in una regione AWS, garantendo così disponibilità e durabilità elevate dei dati.

I vantaggi esclusivi di DynamoDB includono un database serverless comprovato e completamente gestito, scalabile a zero, che offre prestazioni a una cifra in millisecondi e una disponibilità fino al 99,999%. Con prestazioni costanti su larga scala, DynamoDB offre anche sicurezza, durabilità e affidabilità integrate necessarie per le applicazioni globali con i requisiti più rigorosi. Grazie alla sua facilità d’uso, DynamoDB viene spesso scelto sia per le nuove applicazioni di IA generativa e basate sui dati che per le applicazioni consolidate su scala Internet che cercano prestazioni veloci e costanti con una scalabilità illimitata.

Archiviazione

Apri tutto

Le classi di tabelle DynamoDB sono opzioni di ottimizzazione delle prestazioni e dei costi per le tabelle DynamoDB. Le due classi di tabelle disponibili sono DynamoDB Standard (classe di tabelle predefinita progettata per carichi di lavoro che richiedono le massime prestazioni e più adatta per tabelle con carichi di lavoro imprevedibili) e DynamoDB Standard-Infrequent Access (classe di tabelle ottimizzata per tabelle in cui l'archiviazione è il costo principale e ideale per tabelle che archiviano dati a cui si accede raramente). Le tabelle Standard hanno costi di lettura e scrittura inferiori ma costi di archiviazione più elevati. Le tabelle Standard-IA hanno costi di archiviazione inferiori ma costi di lettura e scrittura più elevati. È possibile passare da una classe di tabelle all'altra due volte in un periodo di 30 giorni senza tempi di inattività, ottimizzando i costi in base ai modelli di utilizzo della tabella. La scelta tra queste classi dipende dalle esigenze specifiche dell’applicazione e dai modelli di accesso dei dati.

Ci sono diversi fattori da considerare quando si sceglie una classe di tabelle in DynamoDB. I più comuni sono i modelli di accesso ai dati, le considerazioni sui costi e la prevedibilità dei carichi di lavoro. È possibile passare da una classe di tabelle all’altra senza codifica o tempi di inattività, così da poter modificare la scelta se le esigenze cambiano nel tempo.

Le tabelle Accesso Infrequente DynamoDB Standard (DynamoDB Standard-IA) funzionano perfettamente con le funzionalità DynamoDB esistenti. Utilizzano le stesse API delle normali tabelle DynamoDB, quindi è possibile utilizzarle con le applicazioni esistenti senza modifiche al codice. Supportano le tabelle globali per la replica in più regioni, il ripristino point-in-time (PITR), i backup su richiesta, la crittografia a riposo tramite il Servizio AWS di gestione delle chiavi (KMS), i flussi DynamoDB, Time To Live per eliminare automaticamente gli elementi e operazioni di lettura e scrittura transazionali. Le tabelle Standard-IA sono compatibili con DynamoDB Accelerator (DAX).

Amazon DynamoDB archivia i dati in partizioni. Una partizione è un'allocazione di archiviazione per una tabella, supportata da unità a stato solido (SSD) e replicata automaticamente su più zone di disponibilità all'interno di una regione AWS. La gestione delle partizioni è effettuata interamente da DynamoDB: l’utente non ha mai la necessità di gestire le partizioni da sé.

La dimensione massima di un elemento che può essere archiviato in una tabella DynamoDB è di 400 KB. Non ci sono limiti di archiviazione predefiniti.

Sì, DynamoDB può archiviare BLOB; tuttavia, in genere non è adatto all’archiviazione di documenti o immagini. Un modello architettonico migliore consiste nell’archiviare i puntatori agli oggetti Amazon S3 in una tabella DynamoDB.

Per impostazione predefinita, non è prevista una data di scadenza o cancellazione per i dati archiviati in una tabella Amazon DynamoDB. Questi rimarranno nella tabella a tempo indeterminato a meno che non vengano eliminati esplicitamente dal cliente o tramite Time to Live (TTL), se abilitato.

Non esiste un limite predefinito al numero di elementi che è possibile archiviare in una tabella DynamoDB. DynamoDB è scalabile fino a centinaia di terabyte o più di dati su qualsiasi numero di elementi.

Sebbene sia tecnicamente possibile archiviare immagini in DynamoDB come dati binari (con codifica base64), ci sono alcune limitazioni e inconvenienti dovuti alla dimensione limite degli elementi di 400 KB. Invece di archiviare le immagini direttamente in DynamoDB, una pratica migliore è archiviare le immagini in Amazon S3 (Simple Storage Service) e quindi archiviare l’URL o la chiave dell’oggetto S3 in DynamoDB.

Per archiviare un elenco in DynamoDB, è necessario utilizzare uno dei tipi di dati degli elenchi di DynamoDB: un elenco o un set. Scrivendo elementi nella tabella, il valore di quell'attributo può essere una serie o una raccolta di tipi di dati scalari (non oggetto) come stringhe, numeri ecc. DynamoDB si occuperà automaticamente della serializzazione dei dati dell'elenco e della loro memorizzazione in modo da mantenere la struttura dell'elenco. È quindi possibile interrogare l'attributo della tabella per recuperare l'elenco completo. L’aggiunta, l’aggiornamento o la rimozione di elementi dall’elenco funziona allo stesso modo di una normale operazione di scrittura.

Sì, DynamoDB supporta l’archiviazione delle mappe come tipo di dati di attributo. 

Sicurezza

Apri tutto

Sì, DynamoDB supporta le autorizzazioni IAM. È possibile definire le autorizzazioni IAM in policy basate sull'identità, policy basate sulle risorse o altre policy AWS per controllare l'accesso alle risorse DynamoDB. È possibile allegare policy IAM a utenti, gruppi, ruoli e tabelle e flussi IAM DynamoDB e controllarle a proprio piacimento.

Sì, DynamoDB supporta policy basate sulle risorse per tabelle e flussi. Le policy basate sulle risorse per ogni tabella coprono anche le autorizzazioni di accesso per gli indici della tabella (indici secondari globali e indici secondari locali). Con queste policy, i clienti possono definire autorizzazioni di accesso granulari per le tabelle DynamoDB e altre risorse senza la necessità di concedere l'accesso completo a livello di account AWS. Queste policy consentono ai clienti di controllare quali utenti, ruoli e utenti federati possono eseguire azioni come lettura, scrittura o eliminazione su tabelle, indici e flussi DynamoDB specifici. Le policy basate sulle risorse sono allegate e gestite all'interno di ogni risorsa DynamoDB.

Supportano le integrazioni con il Sistema di analisi degli accessi di AWS Identity and Access Management (IAM) e il Blocco dell'accesso pubblico (BPA). Il Sistema di analisi degli accessi IAM aiuta i clienti a perfezionare le autorizzazioni e a conformarsi al privilegio minimo. Il BPA aiuta i clienti a impedire l’accesso pubblico a tabelle, indici e flussi DynamoDB ed è sempre abilitato con DynamoDB.
 

DynamoDB supporta il controllo degli accessi basato sugli attributi, generalmente disponibile per tabelle e indici DynamoDB.

Sì, è possibile utilizzare Amazon DynamoDB tramite gli endpoint VPC. DynamoDB supporta due tipi di endpoint VPC: gli endpoint gateway e quelli che utilizzano AWS PrivateLink. Con un endpoint gateway, è possibile accedere a DynamoDB dal proprio VPC, senza richiedere un gateway Internet o un dispositivo NAT per il VPC. Tuttavia, gli endpoint gateway non consentono l'accesso da reti on-premises, da VPC con peering in altre regioni AWS o tramite un gateway di transito. Per questi scenari, è necessario utilizzare AWS PrivateLink, disponibile a un costo aggiuntivo.

Il controllo granulare degli accessi (FGAC) offre al proprietario di una tabella DynamoDB un controllo granulare sui dati nella tabella tramite le policy e le condizioni di AWS Identity and Access Management (IAM). FGAC consente al proprietario di fornire le autorizzazioni per l'accesso agli elementi o agli attributi della tabella e alle azioni associate. Il controllo granulare degli accessi viene utilizzato insieme ad AWS IAM, che gestisce le credenziali di sicurezza e le autorizzazioni associate.

Sì, tutti i dati degli utenti in Amazon DynamoDB sono completamente crittografati in transito e inattivi.

Il protocollo HTTPS viene utilizzato per proteggere il traffico di rete utilizzando la crittografia Secure Sockets Layer.

La crittografia DynamoDB a riposo utilizza chiavi di crittografia archiviate nel Servizio AWS di gestione delle chiavi (AWS KMS). I dati a riposo sono crittografati utilizzando AES-256, il gold standard in cui sono richiesti i massimi livelli di sicurezza.

Sono disponibili i seguenti tipi di chiave per crittografare i dati a riposo:
1. Chiavi di proprietà di AWS: sono gestite interamente da AWS e vengono utilizzate per impostazione predefinita se non viene specificata nessun'altra opzione. Sono gratuite e non richiedono alcuna configurazione aggiuntiva.
2. Chiavi gestite da AWS: si tratta di chiavi master del cliente (CMK) archiviate nel Servizio AWS di gestione delle chiavi (KMS) che vengono create, gestite e utilizzate da AWS per conto del cliente. Forniscono funzionalità di controllo e revisione aggiuntive rispetto alle chiavi di proprietà di AWS.
3. Chiavi gestite dal cliente: sono CMK create, possedute e gestite in AWS KMS. Offrono il massimo livello di controllo sulle chiavi di crittografia, inclusa la possibilità di creare, ruotare, disabilitare e definire i controlli sugli accesso.

Ciascuno di questi tipi di chiave offre un diverso equilibrio tra praticità, controllo e costi. Le chiavi di proprietà di AWS sono le più semplici da utilizzare, mentre quelle gestite dai clienti offrono il massimo controllo ma richiedono un maggiore sovraccarico di gestione.

La crittografia a riposo aiuta a proteggere i dati crittografando i file contenenti informazioni sensibili quando sono inattivi. Quando i dati sono crittografati a riposo, le parti non autorizzate non possono accedere al contenuto in testo normale anche se sono in grado di ottenere l'accesso fisico ai dispositivi che archiviano i dati. Questo fornisce un ulteriore livello di sicurezza per i dati oltre ai semplici controlli di accesso e aiuta a garantire che le informazioni riservate rimangano private, anche in caso di smarrimento o furto del dispositivo fisico.

Sì, DynamoDB supporta la registrazione di controllo per le modifiche a livello di elemento nelle tabelle. DynamoDB è integrato con AWS CloudTrail, un servizio che fornisce un registro delle azioni intraprese da un utente, da un ruolo o da un servizio AWS in DynamoDB a livello di elemento. I dati di registrazione aggiuntivi acquisiti includono creazioni, aggiornamenti, eliminazioni ed eventuali errori di controllo condizionale. I clienti possono accedere a questi record di log archiviati in CloudWatch Logs e creare applicazioni per analizzare le modifiche a livello di elemento per la revisione, il monitoraggio o altri scopi. La registrazione di revisione offre visibilità sulle modifiche dei dati a livello granulare senza influire sulle normali prestazioni di lettura/scrittura della tabella DynamoDB.

È possibile utilizzare Amazon DynamoDB per creare applicazioni conformi allo standard HIPAA e archiviare informazioni sanitarie, fra cui i dati sanitari protetti da un Business Associate Agreement (BAA) stipulato con AWS.

DynamoDB soddisfa molte certificazioni di conformità, tra cui idoneità HIPAA, FedRAMP, ISO 27001, SOC 1/SSAE 16/ISAE 3402 (ex SAS 70) e SOC 2. Per ulteriori informazioni, consulta Convalida della conformità per settore per DynamoDB. I rapporti di conformità di AWS sono disponibili per il download in AWS Artifact.

Disponibilità e resilienza elevate

Apri tutto

Le tabelle globali Amazon DynamoDB sono un database completamente gestito, serverless, multiregionale e multiattivo. Offrono una disponibilità del 99,999%, una maggiore resilienza delle applicazioni e una migliore continuità aziendale. Replicano automaticamente le tabelle DynamoDB nelle Regioni AWS a scelta, consentendo di ottenere prestazioni di lettura e scrittura locali veloci. Le tabelle globali utilizzano le stesse API delle tabelle DynamoDB a singola regione, quindi è possibile rendere facilmente disponibili le tabelle DynamoDB a livello globale senza modificare le applicazioni.

Una tabella globale è una raccolta di una o più tabelle di replica, tutte di proprietà di un singolo account AWS. Una singola tabella globale Amazon DynamoDB può avere solo una tabella di replica per ogni Regione AWS.

È consigliabile utilizzare le tabelle globali per migliorare la resilienza dell’applicazione in più regioni. Inoltre, le tabelle globali consentono alle applicazioni di mantenere un’elevata disponibilità nell’improbabile caso di isolamento o degrado di un’intera regione.

Le tabelle globali DynamoDB sono disponibili in due versioni: 2019.11.21 (attuale) e 2017.11.29 (legacy). I clienti dovrebbero utilizzare la versione 2019.11.21 (attuale) per tutte le nuove tabelle globali, poiché questa versione è più efficiente e consuma meno capacità di scrittura. Chiunque utilizzi la versione 2017.11.29 (legacy) dovrebbe aggiornare le proprie tabelle globali alla versione 2019.11.21 (attuale).

È possibile aggiornare la versione di una tabella globale in pochi clic nella Console di gestione AWS. L'aggiornamento dalla versione 2017.11.29 (legacy) alla versione 2019.11.21 (attuale) è un'azione una tantum e non può essere annullata. Prima di eseguire l'aggiornamento, assicurati di aver esaminato le differenze di comportamento tra le versioni e di aver eseguito tutti i test necessari. Per ulteriori informazioni, consulta Aggiornamento delle tabelle globali dalla versione 2017.11.29 (legacy) alla versione 2019.11.21 (attuale).

Le tabelle globali DynamoDB utilizzano la replica multiattiva tra Regioni, in cui tutte le tabelle di replica in tutte le regioni in una tabella globale supportano il traffico di lettura e scrittura. Una tabella globale non ha una regione primaria e quindi non è richiesto alcun failover del database quando si indirizza il traffico di lettura e scrittura verso una regione diversa. Nell'improbabile eventualità che una regione AWS venga isolata o degradata, l'applicazione può semplicemente leggere e scrivere da una tabella di replica in una regione non colpita. Per ulteriori informazioni, consulta Best practice per la progettazione di tabelle globali DynamoDB.

Una tabella di replica è una singola tabella DynamoDB. Ogni tabella di replica memorizza lo stesso set di elementi di dati, ha lo stesso nome di tabella e lo stesso schema di chiave primaria. Quando un’applicazione scrive dati in una tabella di replica in una Regione, DynamoDB replica automaticamente le scritture in altre tabelle di replica nelle altre Regioni AWS.

Assolutamente sì, le tabelle globali DynamoDB sono un’ottima scelta per rafforzare la continuità aziendale in quanto aumentano la resilienza dell'applicazione e garantiscono una maggiore coerenza dei dati all’interno di una singola Regione. Grazie a una solida coerenza multiregionale, puoi creare applicazioni con zero RPO e massimi livelli di resilienza.

Puoi creare una tabella globale utilizzando la console DynamoDB, l’AWS CLI o AWS CloudFormation con questa guida dettagliata.

Prima di aggiungere una replica supplementare in un’altra regione a una tabella globale di DynamoDB, è necessario verificare che la tabella abbia DynamoDB Streams abilitato, che abbia lo stesso nome di tutte le altre repliche, che abbia la stessa chiave di partizione di tutte le altre repliche e le stesse impostazioni di capacità di scrittura specificate.

Tutte le tabelle di replica in una tabella globale DynamoDB devono avere lo stesso nome.

Analogamente ad altri database, DynamoDB archivia i dati in tabelle. Una tabella è una raccolta di elementi e ogni elemento è una raccolta di attributi. DynamoDB utilizza chiavi primarie per identificare in modo univoco ogni elemento in una tabella e dispone di indici secondari per fornire una maggiore flessibilità di query.

Sì, puoi abilitare il ripristino point-in-time su ogni replica di una tabella globale.

Integrazioni

Apri tutto

Sì, DynamoDB supporta l’acquisizione dei dati di modifica (CDC), che viene implementata utilizzando un modello di streaming che consente alle applicazioni di acquisire le modifiche a livello di elemento in una tabella DynamoDB quasi in tempo reale come flusso di record di dati. Il flusso di record di dati CDC consente alle applicazioni di elaborare e rispondere in modo efficiente alle modifiche dei dati nella tabella DynamoDB. DynamoDB offre due modelli di flussi per la CDC: i flussi DynamoDB e i flussi di dati Kinesis per DynamoDB. Per poter scegliere la soluzione giusta per la tua applicazione, consulta le opzioni di flussi per l’acquisizione dei dati di modifica.

Un flusso DynamoDB è un flusso ordinato di informazioni sulle modifiche agli elementi in una tabella DynamoDB. I flussi DynamoDB catturano una sequenza deduplicata in ordine cronologico delle modifiche a livello di elemento in una tabella e archiviano queste informazioni in un log per un massimo di 24 ore. I flussi DynamoDB scalano automaticamente la capacità, liberando l'utente dal provisioning e dalla gestione della capacità. In base alla configurazione dei flussi DynamoDB, è possibile visualizzare gli elementi di dati così come appaiono prima e dopo la modifica. È possibile creare applicazioni che utilizzano questi eventi di flussi e invocare flussi di lavoro in base al contenuto del flusso di eventi.

I flussi DynamoDB sono utili quando si desidera rispondere alle modifiche dei dati con trigger utilizzando l’integrazione nativa con AWS Lambda, tracciare e analizzare le interazioni con i clienti o monitorare le prestazioni delle applicazioni quasi in tempo reale, acquisire sequenze ordinate di eventi e migliorare la resilienza delle applicazioni attraverso la replica dei dati transazionali a livello di elemento.

I flussi di dati Kinesis rilevano le modifiche a livello di elemento in qualsiasi tabella DynamoDB e le replicano su un flusso di dati Kinesis. Le applicazioni possono accedere a questo flusso e visualizzare le modifiche a livello di elemento quasi in tempo reale. I flussi di dati Kinesis consentono di creare applicazioni personalizzate per elaborare o analizzare i flussi di dati per esigenze specialistiche. A differenza dei flussi DynamoDB, i flussi di dati Kinesis per DynamoDB non forniscono garanzie di ordinamento dei record né di deduplicazione. È necessario che l’ordinamento e la deduplicazione dei record siano implementati dalle applicazioni client, utilizzando il campo ApproximateCreationDateTime nel record a livello di elemento.

I flussi di dati Kinesis per DynamoDB sono utili se c’è bisogno di integrazione con il più ampio ecosistema Kinesis (come Kinesis Client Library, Servizio gestito da Amazon per Apache Flink o Amazon Data Firehose), conservazione e ripetibilità dei dati di durata più lunga (fino a 365 giorni) e gestione personalizzata degli shard per il consumo a valle e l’analisi dei flussi.

Quando un flusso DynamoDB o un flusso di dati Kinesis è abilitato su una tabella DynamoDB, la tabella invia un record di dati che acquisisce eventuali modifiche ai dati di quella tabella. Questo record di dati include l’ora specifica in cui un elemento è stato creato, aggiornato o eliminato di recente, la chiave primaria di quell’elemento, un’immagine dell’elemento prima della modifica e una dell’elemento dopo la modifica

È possibile abilitare o disabilitare i flussi su una tabella DynamoDB esistente utilizzando la Console di gestione AWS, l’AWS SDK, l’interfaccia della linea di comando AWS (AWS CLI) o la Kinesis Client Library (KCL).

È consigliabile scegliere i flussi DynamoDB quando occorre specificamente tenere traccia delle modifiche alle tabelle DynamoDB. È consigliabile, invece, scegliere i flussi di dati Kinesis per esigenze di flussi più ampie, requisiti di throughput più elevati o quando occorrono periodi di conservazione dei dati più lunghi.

La funzionalità Time to Live (TTL) di Amazon DynamoDB elimina automaticamente gli elementi scaduti non più pertinenti da una tabella, riducendo così l’utilizzo dell'archiviazione e abbassando i costi. Con TTL, è possibile definire un timestamp per elemento per determinare quando un elemento non è più necessario e DynamoDB elimina automaticamente l'elemento dalla tabella senza consumare alcun throughput di scrittura. Ogni volta che un elemento viene creato o aggiornato, è possibile calcolare l'ora di scadenza e salvarla nell'attributo TTL. TTL è utile per l’archiviazione di elementi che perdono rilevanza dopo un determinato periodo di tempo.

DynamoDB supporta operazioni GET/PUT utilizzando una chiave primaria definita dall’utente. La chiave primaria è l'unico attributo richiesto per gli elementi in una tabella. La chiave primaria viene specificata al momento della creazione di una tabella che identifica in modo univoco ciascun elemento. Inoltre, DynamoDB offre query flessibili consentendo di eseguire query sugli attributi chiave non primari utilizzando indici secondari globali e indici secondari locali.

Una chiave primaria può essere una chiave di partizione ad attributo singolo o una chiave di ordinamento-partizione composta. Una chiave di partizione ad attributo singolo potrebbe essere, ad esempio, ID utente. Una chiave di partizione ad attributo singolo permette di leggere e scrivere rapidamente i dati di una voce associata a un determinato ID utente.

Dynamo DB indicizza una chiave di partizione-ordinamento composta come un elemento chiave di partizione e un elemento chiave di ordinamento. Questa chiave a più sezioni mantiene una gerarchia fra i valori del primo e del secondo elemento. Ad esempio, una chiave di partizione-ordinamento composta può essere una combinazione di ID utente (partizione) e Timestamp (ordinamento). Mantenere uno stesso elemento chiave di partizione consente di effettuare ricerche nell'elemento chiave di ordinamento, Queste ricerche permetterebbero di utilizzare l’API Query per recuperare tutte le voci di un singolo ID utente su una serie di timestamp.

DynamoDB supporta chiavi primarie composte da un massimo di otto attributi negli indici secondari globali (GSI), con un massimo di quattro attributi ciascuno per la partizione e le chiavi di ordinamento.

Dopo aver creato una tabella con la console Dynamo DB o l’API CreateTable, è possibile utilizzare le API PutItem o BatchWriteItem per inserire le voci. È possibile quindi utilizzare GetItem, BatchGetItem o, se nella tabella sono abilitate e in uso le chiavi primarie composite, l’API Query per recuperare le voci aggiunte alla tabella.

Sì. DynamoDB è un servizio cloud interamente gestito a cui si accede attraverso API. DynamoDB può essere utilizzato dalle applicazioni in esecuzione su qualsiasi sistema operativo (come Linux, Windows, iOS, Android, Solaris, AIX e HP-UX). È consigliabile utilizzare gli AWS SDK per iniziare con DynamoDB.

L’integrazione Zero-ETL di DynamoDB con il servizio OpenSearch elimina la complessità operativa derivante dall’orchestrazione della replica dei dati da un datastore transazionale a un datastore di ricerca. Le pipeline di dati utilizzate per mantenere sincronizzati i datastore transazionali e di ricerca possono essere difficili e costose da creare e gestire e sono soggette a errori intermittenti difficili da tracciare. 

Questa integrazione consente ai clienti DynamoDB di ottenere risultati di ricerca quasi in tempo reale dai loro dati transazionali offrendo una soluzione completamente gestita per rendere disponibili i dati transazionali di DynamoDB nel servizio OpenSearch entro pochi secondi dalla scrittura. I clienti scelgono semplicemente le tabelle DynamoDB contenenti i dati che desiderano analizzare con il servizio OpenSearch e questa integrazione zero-ETL replica perfettamente lo schema e i dati nel servizio OpenSearch utilizzando le pipeline di OpenSearch Ingestion. I clienti possono replicare i dati da più tabelle DynamoDB in un unico dominio gestito dal servizio OpenSearch o in una raccolta serverless per ottenere informazioni olistiche su diverse applicazioni, consolidando al contempo le proprie risorse di analisi principali, ottenendo risparmi significativi sui costi ed efficienze operative. 

I clienti possono iniziare ad usare la Console di gestione AWS per DynamoDB, il servizio OpenSearch, AWS CLI o l’SDK AWS o AWS CloudFormation. Per consentire un'integrazione, i clienti scelgono innanzitutto la tabella DynamoDB i cui dati devono essere replicati. I clienti scelgono quindi i flussi DynamoDB per la replica quasi in tempo reale o le esportazioni incrementali di DynamoDB per la replica ritardata come meccanismo CDC per mantenere sincronizzati i dati tra i due sistemi. 

Questa integrazione Zero-ETL configura una pipeline di OpenSearch Ingestion nell'account del cliente che si occupa della replica dei dati in un cluster gestito dal servizio OpenSearch o in una raccolta serverless. OpenSearch Ingestion comprende la struttura delle tabelle DynamoDB e quindi crea un dominio gestito del servizio OpenSearch equivalente o una raccolta serverless e avvia la destinazione con i dati esistenti dalle tabelle DynamoDB. Facoltativamente, i clienti possono specificare uno schema per gli indici che verranno creati nel servizio OpenSearch. 

Questa integrazione Zero-ETL fornisce un pannello di controllo in cui è possibile monitorare lo stato della propria integrazione end-to-end con parametri e log di Amazon CloudWatch in tempo reale. È possibile impostare avvisi in caso di violazione delle soglie definite dall'utente. Questa integrazione monitora inoltre continuamente lo stato delle tabelle DynamoDB e degli indici del servizio OpenSearch e avvisa immediatamente gli utenti in caso di regressioni con una di queste entità.

Per garantire che OpenSearch Ingestion disponga delle autorizzazioni necessarie per replicare i dati su entrambi questi sistemi, l’integrazione Zero-ETL di DynamoDB con il servizio OpenSearch crea un ruolo IAM con le autorizzazioni necessarie per leggere i dati dalle tabelle DynamoDB e scrivere su un dominio o una raccolta OpenSearch. Questo ruolo viene quindi assunto dalle pipeline di OpenSearch Ingestion per garantire che venga sempre mantenuta la giusta posizione di sicurezza quando si spostano i dati dall’origine alla destinazione.

Questa integrazione Zero-ETL utilizza le funzionalità native di trasformazione dei dati delle pipeline di OpenSearch Ingestion per aggregare e filtrare i dati mentre sono in movimento. Quando spostano i dati da una tabella DynamoDB, i clienti potrebbero voler eliminare alcuni campi o crearne di nuovi in base alle aggregazioni tra campi esistenti. 

Facoltativamente, i clienti possono anche scrivere una logica personalizzata per OpenSearch Ingestion e ottenere così capacità di trasformazione su misura. Per gli altri utenti che desiderano semplicemente spostare tutti i propri dati dall’origine al sink, questa integrazione Zero-ETL fornirà blueprint OpenSearch Ingestion pronti all’uso in modo che possano eseguire le integrazioni con pochi clic.

Questa integrazione Zero-ETL offre ai clienti la possibilità di specificare il proprio schema di dati personalizzato insieme alle mappature degli indici utilizzate da OpenSearch Ingestion durante la scrittura di dati da DynamoDB al servizio OpenSearch. Questa esperienza viene aggiunta alla console dell’interfaccia utente all’interno di DynamoDB in modo che i clienti abbiano il pieno controllo sul formato degli indici creati sul servizio OpenSearch.

Non ci sono costi aggiuntivi per utilizzare l’integrazione Zero-ETL di DynamoDB con il servizio OpenSearch a parte il costo dei componenti sottostanti esistenti. Questa integrazione Zero-ETL utilizza OpenSearch Ingestion per leggere i dati nelle tabelle DynamoDB e replicarli sul servizio OpenSearch. Il costo dell’utilizzo dell’integrazione Zero-ETL di DynamoDB con il servizio OpenSearch è il costo delle OpenSearch Compute Unit (OCU) necessarie a OpenSearch Ingestion per replicare i dati tra i sistemi. Inoltre, i clienti hanno la possibilità di scegliere tra stream DynamoDB o esportazioni incrementali come la scelta di CDC. Per le esportazioni incrementali, la scrittura dei dati nei bucket S3 comporta dei costi. Per i flussi DynamoDB, ai clienti verranno addebitate le tariffe standard per l’utilizzo dei flussi.

L’integrazione Zero-ETL di DynamoDB con il servizio OpenSearch di Amazon è disponibile in tutte le regioni in cui OpenSearch Ingestion è correntemente disponibile.

Fatturazione

Apri tutto

Sì, puoi acquistare un Savings Plans per database per utilizzare Amazon DynamoDB e ridurre i costi fino al 18% se ti impegni a un utilizzo costante per un periodo di 1 anno. Ulteriori informazioni sull’utilizzo idoneo sono disponibili nella pagina dei prezzi dei Savings Plans per database.

Sì, DynamoDB offre un generoso piano gratuito di 25 GB di spazio di archiviazione, oltre a 25 unità di capacità di scrittura e 25 unità di capacità di lettura (WCU, RCU) assegnate, sufficienti per gestire 200 milioni di richieste al mese.

DynamoDB è un vero database non relazionale serverless. Rispetto ad altri database che fanno pagare in base a diversi parametri, come l’archiviazione, DynamoDB può scalare fino a zero, il che significa che quando i clienti utilizzano la modalità on demand pagano solo per le risorse attive consumate.

In poche parole, l’opzione on demand è più adatta per i clienti che preferiscono pagare solo per ciò che utilizzano o che hanno carichi di lavoro imprevedibili. La capacità assegnata è molto apprezzata dai clienti con applicazioni che dimostrano un traffico costante o prevedibile e preferiscono prevedere i requisiti di capacità per controllare i costi.

DynamoDB è unico in quanto è un database serverless che offre ai clienti la possibilità di pagare solo per le risorse consumate, con possibilità di scalare fino a zero quando non viene utilizzato con prezzi on demand. Quando il database è in uso, le unità di richiesta di scrittura e le unità di richiesta di lettura vengono utilizzate per calcolare i costi.

DynamoDB include un’ampia gamma di opzioni che possono essere aggiunte al servizio. Un elenco parziale include:

  • Backup on demand che esegue backup istantanei in momenti specifici
  • Tabelle globali per la replica multi-regione e multi-attiva
  • DynamoDB Accelerator (DAX), un servizio di caching compatibile con Amazon DynamoDB, riduce la latenza tramite la cache in memoria
  • Flussi DynamoDB per sequenze di modifiche a livello di elemento in una tabella ordinate nel tempo