Creare contenitori e database di Azure Cosmos DB con velocità effettiva con scalabilità automatica
SI APPLICA A: NoSQL MongoDB Cassandra Gremlin Tabella
In Azure Cosmos DB è possibile configurare la velocità effettiva standard (manuale) o con provisioning con scalabilità automatica in database e contenitori. La velocità effettiva con provisioning con scalabilità automatica in Azure Cosmos DB consente di ridimensionare la velocità effettiva (UR/sec) del database o del contenitore automaticamente e immediatamente. La velocità effettiva viene dimensionata in base all'utilizzo, senza influire su disponibilità, latenza, velocità effettiva o prestazioni del carico di lavoro.
La velocità effettiva con provisioning a scalabilità automatica è particolarmente adatta per carichi di lavoro cruciali con modelli di traffico variabili o imprevedibili e che richiedono contratti di servizio per prestazioni elevate e scalabilità. La scalabilità automatica dinamica è consigliata per ridimensionare la velocità effettiva (UR/s) dei carichi di lavoro in modo indipendente in base all'utilizzo, a livello di area e partizione. Questo articolo descrive i vantaggi e i casi d'uso della velocità effettiva con provisioning a scalabilità automatica.
Vantaggi della scalabilità automatica
I database e i contenitori di Azure Cosmos DB configurati con la velocità effettiva con provisioning con scalabilità automatica offrono i vantaggi seguenti:
Semplicità: la scalabilità automatica elimina la complessità della gestione di UR/sec basata su script personalizzati o sulla capacità di ridimensionamento manuale.
Scalabilità: i database e i contenitori ridimensionano automaticamente la velocità effettiva con provisioning in base alle esigenze, senza interruzioni delle connessioni client, delle applicazioni e dei contratti di servizio di Azure Cosmos DB.
Convenienza: la scalabilità automatica consente di ottimizzare l'utilizzo di UR/sec e i costi grazie alla riduzione quando non è in uso. Si paga solo per le risorse necessarie per i carichi di lavoro su base oraria. Se per tutte le ore di un mese si imposta un valore massimo (Tmax) di UR/s con scalabilità automatica si usa la quantità massima Tmax per il 66% delle ore o meno, la scalabilità automatica consente di risparmiare. Oltre al ridimensionamento dinamico, l'aggiunta di un'area secondaria per la disponibilità elevata è più conveniente perché ogni area e partizione viene ridimensionata in modo indipendente in base all'utilizzo effettivo. Per altre informazioni, vedere l'articolo Come scegliere tra la velocità effettiva con provisioning standard (manuale) e la velocità effettiva con provisioning a scalabilità automatica.
Disponibilità elevata: i database e i contenitori che usano la scalabilità automatica usano lo stesso back-end di Azure Cosmos DB distribuito a livello globale, a tolleranza di errore e a disponibilità elevata per garantire la durabilità e un'elevata disponibilità dei dati.
Casi d'uso di scalabilità automatica
I casi d'uso di scalabilità automatica includono:
Carichi di lavoro variabili o imprevedibili: quando i carichi di lavoro hanno picchi di utilizzo variabili o imprevedibili, la scalabilità automatica consente di aumentare o ridurre automaticamente la capacità in base all'utilizzo. Gli esempi includono i siti Web di vendita al dettaglio con modelli di traffico diversi a seconda della stagionalità, i carichi di lavoro IoT con picchi in diversi momenti della giornata, le applicazioni line-of-business per le quali i picchi si verificano alcune volte al mese o all'anno e così via. Con la scalabilità automatica non è più necessario eseguire manualmente il provisioning per la capacità massima o media.
Nuove applicazioni: se si sta sviluppando una nuova applicazione e non si è certi della velocità effettiva (UR/sec) necessaria, la scalabilità automatica semplifica le operazioni iniziali. È possibile iniziare con un punto di ingresso per la scalabilità automatica di 100 - 1000 UR/sec, monitorare l'utilizzo e stabilire qual è il valore UR/sec corretto nel tempo.
Applicazioni usate raramente: se un'applicazione viene usata solo per poche ore alcune volte al giorno, alla settimana o al mese, ad esempio un sito applicazione, Web o blog con volume ridotto, la scalabilità automatica regola la capacità in modo da gestire il momento di utilizzo massimo e ridurre le prestazioni quando termina.
Carichi di lavoro di sviluppo e test: se l'utente o il suo team usa i database e i contenitori di Azure Cosmos DB durante le ore di lavoro, ma non ne ha bisogno nelle ore notturne o nei fine settimana, la scalabilità automatica consente di risparmiare sui costi riducendo la capacità al minimo quando non è in uso.
Carichi di lavoro e query di produzione pianificati: se si prevede di eseguire una serie di richieste, operazioni o query pianificate durante i periodi di inattività, la scalabilità automatica può essere molto utile. Quando è necessario eseguire il carico di lavoro, la velocità effettiva viene automaticamente ridimensionata in base al valore necessario e si riduce in un secondo momento.
La creazione di una soluzione personalizzata a questi problemi non solo richiede una quantità di tempo enorme, ma introduce anche complessità nella configurazione o nel codice dell'applicazione. La scalabilità automatica consente di gestire con facilità gli scenari precedenti ed elimina la necessità di procedure personalizzate o manuali di ridimensionamento della capacità.
Funzionamento della velocità effettiva con provisioning a scalabilità automatica
Quando si configurano i contenitori e i database con la scalabilità automatica, è necessario specificare la velocità effettiva massima Tmax
richiesta. Azure Cosmos DB ridimensiona la velocità effettiva T
come 0.1*Tmax <= T <= Tmax
. Se ad esempio si imposta la velocità effettiva massima su 20.000 UR/sec, la velocità effettiva viene ridimensionata tra 2000 e 20.000 UR/sec. Poiché il ridimensionamento è automatico e istantaneo, in qualsiasi momento è possibile usare fino al valore Tmax
di cui è stato effettuato il provisioning senza alcun ritardo.
Ogni ora viene addebitata la velocità effettiva più elevata T
a cui il sistema è stato ridimensionato nel corso dell'ora. Quando il ridimensionamento dinamico è abilitato, il ridimensionamento si basa sull'utilizzo di UR/sec in ogni partizione fisica e in ogni area. Poiché ogni partizione e area vengono ridimensionate in modo indipendente, ciò può comportare risparmi sui costi per i carichi di lavoro non uniformi, in quanto vengono evitati i dimensionamenti non necessari.
Il punto di ingresso per la velocità effettiva massima a scalabilità automatica Tmax
inizia a 1000 UR/sec, che si ridimensiona tra 100 e 1000 UR/sec. È possibile impostare Tmax
con incrementi di 1000 UR/sec e modificare il valore in qualsiasi momento.
Abilitare la scalabilità automatica per le risorse esistenti
Usare il portale di Azure, l'interfaccia della riga di comando o PowerShell per abilitare la scalabilità automatica in un database o un contenitore esistente. È possibile passare dalla velocità effettiva con provisioning a scalabilità automatica alla velocità effettiva con provisioning standard (manuale) e viceversa in qualsiasi momento. Per altre informazioni, vedere questa documentazione.
Limiti di archiviazione e velocità effettiva per la scalabilità automatica
Per qualsiasi valore di Tmax
, il database o il contenitore può archiviare un totale di 0.1 * Tmax GB
. Raggiunta questa quantità di spazio di archiviazione, il valore massimo di UR/sec verrà aumentato automaticamente in base al nuovo valore di archiviazione, senza alcun impatto sull'applicazione.
Se ad esempio si inizia con un numero massimo di UR/sec pari a 50.000 (con scalabilità compresa tra 5000 e 50.000 UR/sec), è possibile archiviare fino a 5000 GB di dati. Se si superano i 5000 GB, ad esempio se ora l'archiviazione è pari a 6000 GB, il nuovo numero massimo di UR/s diventa 60.000 UR/s, con scalabilità compresa tra 6000 e 60.000 UR/s.
Quando si usa la velocità effettiva a livello di database con scalabilità automatica, è possibile fare in modo che i primi 25 contenitori condividano un numero massimo di UR/sec di scalabilità automatica pari a 1000 (con scalabilità compresa tra 100 e 1000 UR/sec), purché non si superino 100 GB di spazio di archiviazione. Per altre informazioni, vedere questa documentazione.
Confronto tra contenitori configurati con velocità effettiva manuale e a scalabilità automatica
Per informazioni dettagliate, vedere la documentazione su come scegliere tra la velocità effettiva standard (manuale) e quella a scalabilità automatica.
Contenitori con velocità effettiva standard (manuale) | Contenitori con velocità effettiva a scalabilità automatica | |
---|---|---|
Provisioning velocità effettiva (UR/sec) | Con provisioning manuale. | Ridimensionamento automatico e istantaneo in base ai modelli di utilizzo del carico di lavoro. |
Limitazione della frequenza delle richieste/operazioni (429) | Può verificarsi se il consumo supera la capacità sottoposta a provisioning. | Non si verifica se il consumo di UR/sec rientra nell'intervallo configurato per la velocità effettiva a scalabilità automatica. |
Pianificazione della capacità | È necessario eseguire la pianificazione della capacità e impostare la velocità effettiva esatta necessaria. | Il sistema provvede automaticamente alla pianificazione della capacità e alla gestione della capacità. |
Prezzi | Si paga per le UR/sec con provisioning manuale per ora, usando la tariffa oraria delle UR/sec standard (manuale). | Si paga ogni ora per i valori massimi di UR/sec raggiunti dal sistema entro l'ora. Per gli account con singola area di scrittura, si paga per le UR/sec usate su base oraria, applicando la tariffa oraria delle UR/sec di scalabilità automatica. Per gli account con più aree di scrittura, non sono previsti costi aggiuntivi per la scalabilità automatica. Si paga per la velocità effettiva usata su base oraria applicando la stessa tariffa oraria delle UR/sec per scritture in più aree. |
Ideale per tipi di carico di lavoro | Carichi di lavoro prevedibili e stabili | Carichi di lavoro imprevedibili e variabili |
Eseguire la migrazione della velocità effettiva con provisioning standard alla scalabilità automatica
Gli utenti che vogliono eseguire la migrazione di un numero elevato di risorse dalla velocità effettiva con provisioning standard alla scalabilità automatica possono usare uno script dell'interfaccia della riga di comando di Azure per migrare ogni risorsa di velocità effettiva in una sottoscrizione di Azure alla scalabilità automatica. Per altre informazioni, vedere Convertire in scalabilità automatica.
Passaggi successivi
- Vedere le domande frequenti sulla scalabilità automatica.
- Informazioni su come scegliere tra la velocità effettiva manuale e a scalabilità automatica.
- Informazioni su come effettuare il provisioning della velocità effettiva con scalabilità automatica in un database o un contenitore Azure Cosmos DB.
- Altre informazioni sul partizionamento in Azure Cosmos DB.
- Si sta tentando di pianificare la capacità per una migrazione ad Azure Cosmos DB? È possibile usare le informazioni del cluster di database esistente per la pianificazione della capacità.
- Se si conosce solo il numero di vCore e server nel cluster di database esistente, leggere le informazioni sulla stima delle unità richieste con vCore o vCPU
- Se si conosce la frequenza delle richieste tipiche per il carico di lavoro corrente del database, leggere le informazioni sulla stima delle unità richieste con lo strumento di pianificazione della capacità di Azure Cosmos DB