Modalità di utilizzo e costi
IBM® Cloudant® for IBM Cloud® utilizza i dati memorizzati e la capacità di throughput assegnata in base alle classi di richiesta per misurare e fatturare l'utilizzo. Leggi questa pagina per scoprire come vengono misurati questi dati e come stimare il tuo consumo.
Innanzitutto, questa pagina spiega come viene misurata la capacità di archiviazione dei dati nel IBM Cloudant Piani Lite e Standard. Di seguito, viene spiegato cos’è la capacità di throughput provisionata e come viene utilizzata dalle vostre applicazioni. Comprendendo questi concetti, potrai stimare meglio IBM Cloudant utilizzo e tariffazione in base alle tue esigenze.
Stima dei costi
Il costo mensile stimato per un determinato livello di throughput e capacità di archiviazione assegnati può essere calcolato utilizzando lo strumento di stima dei costi disponibile nella pagina del catalogo “ IBM Cloud® ” all’indirizzo IBM Cloudant.
È possibile utilizzare lo strumento di stima dei costi di IBM Cloud per visualizzare i costi stimati in altre valute cliccando su “Aggiungi al preventivo” dal riquadro del catalogo “ IBM Cloudant ”. Specifica lo spazio di archiviazione, la capacità e seleziona il Paese di cui desideri visualizzare la valuta.
Fare clic su " Calcola costo " e poi su " Salva ". Ora, clicca su " Rivedi preventivo ". Espandi il preventivo per visualizzare ulteriori dettagli. Se salvi più preventivi, puoi poi cliccare su " Rivedi preventivo " e confrontarli.
È possibile avviare la dashboard di IBM Cloud. Fai clic su Elenco risorse > Servizi > la tua istanza > Gestisci > Capacità per visualizzare e modificare la capacità di throughput assegnata, nonché per visualizzare i costi orari e mensili approssimativi.
Calcolo del consumo di dati per i piani Lite e Standard
Lo spazio di archiviazione dei dati, che viene misurato ai fini della fatturazione per un'istanza di IBM Cloudant, include i dati JSON, gli indici secondari e gli allegati. Sebbene i negozi “ Cloudant ” replichino i dati per garantire l’alta disponibilità, ti verrà addebitato solo il costo corrispondente a una singola copia dei tuoi dati.
| Archivio dati | Piano Lite | Piano Standard |
|---|---|---|
| Incluso nel piano | 1 GB | 20 GB |
| Storage aggiuntivo | Non disponibile | Tariffa al GB |
| Limite di scrittura in caso di uso eccessivo | Sì (dopo 1 GB) | No |
Comportamento del piano Lite al raggiungimento del limite di archiviazione dei dati
Con il piano Lite, il traffico dati è limitato a 1GB. Quando l'istanza del piano " IBM® Cloudant® for IBM Cloud® " Lite supera il limite di spazio di archiviazione specificato in 1GB:
- Le operazioni di creazione e aggiornamento dei documenti sono bloccate.
- I tentativi di scrivere nuovi dati generano un errore "
402": "L'account ha superato la quota di utilizzo dei dati. An upgrade to a paid plan is required".
- I tentativi di scrivere nuovi dati generano un errore "
- Le operazioni di lettura e cancellazione rimangono disponibili, consentendo di accedere ai dati archiviati e di ridurne il volume.
- Un banner nella dashboard ti avvisa del superamento del limite.
- Per ripristinare l'accesso in scrittura, è possibile:
- Passa a un piano Standard per ottenere immediatamente l'accesso in scrittura.
- Elimina i dati per ridurre lo spazio occupato al di sotto di 1 GB. L'accesso verrà ripristinato entro 24 ore.
Costi per il traffico dati nel piano Standard
Il piano Standard non prevede limiti alla quantità di dati archiviati. L'addebito per l'archiviazione dei dati è calcolato come segue:
- L'archiviazione dei dati su 20GB è gratuita.
- L'archiviazione dei dati su 20GB viene addebitata in GB.
- Il costo relativo alla quantità di dati archiviati su 20GB viene calcolato su base oraria.
Ad esempio, se l'istanza del tuo piano Standard memorizza 107GB di dati per un'ora, ti verrà addebitato l'ammontare corrispondente a 87GB di dati memorizzati durante quell'ora ( 107GB meno 20GB ). Al termine del periodo di fatturazione, i costi relativi al traffico dati di ogni ora vengono sommati e ti vengono addebitati. Il consumo di dati viene misurato una volta all'ora.
Unità di capacità di throughput assegnate per i piani Lite e Standard
IBM Cloudant La capacità di throughput viene assegnata alla tua istanza tramite unità di capacità di throughput provisionate. Ogni unità consente alla tua applicazione di eseguire un certo numero di operazioni sul database ogni secondo.
Le operazioni sul database sono suddivise in diverse classi di richieste : letture, scritture e query globali. Ogni unità di capacità di throughput assegnata comprende quote distinte per le operazioni di lettura, scrittura e le query globali. Per inviare più richieste alla tua istanza, devi aumentare il numero di unità assegnate.
Il numero di richieste di una determinata classe viene conteggiato utilizzando una finestra mobile su un intervallo di un secondo.
Il numero attuale di operazioni di lettura, scrittura e query globali per unità di capacità di throughput assegnata è descritto nella sezione “Scalabilità della capacità di throughput assegnata”
Classi di richiesta
Le diverse classi di richiesta sono le seguenti:
| Classe di richiesta | Descrizione | Esempi / Note |
|---|---|---|
| Letture | Operazioni che recuperano dati dal database. | |
| Scritture | Operazioni che creano, aggiornano o eliminano documenti. |
|
| Query globali | Query che accedono agli indici globali (non specifici di una partizione). |
Il numero di operazioni di lettura e scrittura eseguite dalle query a livello di partizione, dalle letture in blocco di documenti e dalle scritture in blocco di documenti varia a seconda del numero di documenti elaborati.
Per qualsiasi richiesta relativa a HTTP inviata all'indirizzo IBM Cloudant, è possibile consultare la X-Cloudant-Request-Class
intestazione di risposta per visualizzare la classe della richiesta.
Capacità di throughput assegnata e 429 risposte " HTTP "
Quando l'applicazione supera il numero di richieste consentito in base al numero di unità di throughput assegnate all'istanza, IBM Cloudant respinge le richieste.
L'utilizzo delle richieste viene misurato per classe di richiesta in una finestra mobile di 1 secondo. Ogni classe di richiesta viene misurata separatamente. Ad esempio, se si supera il limite globale di query, le operazioni di scrittura e lettura possono comunque proseguire. Una volta che l'applicazione avrà ridotto il numero di richieste inviate, le nuove richieste saranno consentite entro pochi secondi.
Quando una richiesta viene respinta, l'applicazione riceve una risposta di tipo " HTTP 429 Troppe richieste " con una descrizione
dell'errore.
Se la tua applicazione riceve regolarmente risposte di tipo " 429 ", valuta la possibilità di aumentare il numero di unità di capacità di throughput assegnate alla tua istanza.
IBM Cloudant fornisce metriche relative al numero di risposte " 429 " della tua istanza in IBM Cloud Monitoring. IBM Cloudant consiglia di configurare degli
avvisi per assicurarsi di ricevere una notifica quando l'applicazione riceve risposte " 429 " in modo prolungato.
Supporto per 429 nelle librerie client
IBM CloudantLe librerie client supportate consentono di gestire una risposta di tipo " 429 ". Consultare la documentazione di ciascuna libreria per conoscere
il comportamento adottato in caso di ricezione di risposte di tipo “ 429 ”.
Per impostazione predefinita, le librerie client supportate non riprovano automaticamente a inviare una richiesta quando ricevono una risposta di tipo " 429 ".
Se stai effettuando il porting di un'applicazione esistente, è possibile che questa non sia in grado di gestire una risposta di tipo " 429 ". Come parte della verifica della migrazione, controlla che la tua applicazione
gestisca la risposta 429 correttamente.
Consumo di operazioni di lettura da parte delle query con ambito di partizione
Le query con ambito di partizione utilizzano la capacità di throughput assegnata in modo diverso rispetto alle query globali. Leggi questa sezione per capire come fare.
Mentre le query globali comportano una singola operazione tramite la classe di richiesta delle query globali, le richieste a livello di partizione utilizzano un numero variabile di operazioni di lettura. Il numero di richieste di lettura elaborate dipende dai risultati restituiti.
Ci sono due fattori che influiscono sulle operazioni di lettura:
- Il numero di righe lette dall'indice coinvolto nella query.
- Il numero di documenti letti dal database, se presenti, durante l'esecuzione della query.
Per tutte le query sulle partizioni è previsto un costo minimo pari a 1 lettura.
Visualizza le query, le ricerche e _all_docs
Questa sezione descrive i seguenti endpoint a livello di partizione:
Per questo tipo di query, è più facile calcolare il consumo di lettura. Questo perché sei tu a decidere se i documenti vengono letti dal database utilizzando il
include_docs parametro di query. Le richieste che non includono documenti nelle loro risposte comportano un minor numero di operazioni di lettura.
- La lettura di un massimo di 100 righe dall'indice richiede 1 operazione di lettura.
- Se si utilizza l'
include_docs=true, la lettura di un documento dal database comporta un'operazione di lettura.
Per questo tipo di query, il numero di righe lette dall'indice corrisponde al numero di risultati restituiti.
Nella tabella seguente sono riportati alcuni esempi di costi:
| Numero di risultati | Includi documenti | Consumo lettura totale | Consumo per righe lette | Consumo per documenti letti |
|---|---|---|---|---|
| 25 | No | ERROR! SEGMENT DATA CORRUPTED, SEGDATA=1 | 1 | 0 |
| 25 | Sì | 26 | 1 | 25 |
| 1500 | No | 15 | 15 | 0 |
| 1500 | Sì | 1515 | 15 | 1500 |
La riduzione dell'uso di include_docs=true è la chiave per ridurre il consumo di lettura per le query _all_docs, di visualizzazione e di ricerca partizionate.
IBM Cloudant Query
Questa sezione descrive i seguenti endpoint a livello di partizione:
- Cloudant Query (
_find)
Per calcolare il consumo di lettura per IBM Cloudant Per rispondere a questa domanda, dobbiamo innanzitutto capire che ogni IBM Cloudant La richiesta di interrogazione viene elaborata in due fasi:
- Selezionare un indice adeguato da utilizzare per la richiesta in base ai campi presenti nel selettore. Leggi l'indice per ottenere una serie di documenti che potrebbero corrispondere al selettore.
- Leggi ciascuno dei documenti di questa serie ed esegui un secondo confronto con il selettore. Eliminare i documenti che non corrispondono al selettore. Restituire il resto al cliente.
Il costo viene calcolato come segue:
- La lettura di un massimo di 100 righe dall'indice nella fase 1 richiede 1 operazione di lettura.
- Indipendentemente dal fatto che venga restituito nel set di risultati, ogni documento letto durante la fase 2 comporta un’operazione di lettura.
| Numero di risultati | Numero di righe restituite dall'indice | Consumo lettura totale | Consumo per righe lette | Consumo per documenti letti |
|---|---|---|---|---|
| 5 | 250 | 253 | 3 | 250 |
| 250 | 250 | 253 | 3 | 250 |
Per un utilizzo efficiente in termini di costi delle query IBM Cloudant con ambito di partizione, è necessario assicurarsi di creare indici che riducano il numero di documenti letti per una query. L'endpoint _explain per le query con ambito di partizione fornisce piani di esecuzione dettagliati per aiutarti in questa operazione.
Consumo di operazioni di lettura e scrittura dovuto alla replica
La replica tra due database utilizza la capacità di lettura del database di origine e quella di scrittura del database di destinazione. Il replicatore tiene conto dei limiti di velocità
specificati in IBM Cloudant e applica una logica di riprova scaglionata quando riceve risposte del tipo " 429 " (Richiesta non soddisfatta) associate al raggiungimento dei limiti di capacità di throughput previsti per
l'istanza.
È possibile utilizzare i parametri predefiniti e replicare un database con un elevato arretrato di documenti. In tal caso, un singolo processo di replica comporta fino a 2500-3000 operazioni di lettura al secondo sul database di origine e alcune operazioni di scrittura al secondo sul database di destinazione.
È possibile ridurre il consumo approssimativo in termini di lettura e scrittura di un processo di replica regolando le opzioni relative alle prestazioni associate all'ottimizzazione della velocità di replica. La tabella seguente illustra le opzioni consigliate per gli utenti che desiderano ridurre la capacità di lettura utilizzata nel database di origine:
http_connections |
worker_processes |
Numero approssimativo massimo di letture al secondo nel database di origine |
|---|---|---|
| 2 | 1 | 200 |
| 6 | 2 | 1000 |
| 12 | 3 | 2000 |
| 20 | 4 | 3000 (Questo valore è quello predefinito.) |
Scalabilità della capacità di throughput assegnata
Se stai sviluppando un'applicazione con IBM Cloudant e se non siete sicuri di quale capacità vi servirà, iniziate con la velocità di trasmissione più bassa prevista. È possibile aumentare la capacità man mano che l'applicazione cresce. Il prezzo viene calcolato su base oraria proporzionale e non si verificano tempi di inattività durante il ridimensionamento, il che significa che è possibile modificare la capacità di throughput assegnata con la frequenza necessaria.
La capacità di throughput assegnata viene regolata in unità di:
- Si legge: 100/sec
- Scrive: 50/sec
- Richieste globali: 5/sec
Le operazioni di lettura, scrittura e le query globali scalano insieme, non in modo indipendente. Scegli la capacità in base al tuo fabbisogno massimo. Ad esempio, se la tua applicazione richiede 1.000 letture, 5 scritture e 1 query globale al secondo, devi selezionare il numero di blocchi in grado di fornire 1.000 letture al secondo.
È possibile scalare la capacità fino a 100 blocchi utilizzando la dashboard o l'API di IBM Cloud. Questa capacità corrisponde a 10.000 letture al secondo, 5.000 scritture al secondo e 500 query globali al secondo. Se hai bisogno di maggiore
capacità, consulta la scheda “ Need additional capacity? ” nella pagina “Capacità”.
Ridimensionamento tramite la dashboard " IBM Cloud "
È possibile modificare la capacità seguendo queste istruzioni.
-
Accedi alla dashboard di IBM Cloud.
-
Vai alla pagina "Dettagli del servizio" relativa all'istanza.
-
Fare clic su Gestisci > Capacità per visualizzare la capacità attuale e quella prevista.
Capacità -
Per modificare la capacità desiderata, spostare il cursore della capacità sull'impostazione desiderata.
-
Fai clic su " Aggiorna al piano standard ".
-
Seleziona il piano tariffario che preferisci e clicca su “Salva ”.
-
Seleziona il tipo di conto che stai cercando cliccando su " Vai".
Il segno di spunta diventa giallo e visualizza la scritta “
Updating Capacity” finché non viene raggiunta la capacità desiderata. Le modifiche alla capacità avvengono in modo asincrono. Il tempo necessario per sincronizzare tali modifiche dipende dall'entità della variazione di capacità richiesta e dai dati memorizzati nell'istanza.
Scalabilità tramite l'API
Per utilizzare l'API al fine di visualizzare la capacità di throughput attualmente assegnata o modificare la capacità di throughput target assegnata a un'istanza di IBM Cloudant, consultare la documentazione relativa all'API Capacity.
Monitoraggio dell'utilizzo
Le informazioni sul tuo utilizzo di capacità produttiva fornita sono disponibili nella scheda Monitoring del dashboard IBM Cloudant. La scheda " Operazioni correnti " mostra il consumo recente della capacità di throughput assegnata, indicando il numero di richieste suddivise per letture, scritture e query globali. La linea tratteggiata rappresenta la capacità massima consentita in base alla capacità di throughput assegnata all'istanza.
Scheda " Operazioni in corso "
-
Mostra il consumo recente della capacità di throughput assegnata.
-
Mostra il numero di richieste suddivise per letture, scritture e query globali.
-
La capacità di picco consentita in base alla capacità di throughput assegnata all'istanza è indicata da una linea tratteggiata nella seguente schermata.
Scheda " Richieste rifiutate "
-
Mostra il numero di richieste respinte in un determinato secondo.
-
Mostra il messaggio di errore 429: troppe richieste.
-
Le richieste vengono rifiutate perché superano la capacità di throughput assegnata all'istanza. I grafici sono suddivisi per operazioni di lettura, scrittura e query globali.
Il monitoraggio ti aiuta a riconoscere se una modifica al provisioning nel tuo piano potrebbe essere consigliabile. Ad esempio, se ti avvicini spesso al numero massimo di letture del database, puoi modificare la capacità per l'istanza tramite l'IU di capacità.
Visualizzazione dei dati storici relativi all'utilizzo e agli addebiti
È possibile visualizzare le fatture relative ai consumi attuali e storici nella dashboard di IBM Cloud, alla voce Gestisci > Fatturazione e consumi > Consumi. Questa schermata mostra i totali relativi all'utilizzo accumulati nel corso di un determinato mese a livello di servizio, piano o istanza. Il totale stimato riflette la fatturazione fino a questo momento per il mese o per i mesi completi passati. Mostra solo i costi orari maturati fino a quel momento nel mese in corso.