Modalità di capacità di lettura/scrittura in Amazon Keyspaces - Amazon Keyspaces (per Apache Cassandra)

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

Modalità di capacità di lettura/scrittura in Amazon Keyspaces

Amazon Keyspaces offre due modalità di capacità di lettura/scrittura per l'elaborazione di letture e scritture sulle tabelle:

  • Su richiesta (impostazione predefinita)

  • Assegnata

La modalità di capacità di lettura/scrittura scelta controlla il modo in cui ti viene addebitato il throughput di lettura e scrittura e come viene gestita la capacità di throughput delle tabelle.

Modalità di capacità on demand

La modalità di capacità on demand di Amazon Keyspaces (per Apache Cassandra) è un'opzione di fatturazione flessibile in grado di soddisfare migliaia di richieste al secondo senza pianificazione della capacità. Questa opzione offre pay-per-request prezzi per le richieste di lettura e scrittura in modo da pagare solo per ciò che usi.

Quando scegli la modalità on-demand, Amazon Keyspaces può scalare istantaneamente la capacità di throughput della tabella fino a qualsiasi livello di traffico raggiunto in precedenza, per poi ridurla quando il traffico delle applicazioni diminuisce. Se il livello di traffico di un carico di lavoro raggiunge un nuovo picco, il servizio si adatta rapidamente per aumentare la capacità di throughput della tabella. Puoi abilitare la modalità di capacità su richiesta sia per le tabelle nuove che per quelle esistenti.

La modalità su richiesta è una buona opzione se si verifica una delle seguenti condizioni:

  • Si creano nuove tabelle con carichi di lavoro non noti.

  • Si dispone di un traffico delle applicazioni non prevedibile.

  • Si preferisce la facilità di pagamento per l'utilizzo effettivo.

Per iniziare con la modalità on demand, puoi creare una nuova tabella o aggiornare una tabella esistente per utilizzare la modalità di capacità su richiesta utilizzando la console o con alcune righe di codice Cassandra Query Language (CQL). Per ulteriori informazioni, consulta Tabelle.

Unità di richiesta di lettura e unità di richiesta di scrittura

Con le tabelle in modalità di capacità on demand, non è necessario specificare in anticipo la velocità di lettura e scrittura che si prevede venga utilizzata dall'applicazione. Amazon Keyspaces ti addebita le spese di lettura e scrittura eseguite sulle tabelle in termini di unità di richiesta di lettura (RU) e unità di richiesta di scrittura (WRU).

  • Una RRU rappresenta una richiesta di LOCAL_QUORUM lettura o due richieste di LOCAL_ONE lettura per una riga di dimensioni fino a 4 KB. Se è necessario leggere una riga di dimensioni superiori a 4 KB, l'operazione di lettura utilizza RRU aggiuntive. Il numero totale di RRU richieste dipende dalla dimensione della riga e dal fatto che si desideri utilizzare LOCAL_QUORUM o LOCAL_ONE leggere la coerenza. Ad esempio, la lettura di una riga da 8 KB richiede 2 RRU con coerenza di LOCAL_QUORUM lettura e 1 RRU se si sceglie LOCAL_ONE la coerenza di lettura.

  • Una WRU rappresenta una scrittura per una riga di dimensioni fino a 1 KB. Tutte le scritture utilizzano LOCAL_QUORUM la coerenza e non sono previsti costi aggiuntivi per l'utilizzo di transazioni leggere (LWT). Se è necessario scrivere una riga più grande di 1 KB, l'operazione di scrittura utilizza WRU aggiuntive. Il numero totale di WRU richieste dipende dalla dimensione della riga. Ad esempio, se la dimensione della riga è di 2 KB, sono necessarie 2 WRU per eseguire una richiesta di scrittura.

Per informazioni sui livelli di coerenza supportati, vedereLivelli di coerenza di Apache Cassandra supportati in Amazon Keyspaces.

Proprietà di dimensionamento e picco di traffico

Le tabelle Amazon Keyspaces che utilizzano la modalità di capacità su richiesta si adattano automaticamente al volume di traffico dell'applicazione. La modalità di capacità on demand adatta automaticamente fino al doppio del precedente picco di traffico su una tabella. Ad esempio, lo schema di traffico dell'applicazione potrebbe variare tra 5.000 e 10.000 LOCAL_QUORUM letture al secondo, dove 10.000 letture al secondo era il picco di traffico precedente.

Con questo modello, la modalità di capacità su richiesta supporta istantaneamente un traffico sostenuto fino a 20.000 letture al secondo. Se l'applicazione registra un traffico di 20.000 letture al secondo, tale picco diventa il nuovo picco precedente, che consente al traffico successivo di raggiungere fino a 40.000 letture al secondo.

Se hai bisogno di più del doppio del picco precedente su una tabella, Amazon Keyspaces alloca automaticamente più capacità all'aumentare del volume di traffico. Questo aiuta a garantire che la tabella abbia una capacità di throughput sufficiente per elaborare le richieste aggiuntive. Tuttavia, è possibile che si verifichino errori di capacità di throughput insufficiente se si supera il doppio del picco precedente entro 30 minuti.

Ad esempio, supponete che lo schema di traffico dell'applicazione vari tra 5.000 e 10.000 letture al secondo con elevata coerenza, dove 20.000 letture al secondo rappresentavano il picco di traffico raggiunto in precedenza. In questo caso, il servizio consiglia di distanziare la crescita del traffico su almeno 30 minuti prima di aumentare fino a 40.000 letture al secondo.

Per informazioni su come stimare il consumo di capacità di lettura e scrittura di una tabella, consulta. Come stimare il consumo di capacità in Amazon Keyspaces

Per ulteriori informazioni sulle quote predefinite per il tuo account e su come aumentarle, consultaQuote per Amazon Keyspaces (per Apache Cassandra).

Velocità di trasmissione effettiva iniziale per la modalità di capacità on demand

Se crei una nuova tabella con la modalità di capacità su richiesta abilitata o passi una tabella esistente alla modalità di capacità su richiesta per la prima volta, la tabella presenta le seguenti impostazioni di picco precedenti, anche se in precedenza non serviva traffico utilizzando la modalità di capacità su richiesta:

  • Tabella appena creata con modalità di capacità su richiesta: il picco precedente era di 2.000 WRU e 6.000 RRU. Puoi guidare immediatamente fino al doppio del picco precedente. In questo modo, le tabelle on-demand appena create possono servire fino a 4.000 WRU e 12.000 RRU.

  • Tabella esistente passata alla modalità di capacità su richiesta: il picco precedente era la metà delle WCU e RCU precedenti fornite per la tabella o delle impostazioni per una tabella appena creata con modalità di capacità su richiesta, a seconda di quale sia la più alta.

Modalità di capacità di throughput fornita

Se si sceglie la modalità di capacità di throughput assegnata, si specifica il numero di letture e scritture al secondo necessarie per l'applicazione. Questo ti aiuta a gestire l'utilizzo di Amazon Keyspaces in modo da rimanere pari o inferiore a un tasso di richiesta definito per ottimizzare il prezzo e mantenere la prevedibilità. Per ulteriori informazioni sulla scalabilità automatica per il throughput assegnato, consulta. Gestisci automaticamente la capacità di throughput con la scalabilità automatica di Amazon Keyspaces

La modalità Provisioned Throughput Capacity è una buona opzione se si verifica una delle seguenti condizioni:

  • Si dispone di un traffico delle applicazioni prevedibile.

  • Si eseguono applicazioni il cui traffico è costante o aumenta gradualmente.

  • È possibile prevedere i requisiti di capacità per ottimizzare i prezzi.

Unità di capacità in lettura e unità di capacità in scrittura

Per le tabelle delle modalità di capacità di throughput assegnate, è necessario specificare la capacità di throughput in termini di unità di capacità di lettura (RCU) e unità di capacità di scrittura (WCU):

  • Una RCU rappresenta una LOCAL_QUORUM lettura al secondo, o due LOCAL_ONE letture al secondo, per una riga di dimensioni fino a 4 KB. Se è necessario leggere una riga di dimensioni superiori a 4 KB, l'operazione di lettura utilizza RCU aggiuntive.

    Il numero totale di RCU richiesti dipende dalla dimensione della riga e dal tipo di unità desiderata LOCAL_QUORUM o LOCAL_ONE di lettura. Ad esempio, se la dimensione della riga è di 8 KB, sono necessarie 2 RCU per supportare una LOCAL_QUORUM lettura al secondo e 1 RCU se si sceglie la modalità di lettura. LOCAL_ONE

  • Una WCU rappresenta una scrittura al secondo per una riga di dimensioni fino a 1 KB. Tutte le scritture utilizzano LOCAL_QUORUM la coerenza e non sono previsti costi aggiuntivi per l'utilizzo di transazioni leggere (LWT). Se è necessario scrivere una riga più grande di 1 KB, l'operazione di scrittura utilizza WCU aggiuntive.

    Il numero totale di WCU richieste dipende dalla dimensione della riga. Ad esempio, se la dimensione della riga è di 2 KB, sono necessarie 2 WCU per supportare una richiesta di scrittura al secondo. Per ulteriori informazioni su come stimare il consumo di capacità di lettura e scrittura di una tabella, vedere. Come stimare il consumo di capacità in Amazon Keyspaces

Se l'applicazione legge o scrive righe più grandi (fino alla dimensione massima delle righe di Amazon Keyspaces di 1 MB), consuma più unità di capacità. Per ulteriori informazioni su come stimare la dimensione delle righe, consulta. Calcolo della dimensione delle righe in Amazon Keyspaces Ad esempio, supponiamo di creare una tabella con provisioning con 6 RCU e 6 WCU. Con queste impostazioni, la tua applicazione può eseguire le seguenti operazioni:

  • Esegue LOCAL_QUORUM letture fino a 24 KB al secondo (4 KB × 6 RCU).

  • Esegui LOCAL_ONE letture fino a 48 KB al secondo (il doppio della velocità di lettura).

  • Scrivi fino a 6 KB al secondo (1 KB × 6 WCU).

Il throughput assegnato è la quantità massima di capacità di throughput che un'applicazione può consumare da una tabella. Se l'applicazione supera la capacità di throughput assegnata, è possibile che si verifichino errori di capacità insufficiente.

Ad esempio, una richiesta di lettura che non ha una capacità di throughput sufficiente ha esito negativo con un'Read_Timeouteccezione e viene registrata nella metrica. ReadThrottleEvents Una richiesta di scrittura che non ha una capacità di throughput sufficiente ha esito negativo con un'Write_Timeouteccezione e viene registrata nella metrica. WriteThrottleEvents

Puoi utilizzare Amazon CloudWatch per monitorare le metriche di throughput fornite ed effettive e gli eventi di capacità insufficiente. Per ulteriori informazioni su questi parametri, consulta Metriche e dimensioni di Amazon Keyspaces.

Nota

Errori ripetuti dovuti a una capacità insufficiente possono portare a eccezioni specifiche dei driver lato client, ad esempio il DataStax driver Java non funziona con un. NoHostAvailableException

Per modificare le impostazioni della capacità di throughput per le tabelle, è possibile utilizzare l'istruzione AWS Management Console o l'ALTER TABLEistruzione using CQL. Per ulteriori informazioni, vedere. ALTER TABLE

Per ulteriori informazioni sulle quote predefinite per il tuo account e su come aumentarle, consulta. Quote per Amazon Keyspaces (per Apache Cassandra)

Gestione e visualizzazione delle modalità di capacità

Puoi interrogare la tabella di sistema nello spazio delle chiavi di sistema Amazon Keyspaces per esaminare le informazioni sulla modalità di capacità relative a una tabella. Puoi anche verificare se una tabella utilizza la modalità di capacità di throughput su richiesta o fornita. Se la tabella è configurata con la modalità di capacità di throughput assegnata, è possibile visualizzare la capacità di throughput fornita per la tabella.

Esempio

SELECT * from system_schema_mcs.tables where keyspace_name = 'mykeyspace' and table_name = 'mytable';

Una tabella configurata con la modalità di capacità su richiesta restituisce quanto segue.

{ 'capacity_mode': { 'last_update_to_pay_per_request_timestamp': '1579551547603', 'throughput_mode': 'PAY_PER_REQUEST' } }

Una tabella configurata con la modalità di capacità di throughput assegnata restituisce quanto segue.

{ 'capacity_mode': { 'last_update_to_pay_per_request_timestamp': '1579048006000', 'read_capacity_units': '5000', 'throughput_mode': 'PROVISIONED', 'write_capacity_units': '6000' } }

Il last_update_to_pay_per_request_timestamp valore viene misurato in millisecondi.

Per modificare la capacità di throughput assegnata per una tabella, utilizzare. ALTER TABLE

Considerazioni relative alla modifica delle modalità di capacità

Quando passi una tabella dalla modalità di capacità fornita alla modalità di capacità su richiesta, Amazon Keyspaces apporta diverse modifiche alla struttura della tabella e delle partizioni. Questo processo può richiedere alcuni minuti. Durante il periodo di passaggio, la tabella offre un throughput coerente con gli importi di WCU e RCU precedentemente forniti.

Quando si passa dalla modalità di capacità su richiesta alla modalità di capacità fornita, la tabella offre un throughput coerente con il picco precedente raggiunto quando la tabella era impostata sulla modalità di capacità su richiesta.

Nota

È possibile cambiare la modalità di capacità dalla modalità di approvvigionamento a quella su richiesta solo una volta nell'arco di 24 ore.