View a markdown version of this page

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 di

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 predisposti da DocumentDB sono adatti per carichi di lavoro costanti. 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 scrittori 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 scrittore o lettore serverless DocumentDB nel cluster entro tale intervallo di capacità. Utilizzando un Multi-AZ cluster in cui ogni scrittore o lettore può scalare dinamicamente, è possibile sfruttare il ridimensionamento dinamico 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 uno scrittore o lettore serverless DocumentDB venga 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 storage e la capacità di calcolo sono separate. Quando ci riferiamo alla capacità e alla scalabilità serverless di DocumentDB, è sempre la capacità di calcolo 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 scrittore 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 DocumentDB, capacità predisposta o entrambe.

Puoi configurare un cluster che contenga sia capacità serverless che provisioned di DocumentDB, chiamato 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 utilizzare 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, puoi configurare il tuo cluster con un writer serverless DocumentDB e uno o più lettori predisposti.

È inoltre 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 da un cluster esistente a DocumentDB serverless, vedere e. Creazione di un cluster che utilizza Amazon DocumentDB serverless Migrazione ad Amazon DocumentDB serverless

Se non si utilizza affatto DocumentDB serverless in un cluster, viene eseguito il provisioning di tutti gli autori e lettori del cluster. Questo è il tipo di cluster più comune con cui la maggior parte degli utenti ha familiarità. 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 cluster può subire un sottoprovisioning (più lento del previsto) o un sovraprovisioning (più costoso di quanto si desideri).

Capacità di scalabilità serverless 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 scrittore o lettore serverless DocumentDB ha una capacità. La capacità è un numero a virgola mobile che rappresenta le DCU. 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 si intende utilizzare DocumentDB serverless, si definisce un intervallo di capacità: i valori di capacità minima e massima tra cui ogni scrittore o lettore serverless DocumentDB può scalare. L'intervallo di capacità è lo stesso per ogni scrittore o lettore serverless DocumentDB in un cluster. Ogni scrittore o lettore serverless DocumentDB ha una propria capacità, che rientra da qualche parte in tale intervallo.

DocumentDB serverless è supportato su DocumentDB 5.0 e 8.0 con un intervallo di capacità compreso tra 0,5 e 256 DCU.

La capacità serverless di DocumentDB più piccola che è possibile definire è 0,5 DCU. È 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 leggermente caricati di consumare risorse di calcolo minime. Allo stesso tempo, rimangono pronti ad accettare immediatamente le connessioni e a dimensionarsi quando diventano impegnati.

Impostate il valore minimo su un valore che consenta a ciascun writer o lettore di contenere il working set dell'applicazione nel buffer pool. In questo modo, il contenuto del buffer pool non viene scartato durante i periodi di inattività. Per tutte le considerazioni sulla scelta dell'intervallo di capacità di scalabilità, vedere. Scelta dell'intervallo di capacità di scalabilità per un cluster serverless DocumentDB

A seconda di come configurate i lettori in una Multi-AZ distribuzione, 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 serverless di DocumentDB implica la misurazione dei valori di capacità del writer e dei lettori del 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. DCU-hours Per informazioni su come vengono calcolati i costi serverless di DocumentDB, consulta i prezzi di Amazon DocumentDB. Supponiamo che il numero totale di istanze di scrittura e di lettura nel cluster sia n. In tal caso, il cluster consuma circa n x DCU minime quando non si eseguono operazioni di database. Amazon DocumentDB stesso potrebbe eseguire operazioni di monitoraggio o manutenzione che causano una piccola quantità di carico. Questo cluster non consuma più di n x unità DCU massime 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 minimi e massimi specificati influiscono anche su alcuni limiti delle istanze 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 scrittore o lettore serverless 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 del database e le attività amministrative di Amazon DocumentDB. Quando la capacità è limitata da una di queste condizioni, DocumentDB è scalabile senza server. DocumentDB serverless aumenta anche la scalabilità quando rileva problemi di prestazioni che può risolvere in tal modo. È possibile monitorare l'utilizzo delle risorse e il modo in cui influisce sulla scalabilità serverless di DocumentDB utilizzando le procedure in. Monitoraggio di Amazon DocumentDB senza server

Il carico può variare a seconda dello scrittore e dei 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.

La scalabilità è 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 DCU. DocumentDB serverless scala uno scrittore 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à del database di uno scrittore o lettore, DocumentDB serverless aumenta il numero di DCU per tale scrittore o lettore. DocumentDB serverless scala la capacità negli incrementi necessari per fornire le migliori prestazioni per le risorse consumate. La scalabilità avviene con incrementi fino a 0,5 DCU. 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 nel. Console di gestione AWS Invece, puoi misurare le CloudWatch metriche di Amazon come serverlessDatabaseCapacity e e monitorare i loro valori minimiDCUUtilization, massimi e medi nel tempo. Per saperne di più sul monitoraggio di DocumentDB serverless, consulta. Monitoraggio di Amazon DocumentDB senza server

Il ridimensionamento verso l'alto o verso il basso può essere causato da quanto segue:

  • Utilizzo della memoria

  • Utilizzo CPU

  • Utilizzo rete

  • Utilizzo dell'archiviazione

È possibile monitorare queste cause di ridimensionamento 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 DocumentDB, nei livelli di promozione 0 e 1, sono scalabili contemporaneamente allo scrittore. 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 un momento 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ò scalare 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 esegua il ridimensionamento senza server e la velocità con cui si verifica 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 dettagli sulla configurazione del ridimensionamento, vedere. Configurazione di scalabilità serverless di Amazon DocumentDB

Stato inattivo (0,5 DCU)

Quando gli scrittori o lettori serverless di Amazon DocumentDB sono inattivi, le istanze serverless di DocumentDB supportano la scalabilità fino a uno stato di inattività di 0,5 DCU se il cluster è configurato per essere 0,5. MinCapacity

Nello stato inattivo, le istanze serverless 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 per essere scalate 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 DCU. Pertanto, quando le istanze serverless di DocumentDB passano da uno stato inattivo a uno stato non inattivo, saliranno direttamente a 1,0 - 2,5 DCU (o al valore di se è inferiore). MaxCapacity

Per supportare la scalabilità fino a 0,5 DCU quando sono inattive, i limiti delle istanze sono limitati se sono configurate per essere inferiori o uguali a 1,0 DCU. MinCapacity Per ulteriori informazioni su come i limiti sono influenzati dalla configurazione, vedere. MinCapacity Limiti delle istanze serverless di Amazon DocumentDB