Come funziona Amazon DocumentDB serverless - Amazon DocumentDB

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à.

Come funziona Amazon DocumentDB serverless

Panoramica

Amazon DocumentDB serverless è adatto per i carichi di lavoro più impegnativi e altamente variabili. Ad esempio, l'uso del database potrebbe essere pesante per un breve periodo di tempo, seguito da lunghi periodi di attività leggera o nessuna attività. Alcuni esempi sono siti web per la vendita al dettaglio, i giochi o sportivi con eventi promozionali periodici e database in grado di generare report quando necessario. Altri sono ambienti di sviluppo e test e nuove applicazioni in cui l'utilizzo potrebbe aumentare rapidamente. In casi come questi e molti altri, non sempre è possibile configurare correttamente la capacità in anticipo con il modello fornito. Ciò può anche comportare costi più elevati se si esegue il provisioning eccessivo e si dispone di capacità che poi non viene utilizzata.

Al contrario, i cluster con provisioning di DocumentDB sono adatti per carichi di lavoro stabili. Con i cluster con provisioning, si sceglie una classe di istanza con una quantità predefinita di memoria, potenza della CPU, larghezza di banda e così via. I/O Se il carico di lavoro cambia, modifichi manualmente la classe di istanza dello scrittore e dei lettori. Il modello soggetto a provisioning funziona bene quando è possibile regolare la capacità in anticipo rispetto ai modelli di consumo previsti ed è accettabile soffrire di brevi interruzioni mentre si modifica la classe di istanza dello scrittore e dei lettori all'interno del cluster.

DocumentDB serverless è progettato da zero per supportare cluster serverless che sono immediatamente scalabili. DocumentDB serverless è progettato per fornire lo stesso grado di sicurezza e isolamento degli autori e dei lettori predisposti. Questi aspetti sono cruciali negli ambienti cloud serverless multitenant. Il meccanismo di dimensionamento dinamico impone un overhead molto ridotto in modo da poter rispondere rapidamente alle modifiche del carico di lavoro del database. È anche abbastanza potente da soddisfare i considerevoli aumenti della domanda di elaborazione.

Utilizzando DocumentDB serverless, è possibile creare un cluster DocumentDB senza essere vincolati a una capacità di database specifica per ogni scrittore e lettore. Puoi specificare l'intervallo minimo e massimo per la capacità. DocumentDB ridimensiona ogni writer o lettore serverless DocumentDB nel cluster entro tale intervallo di capacità. Utilizzando un cluster Multi-AZ in cui ogni scrittore o lettore può dimensionarsi dinamicamente puoi sfruttare la scalabilità dinamica e l'elevata disponibilità.

DocumentDB serverless ridimensiona automaticamente le risorse del database in base alle specifiche di capacità minima e massima. La scalabilità è rapida perché la maggior parte delle operazioni legate agli eventi di dimensionamento mantiene lo scrittore o il lettore sullo stesso host. Nei rari casi in cui un writer o lettore serverless DocumentDB viene spostato da un host all'altro, DocumentDB serverless gestisce automaticamente le connessioni. Non è necessario modificare il codice dell'applicazione client del database o le stringhe di connessione al database.

Con DocumentDB serverless, come con i cluster con provisioning, la capacità di archiviazione e la capacità di elaborazione sono separate. Quando ci riferiamo alla capacità e alla scalabilità senza server di DocumentDB, è sempre la capacità di elaborazione ad aumentare o diminuire. Pertanto, il cluster può contenere molti terabyte di dati anche quando la CPU e la capacità di memoria si dimensionano verso il basso.

Anziché effettuare il provisioning e gestire i server di database, puoi indicare la capacità del database. La capacità effettiva di ogni writer o lettore serverless DocumentDB varia nel tempo, a seconda del carico di lavoro. Per i dettagli su questi meccanismi, consulta Scalabilità senza server di Amazon DocumentDB.

Configurazioni per i cluster Amazon DocumentDB

Per ciascuno dei tuoi cluster Amazon DocumentDB, puoi scegliere qualsiasi combinazione di capacità serverless di DocumentDB, capacità fornita o entrambe.

È possibile configurare un cluster che contenga sia la capacità serverless di DocumentDB che quella fornita, denominato cluster a configurazione mista. Ad esempio, supponiamo di aver bisogno di una read/write capacità maggiore di quella disponibile per un writer serverless DocumentDB. In questo caso puoi configurare il cluster con uno scrittore con provisioning di dimensioni molto ampie. Quindi puoi ancora usare DocumentDB serverless per i lettori. Oppure supponi che il carico di lavoro in scrittura per il cluster vari ma che il carico di lavoro in lettura sia costante. In questo caso, è possibile configurare il cluster con un writer serverless DocumentDB e uno o più lettori predisposti.

È anche possibile configurare un cluster in cui tutta la capacità è gestita da DocumentDB serverless. A tale scopo, è possibile creare un nuovo cluster e utilizzare DocumentDB serverless sin dall'inizio. Oppure puoi sostituire tutta la capacità fornita in un cluster esistente con DocumentDB serverless. Per le procedure per creare un nuovo cluster con DocumentDB serverless o per passare un cluster esistente a DocumentDB serverless, vedere e. Creazione di un cluster che utilizza Amazon DocumentDB serverless Migrazione a Amazon DocumentDB serverless

Se non si utilizza affatto DocumentDB serverless in un cluster, viene eseguito il provisioning di tutti gli autori e i lettori del cluster. Questo è il tipo di cluster più comune che la maggior parte degli utenti conosce. La capacità fornita è costante. Le tariffe sono relativamente semplici da prevedere. Tuttavia, è necessario prevedere in anticipo quanta capacità è necessaria. In alcuni casi le previsioni potrebbero essere imprecise o le esigenze di capacità potrebbero cambiare. In questi casi, il provisioning del cluster può essere insufficiente (più lento di quanto richiesto) o eccessivo (più costoso del previsto).

Capacità di scalabilità senza server di Amazon DocumentDB

L'unità di misura per Amazon DocumentDB serverless è la DocumentDB Capacity Unit (DCU). La capacità di scalabilità serverless di DocumentDB non è legata alle classi di istanze utilizzate per i cluster con provisioning.

Ogni DCU è una combinazione di circa 2 gibibyte (GiB) di memoria, CPU corrispondente e rete. Puoi specificare l'intervallo di capacità del database utilizzando questa unità di misura. I parametri ServerlessDatabaseCapacity e DCUUtilization CloudWatch consentono di determinare la capacità effettivamente utilizzata dal database e se tale capacità rientra nell'intervallo specificato.

In qualsiasi momento, ogni writer o lettore serverless DocumentDB ha una capacità. La capacità è un numero a virgola mobile che rappresenta. DCUs La capacità aumenta o diminuisce ogni volta che lo scrittore o il lettore si dimensionano. Questo valore viene misurato ogni secondo. Per ogni cluster in cui intendi utilizzare DocumentDB serverless, definisci un intervallo di capacità: i valori di capacità minima e massima tra cui ogni writer o lettore serverless di DocumentDB può scalare. L'intervallo di capacità è lo stesso per ogni writer o lettore serverless DocumentDB in un cluster. Ogni writer o lettore serverless di DocumentDB ha una propria capacità, che rientra in questo intervallo.

DocumentDB serverless è supportato su DocumentDB 5.0.0 e versioni successive con un intervallo di capacità compreso tra 0,5 e 256. DCUs

La capacità serverless di DocumentDB minima che è possibile definire è 0,5. DCUs È possibile specificare un numero più alto se è inferiore o uguale al valore di capacità massima supportata. L'impostazione della capacità minima su un numero ridotto consente ai cluster con carichi leggeri di consumare risorse di elaborazione minime. Allo stesso tempo, rimangono pronti ad accettare immediatamente le connessioni e a dimensionarsi quando diventano impegnati.

Si consiglia di impostare il valore minimo su un valore che consenta a ogni scrittore o lettore di conservare il set di lavoro dell'applicazione nel pool di buffer. In questo modo, il contenuto del buffer pool non viene scartato durante i periodi di inattività. Per tutte le considerazioni relative alla scelta dell'intervallo di capacità di scalabilità, vedere. Scelta dell'intervallo di capacità di scalabilità per un cluster serverless DocumentDB

A seconda di come si configurano i lettori in un'implementazione Multi-AZ, le loro capacità possono essere legate alla capacità dello scrittore o indipendentemente. Per i dettagli su come eseguire queste operazioni, consulta Visualizzazione e modifica del livello di promozione dei lettori serverless.

Il monitoraggio di DocumentDB serverless implica la misurazione dei valori di capacità dello scrittore e dei lettori nel cluster nel tempo. Se il database non viene si dimensiona verso il basso fino alla capacità minima, puoi intraprendere azioni come la regolazione del minimo e l'ottimizzazione dell'applicazione database. Se il database raggiunge costantemente la sua capacità massima, puoi intraprendere operazioni come l'aumento di tale vincolo. Puoi inoltre ottimizzare l'applicazione di database e distribuire il carico di query su più lettori.

I costi per la capacità serverless di DocumentDB sono misurati in termini di ore DCU-ora. Per informazioni su come vengono calcolate le tariffe serverless di DocumentDB, consulta i prezzi di Amazon DocumentDB. Supponiamo che il numero totale di scrittori e lettori nel cluster sia n. In tal caso, il cluster consuma almeno circa n x DCUs quando non si esegue alcuna operazione di database. Amazon DocumentDB stesso potrebbe eseguire operazioni di monitoraggio o manutenzione che causano una piccola quantità di carico. Quel cluster non consuma più di n x al massimo DCUs quando il database è in esecuzione a piena capacità.

Per ulteriori dettagli sulla scelta dei valori DCU minimi e massimi appropriati, vedere. Scelta dell'intervallo di capacità di scalabilità per un cluster serverless DocumentDB I valori DCU minimo e massimo specificati influiscono anche su alcuni limiti delle istanze di Amazon DocumentDB. Per dettagli sull'interazione tra l'intervallo di capacità e i limiti delle istanze, consulta. Limiti delle istanze serverless di Amazon DocumentDB

Scalabilità senza server di Amazon DocumentDB

Per ogni writer o lettore serverless di DocumentDB, Amazon DocumentDB monitora continuamente l'utilizzo di risorse come CPU, memoria e rete. Queste misurazioni sono chiamate collettivamente carico. Il carico include le operazioni di database eseguite dall'applicazione. Include anche l'elaborazione in background per il server di database e le attività amministrative di Amazon DocumentDB. Quando la capacità è limitata da uno di questi fattori, DocumentDB serverless è scalabile verso l'alto. DocumentDB serverless è inoltre scalabile verso l'alto quando rileva problemi di prestazioni che può risolvere in questo modo. È possibile monitorare l'utilizzo delle risorse e il modo in cui influisce sulla scalabilità serverless di DocumentDB utilizzando le procedure incluse in. Monitoraggio di Amazon DocumentDB senza server

Il carico può variare tra lo scrittore e i lettori del cluster. Il writer gestisce le operazioni di scrittura ed esegue tutte le modifiche ai dati sul volume del cluster. I lettori possono elaborare richieste di sola lettura.

Il ridimensionamento è l'operazione che aumenta o diminuisce la capacità serverless di DocumentDB per il database. Con DocumentDB serverless, ogni scrittore e lettore ha il proprio valore di capacità attuale, misurato in. DCUs DocumentDB serverless ridimensiona un writer o un lettore fino a una capacità superiore quando la sua capacità attuale è troppo bassa per gestire il carico. Ridimensiona lo scrittore o il lettore a una capacità inferiore quando la sua capacità corrente è superiore a quella necessaria.

DocumentDB serverless può aumentare la capacità in modo incrementale. Quando la richiesta di carico di lavoro inizia a raggiungere l'attuale capacità di database di uno scrittore o di un lettore, DocumentDB serverless aumenta il numero DCUs di file per tale scrittore o lettore. DocumentDB serverless ridimensiona la capacità negli incrementi richiesti per fornire le migliori prestazioni per le risorse consumate. La scalabilità avviene con incrementi fino a 0,5. DCUs Maggiore è la capacità attuale, maggiore è l'incremento nel dimensionamento e quindi più velocemente può essere garantito il dimensionamento.

Poiché il ridimensionamento serverless di DocumentDB è così frequente, granulare e senza interruzioni, non causa eventi discreti in. AWS Management Console Puoi invece misurare i CloudWatch parametri di Amazon come serverlessDatabaseCapacity e DCUUtilization tenere traccia dei loro valori minimi, massimi e medi nel tempo. Per ulteriori informazioni sul monitoraggio di DocumentDB senza server, vedere. Monitoraggio di Amazon DocumentDB senza server

La scalabilità verso l'alto o verso il basso può essere causata da quanto segue:

  • Utilizzo della memoria

  • Utilizzo CPU

  • Utilizzo rete

  • Utilizzo dell'archiviazione

È possibile monitorare queste cause di scalabilità up/down sulle istanze serverless di DocumentDB. Per ulteriori informazioni, consulta Monitoraggio di Amazon DocumentDB senza server.

Puoi scegliere di creare un dimensionamento del lettore in modo contemporaneo allo scrittore associato o indipendentemente da questo. Tale obiettivo si raggiunge specificando il livello di promozione per quel lettore.

  • I lettori serverless di DocumentDB, nei livelli di promozione 0 e 1, scalano contemporaneamente a quelli di chi scrive. Questo comportamento di dimensionamento rende i lettori con livelli prioritari 0 e 1 ideali per la disponibilità. Questo perché sono sempre dimensionati alla capacità giusta per assumere il carico di lavoro dallo scrittore in caso di failover.

  • I lettori nei livelli di promozione da 2 a 15 si dimensionano indipendentemente dallo scrittore. Ogni lettore rimane entro i valori DCU minimi e massimi specificati per il cluster. Quando un lettore si dimensiona indipendentemente dallo scrittore del database associato, può diventare inattivo e dimensionarsi verso il basso mentre lo scrittore continua a elaborare un volume elevato di transazioni. Se nessun altro lettore è disponibile in livelli di promozione inferiori rimane ancora disponibile come target di failover. Tuttavia, se viene promosso al ruolo di scrittore, potrebbe essere necessario un dimensionamento verso l'alto per gestire l'intero carico di lavoro dello scrittore.

Per informazioni dettagliate sulla visualizzazione e la modifica dei livelli di promozione delle istanze serverless, consulta. Visualizzazione e modifica del livello di promozione dei lettori serverless

La scalabilità serverless di DocumentDB può avvenire mentre le connessioni al database sono aperte, mentre le transazioni sono in corso, ecc. DocumentDB serverless non aspetta che arrivi un punto di silenzio per iniziare la scalabilità. Il dimensionamento non interrompe le operazioni del database in corso.

Se il carico di lavoro richiede una capacità di lettura superiore a quella disponibile con un singolo writer e un singolo lettore, puoi aggiungere più lettori serverless DocumentDB al cluster. Ogni lettore serverless DocumentDB può essere scalato entro l'intervallo di valori di capacità minima e massima specificati per il cluster. Puoi utilizzare l'endpoint di lettura del cluster per gestire le sessioni di sola lettura attraverso i lettori e ridurre il carico sullo scrittore.

Il fatto che DocumentDB serverless esegua la scalabilità e la velocità con cui avviene il ridimensionamento una volta avviato, dipende anche dalle impostazioni DCU minime e massime per il cluster. Inoltre, dipendono dal fatto che un lettore sia configurato per dimensionarsi contemporaneamente allo scrittore o indipendentemente da esso. Per i dettagli sulla configurazione di scalabilità, vedere. Configurazione di scalabilità senza server di Amazon DocumentDB

Stato di inattività (0,5) DCUs

Quando gli scrittori o i lettori serverless di Amazon DocumentDB sono inattivi, le istanze serverless di DocumentDB supportano la scalabilità fino a uno stato di inattività di 0,5 se quello del cluster è configurato su DCUs 0,5. MinCapacity

Nello stato di inattività, le istanze serverless di DocumentDB non dispongono di una capacità di elaborazione della CPU sufficiente per supportare la maggior parte dei carichi di lavoro di produzione, ma sono pronte a scalare rapidamente per supportare un nuovo carico di lavoro. In uno stato non inattivo, le istanze serverless di DocumentDB richiedono in genere almeno 1,0 - 2,5. DCUs Pertanto, quando le istanze serverless di DocumentDB passano da uno stato inattivo a uno non inattivo, aumenteranno direttamente fino a 1,0 - 2,5 DCUs (o al valore di se è inferiore). MaxCapacity

Per supportare la scalabilità fino a 0,5 DCUs quando sono inattive, i limiti delle istanze sono limitati se la configurazione MinCapacity è inferiore o uguale a 1,0. DCUs Per ulteriori informazioni su come i limiti sono influenzati dalla MinCapacity configurazione, consulta. Limiti delle istanze serverless di Amazon DocumentDB