Risharding online e ribilanciamento degli shard 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à.

Risharding online e ribilanciamento degli shard per MemoryDB

Utilizzando il resharding online e il ribilanciamento degli shard 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 alcune chiavi in una partizione contengono un elemento grande, quelle chiavi non possono essere migrate a un nuovo shard durante l'aumento delle dimensioni o il ribilanciamento. 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.

  • Quando si esegue 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 o ribilanciare orizzontalmente i cluster di MemoryDB utilizzando, the e l'API MemoryDB. AWS Management Console AWS CLI

Aggiunta dele partizioni con il resharding online

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

È 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, utilizza 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 risposta JSON:

{ "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 Command Reference. AWS CLI

È possibile utilizzare l'API MemoryDB 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 l'API AWS Management Console AWS CLI, o MemoryDB.

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 Fase 4: Eliminazione di un cluster. La procedura seguente descrive il processo di rimozione di uno o più shard.

  1. Accedere AWS Management Console e aprire 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. Scegli 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 Fase 4: 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, utilizza 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 risposta JSON:

{ "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 Command Reference. AWS CLI

È possibile utilizzare l'API MemoryDB 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 l'API MemoryDB.

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 l'API MemoryDB 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 Fase 4: 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.