Resharding online per MemoryDB - Amazon MemoryDB

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

Resharding online per MemoryDB

Utilizzando il resharding online e con MemoryDB, puoi scalare MemoryDB in modo dinamico senza tempi di inattività. Questo approccio indica che il cluster può continuare a servire le richieste anche durante il dimensionamento o il ribilanciamento.

Puoi eseguire le operazioni indicate di seguito:

  • Scalabilità orizzontale: aumenta la capacità di lettura e scrittura aggiungendo shard al cluster MemoryDB.

    Se aggiungi uno o più shard al cluster, il numero di nodi in ogni nuovo shard è uguale al numero di nodi nel più piccolo degli shard esistenti.

  • Scalabilità: riduci la capacità di lettura e scrittura, e quindi i costi, rimuovendo gli shard dal cluster MemoryDB.

Attualmente, al resharding online di MemoryDB si applicano le seguenti limitazioni:

  • Gli slot, gli spazi chiave e gli elementi grandi prevedono delle limitazioni:

    Se una delle chiavi di uno shard contiene un elemento di grandi dimensioni, tale chiave non viene migrata su un nuovo shard durante la scalabilità orizzontale. Questa caratteristicapuò produrre partizioni non bilanciati.

    Se alcune chiavi in una partizione contengono un elemento grande (di dimensioni superiori a 256 MB dopo la serializzazione), quella partizione non viene eliminato se le dimensioni diminuiscono. Con questa caratteristicaalcunle partizioni potrebbero non essere eliminati.

  • Durante la scalabilità orizzontale, il numero di nodi in ogni nuovo shard è uguale al numero di nodi negli shard esistenti.

Per ulteriori informazioni, consulta Best practice. Dimensionamento di cluster online.

È possibile scalare orizzontalmente i cluster di MemoryDB utilizzando, the e MemoryDB. AWS Management Console AWS CLI API

Aggiunta dele partizioni con il resharding online

È possibile aggiungere shard al cluster MemoryDB utilizzando, o MemoryDB. AWS Management Console AWS CLI API

È possibile utilizzare il AWS Management Console per aggiungere uno o più shard al cluster MemoryDB. Questo processo viene descritto di seguito.

  1. Accedi AWS Management Console e apri la console MemoryDB all'indirizzo. https://console.aws.amazon.com/memorydb/

  2. Dall'elenco dei cluster, scegli il nome del cluster da cui desideri aggiungere uno shard.

  3. Nella scheda Shards and nodes, scegli Aggiungi/Elimina shard

  4. In Nuovo numero di frammenti, inserisci il numero di frammenti che desideri.

  5. Scegliete Conferma per mantenere le modifiche o Annulla per ignorarle.

Il processo seguente descrive come riconfigurare gli shard nel cluster MemoryDB aggiungendo shard utilizzando. AWS CLI

Utilizzare i seguenti parametri con update-cluster.

Parametri
  • --cluster-name: obbligatorio Speciifica su quale cluster (cluster) deve essere eseguita l'operazione di riconfigurazione degli shard.

  • --shard-configuration: obbligatorio Consente di impostare il numero di shard.

    • ShardCount— Impostate questa proprietà per specificare il numero di frammenti desiderati.

L'esempio seguente modifica il numero di shard nel cluster my-cluster portandolo a 2.

Per Linux, macOS o Unix:

aws memorydb update-cluster \ --cluster-name my-cluster \ --shard-configuration \ ShardCount=2

Per Windows:

aws memorydb update-cluster ^ --cluster-name my-cluster ^ --shard-configuration ^ ShardCount=2

Restituisce la seguente risposta: JSON

{ "Cluster": { "Name": "my-cluster", "Status": "updating", "NumberOfShards": 2, "AvailabilityMode": "MultiAZ", "ClusterEndpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN": "arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "DataTiering": "false", "AutoMinorVersionUpgrade": true } }

Per visualizzare i dettagli del cluster aggiornato una volta che il suo stato passa da aggiornamento a disponibile, usa il comando seguente:

Per Linux, macOS o Unix:

aws memorydb describe-clusters \ --cluster-name my-cluster --show-shard-details

Per Windows:

aws memorydb describe-clusters ^ --cluster-name my-cluster --show-shard-details

Restituirà la seguente JSON risposta:

{ "Clusters": [ { "Name": "my-cluster", "Status": "available", "NumberOfShards": 2, "Shards": [ { "Name": "0001", "Status": "available", "Slots": "0-8191", "Nodes": [ { "Name": "my-cluster-0001-001", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } }, { "Name": "my-cluster-0001-002", "Status": "available", "AvailabilityZone": "us-east-1b", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } } ], "NumberOfNodes": 2 }, { "Name": "0002", "Status": "available", "Slots": "8192-16383", "Nodes": [ { "Name": "my-cluster-0002-001", "Status": "available", "AvailabilityZone": "us-east-1b", "CreateTime": "2021-08-22T14:26:18.693000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } }, { "Name": "my-cluster-0002-002", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-22T14:26:18.765000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } } ], "NumberOfNodes": 2 } ], "ClusterEndpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN": "arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "ACLName": "my-acl", "DataTiering": "false", "AutoMinorVersionUpgrade": true } ] }

Per ulteriori informazioni, vedere update-cluster nel AWS CLI Command Reference.

È possibile utilizzare MemoryDB API per riconfigurare gli shard nel cluster MemoryDB online utilizzando l'operazione. UpdateCluster

Utilizzare i seguenti parametri con UpdateCluster.

Parametri
  • ClusterName: obbligatorio Speciifica su quale cluster deve essere eseguita l'operazione di riconfigurazione degli shard.

  • ShardConfiguration: obbligatorio Consente di impostare il numero di shard.

    • ShardCount— Impostate questa proprietà per specificare il numero di frammenti desiderati.

Per ulteriori informazioni, vedere UpdateCluster.

Rimozione dele partizioni con il resharding online

È possibile rimuovere gli shard dal cluster MemoryDB utilizzando AWS Management Console AWS CLI, o MemoryDB. API

Il processo seguente descrive come riconfigurare gli shard nel cluster MemoryDB rimuovendo gli shard utilizzando. AWS Management Console

Importante

Prima di rimuovere gli shard dal cluster, MemoryDB si assicura che tutti i dati rientrino negli shard rimanenti. Se i dati sono adatti, gli shard vengono eliminati dal cluster come richiesto. Se i dati non rientrano negli shard rimanenti, il processo viene terminato e al cluster viene lasciata la stessa configurazione degli shard di prima della richiesta.

È possibile utilizzare il AWS Management Console per rimuovere uno o più shard dal cluster MemoryDB. Non è possibile rimuovere tutti gli shard in un cluster. È invece necessario eliminare il cluster. Per ulteriori informazioni, consulta Passaggio 5: Eliminazione di un cluster. La procedura seguente descrive il processo di rimozione di uno o più shard.

  1. Accedi AWS Management Console e apri la console MemoryDB all'indirizzo. https://console.aws.amazon.com/memorydb/

  2. Dall'elenco dei cluster, scegli il nome del cluster da cui desideri rimuovere uno shard.

  3. Nella scheda Shards and nodes, scegli Aggiungi/Elimina shard

  4. In Nuovo numero di frammenti, inserisci il numero di frammenti che desideri (con un minimo di 1).

  5. Scegliete Conferma per mantenere le modifiche o Annulla per ignorarle.

Il processo seguente descrive come riconfigurare gli shard nel cluster MemoryDB rimuovendo gli shard utilizzando. AWS CLI

Importante

Prima di rimuovere gli shard dal cluster, MemoryDB si assicura che tutti i dati rientrino negli shard rimanenti. Se i dati sono adatti, gli shard vengono eliminati dal cluster come richiesto e i relativi keyspace mappati negli shard rimanenti. Se i dati non rientrano negli shard rimanenti, il processo viene terminato e al cluster viene lasciata la stessa configurazione degli shard di prima della richiesta.

È possibile utilizzare il AWS CLI per rimuovere uno o più shard dal cluster MemoryDB. Non è possibile rimuovere tutti gli shard in un cluster. È invece necessario eliminare il cluster. Per ulteriori informazioni, consulta Passaggio 5: Eliminazione di un cluster.

Utilizzare i seguenti parametri con update-cluster.

Parametri
  • --cluster-name: obbligatorio Speciifica su quale cluster (cluster) deve essere eseguita l'operazione di riconfigurazione dello shard.

  • --shard-configuration: obbligatorio Consente di impostare il numero di shard utilizzando la proprietà: ShardCount

    ShardCount— Imposta questa proprietà per specificare il numero di frammenti che desideri.

L'esempio seguente modifica il numero di shard nel cluster my-cluster portandolo a 2.

Per Linux, macOS o Unix:

aws memorydb update-cluster \ --cluster-name my-cluster \ --shard-configuration \ ShardCount=2

Per Windows:

aws memorydb update-cluster ^ --cluster-name my-cluster ^ --shard-configuration ^ ShardCount=2

Restituisce la seguente risposta: JSON

{ "Cluster": { "Name": "my-cluster", "Status": "updating", "NumberOfShards": 2, "AvailabilityMode": "MultiAZ", "ClusterEndpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN": "arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "DataTiering": "false", "AutoMinorVersionUpgrade": true } }

Per visualizzare i dettagli del cluster aggiornato una volta che il suo stato passa da aggiornamento a disponibile, usa il comando seguente:

Per Linux, macOS o Unix:

aws memorydb describe-clusters \ --cluster-name my-cluster --show-shard-details

Per Windows:

aws memorydb describe-clusters ^ --cluster-name my-cluster --show-shard-details

Restituirà la seguente JSON risposta:

{ "Clusters": [ { "Name": "my-cluster", "Status": "available", "NumberOfShards": 2, "Shards": [ { "Name": "0001", "Status": "available", "Slots": "0-8191", "Nodes": [ { "Name": "my-cluster-0001-001", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } }, { "Name": "my-cluster-0001-002", "Status": "available", "AvailabilityZone": "us-east-1b", "CreateTime": "2021-08-21T20:22:12.405000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } } ], "NumberOfNodes": 2 }, { "Name": "0002", "Status": "available", "Slots": "8192-16383", "Nodes": [ { "Name": "my-cluster-0002-001", "Status": "available", "AvailabilityZone": "us-east-1b", "CreateTime": "2021-08-22T14:26:18.693000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } }, { "Name": "my-cluster-0002-002", "Status": "available", "AvailabilityZone": "us-east-1a", "CreateTime": "2021-08-22T14:26:18.765000-07:00", "Endpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 } } ], "NumberOfNodes": 2 } ], "ClusterEndpoint": { "Address": "clustercfg.my-cluster.xxxxxx.memorydb.us-east-1.amazonaws.com", "Port": 6379 }, "NodeType": "db.r6g.large", "EngineVersion": "6.2", "EnginePatchVersion": "6.2.6", "ParameterGroupName": "default.memorydb-redis6", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN": "arn:aws:memorydb:us-east-1:xxxxxxexamplearn:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "ACLName": "my-acl", "DataTiering": "false", "AutoMinorVersionUpgrade": true } ] }

Per ulteriori informazioni, vedere update-cluster nel AWS CLI Command Reference.

È possibile utilizzare MemoryDB API per riconfigurare gli shard nel cluster MemoryDB online utilizzando l'operazione. UpdateCluster

Il processo seguente descrive come riconfigurare gli shard nel cluster MemoryDB rimuovendo gli shard utilizzando MemoryDB. API

Importante

Prima di rimuovere gli shard dal cluster, MemoryDB si assicura che tutti i dati rientrino negli shard rimanenti. Se i dati sono adatti, gli shard vengono eliminati dal cluster come richiesto e i relativi keyspace mappati negli shard rimanenti. Se i dati non rientrano negli shard rimanenti, il processo viene terminato e al cluster viene lasciata la stessa configurazione degli shard di prima della richiesta.

È possibile utilizzare MemoryDB API per rimuovere uno o più shard dal cluster MemoryDB. Non è possibile rimuovere tutti gli shard in un cluster. È invece necessario eliminare il cluster. Per ulteriori informazioni, consulta Passaggio 5: Eliminazione di un cluster.

Utilizzare i seguenti parametri con UpdateCluster.

Parametri
  • ClusterName: obbligatorio Speciifica su quale cluster (cluster) deve essere eseguita l'operazione di riconfigurazione dello shard.

  • ShardConfiguration: obbligatorio Consente di impostare il numero di shard utilizzando la proprietà: ShardCount

    ShardCount— Imposta questa proprietà per specificare il numero di frammenti che desideri.