Versioni del motore - 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à.

Versioni del motore

Questa sezione copre le versioni dei OSS motori Valkey e Redis supportate.

MemoryDB versione 7.2.6

L'8 ottobre 2024, Valkey 7.2.6 è stato rilasciato. Valkey 7.2.6 presenta differenze di compatibilità simili con le versioni precedenti di Redis 7.2.5. OSS Ecco le principali differenze tra Valkey e Redis 7.0 e 7.1: OSS

  • Nuova opzione WITHSCORE e comandi ZRANK ZREVRANK

  • CLIENTNO: consente TOUCH ai client di eseguire comandi senza influire suLRU/LFUdelle chiavi.

  • Nuovo comando CLUSTER MYSHARDID che restituisce lo Shard ID del nodo per raggruppare logicamente i nodi in modalità cluster in base alla replica.

  • Ottimizzazioni delle prestazioni e della memoria per vari tipi di dati.

Ecco le modifiche comportamentali potenzialmente irreversibili tra Valkey 7.2 e Redis OSS 7.1 (o 7.0):

  • Quando si chiama PUBLISH un RESP3 cliente che è anche iscritto allo stesso canale, l'ordine viene modificato e la risposta viene inviata prima del messaggio pubblicato.

  • Il tracciamento degli script lato client ora tiene traccia delle chiavi lette dallo script, anziché delle chiavi dichiarate dal chiamante di/. EVAL FCALL

  • Il freeze time sampling avviene durante l'esecuzione dei comandi e negli script.

  • Quando un comando bloccato viene sbloccato, controlli comeACL, e altri vengono OOM rivalutati.

  • ACLil testo del messaggio di errore e i codici di errore sono unificati.

  • Un comando stream bloccato rilasciato quando la chiave non esiste più contiene un codice di errore diverso (- NOGROUP o - WRONGTYPE anziché -UNBLOCKED).

  • Le statistiche del comando vengono aggiornate per i comandi bloccati solo quando il comando viene effettivamente eseguito.

  • L'archiviazione interna degli ACL utenti non rimuove più le regole ridondanti di comando e categoria. Ciò può modificare il modo in cui tali regole vengono visualizzate come parte di ACLSAVE, ACL GETUSER e. ACL LIST

  • Tutte le connessioni client create per l'utilizzo in modalità di replica TLS basata, SNI se possibile.

  • XINFOSTREAM: Il campo di risposta in tempo di visualizzazione ora indica l'ultimo tentativo di interazione anziché l'ultima interazione riuscita. Il nuovo campo di risposta in tempo attivo ora indica l'ultima interazione riuscita.

  • XREADGROUPe X [AUTO] CLAIM creano il consumatore indipendentemente dal fatto che sia stato in grado di eseguire alcune letture/affermazioni. [TBD- qual è il «problema» qui?]

  • ACLl'utente predefinito appena creato imposta il flag sanitize-payload in/. ACL LIST GETUSER

  • Il HELLO comando non influisce sullo stato del client a meno che non abbia esito positivo.

  • NANle risposte sono normalizzate in un singolo tipo nan, in modo simile al comportamento corrente di inf.

Per ulteriori informazioni su Valkey, vedere Valkey

Per ulteriori informazioni sulla versione Valkey 7.2, consulta le note di rilascio di Redis OSS 7.2.4 (Valkey 7.2 include tutte le modifiche rispetto a Redis OSS fino alla versione 7.2.4) e le note di rilascio di Valkey 7.2 su Valkey su. GitHub

MemoryDB versione 7.1 (migliorata)

La versione 7.1 di MemoryDB aggiunge il supporto per le funzionalità di ricerca vettoriale in tutte le regioni, oltre a correzioni di bug critici e miglioramenti delle prestazioni.

Nota

MemoryDB versione 7.0 (migliorata)

MemoryDB 7.0 aggiunge una serie di miglioramenti e supporto per nuove funzionalità:

  • Funzioni: MemoryDB 7 aggiunge il supporto per Functions e fornisce un'esperienza gestita che consente agli sviluppatori di eseguire LUAscript con logica applicativa archiviata nel cluster MemoryDB, senza richiedere ai client di inviare nuovamente gli script al server ad ogni connessione.

  • ACLmiglioramenti: MemoryDB 7 aggiunge il supporto per la prossima versione di Access Control Lists (). ACLs Con MemoryDB OSS Valkey 7 o Redis OSS 7, i client possono ora specificare più set di autorizzazioni su chiavi o spazi chiave specifici.

  • Sharded Pub/Sub: MemoryDB 7 aggiunge il supporto per eseguire Pub/Sub functionality in a sharded way when running MemoryDB in Cluster Mode Enabled (CME). Pub/Sub funzionalità che consentono agli editori di inviare messaggi a qualsiasi numero di abbonati su un canale. Con Amazon MemoryDB, Valkey 7 e Redis OSS 7 i canali sono associati a uno shard nel cluster MemoryDB, eliminando la necessità di propagare le informazioni del canale tra gli shard. Ciò si traduce in una migliore scalabilità.

  • Multiplexing I/O migliorato: MemoryDB Valkey 7 e Redis OSS versione 7 introducono il multiplexing I/O avanzato, che offre un throughput maggiore e una latenza ridotta per carichi di lavoro ad alto throughput con molte connessioni client simultanee a un cluster MemoryDB. Ad esempio, quando si utilizza un cluster di nodi r6g.4xlarge e si eseguono 5200 client simultanei, è possibile ottenere un aumento del throughput fino al 46% (operazioni di lettura e scrittura al secondo) e una riduzione della latenza P99 fino al 21%, rispetto alla versione 6 di MemoryDB.

Per ulteriori informazioni su Valkey, vedere Valkey

Per ulteriori informazioni sulla versione Valkey 7.2, consulta le note di rilascio di Redis OSS 7.2.4 (Valkey 7.2 include tutte le modifiche rispetto a Redis OSS fino alla versione 7.2.4) e le note di rilascio di Valkey 7.2 su Valkey su. GitHub

MemoryDB con Redis versione 6.2 (migliorata) OSS

MemoryDB introduce la prossima versione del OSS motore Redis, che include Autenticazione degli utenti con gli elenchi di controllo degli accessi () ACLs il supporto per l'aggiornamento automatico della versione, la memorizzazione nella cache lato client e significativi miglioramenti operativi.

La versione 6.2.6 del motore Redis introduce anche il supporto per il formato nativo JavaScript Object Notation (JSON), un modo semplice e senza schemi per codificare set di dati complessi all'interno dei cluster Redis. OSS Con il JSON supporto, puoi sfruttare le prestazioni e Redis per le applicazioni che operano su. OSS APIs JSON Per ulteriori informazioni, consulta Guida introduttiva con JSON. È inclusa anche una metrica JSON relativa JsonBasedCmds che viene incorporata CloudWatch per monitorare l'utilizzo di questo tipo di dati. Per ulteriori informazioni, consulta Metriche per MemoryDB.

Con Redis OSS 6, MemoryDB offrirà un'unica versione per ogni versione OSS secondaria di Redis, anziché offrire più versioni di patch. Questo è progettato per ridurre al minimo la confusione e l'ambiguità derivanti dalla necessità di scegliere tra più versioni minori. MemoryDB gestirà inoltre automaticamente la versione secondaria e la versione patch dei cluster in esecuzione, garantendo prestazioni migliori e maggiore sicurezza. Ciò verrà gestito tramite canali standard di notifica ai clienti tramite una campagna di aggiornamento del servizio. Per ulteriori informazioni, consulta Aggiornamenti del servizio in MemoryDB.

Se non specificate la versione del motore durante la creazione, MemoryDB selezionerà automaticamente la versione Redis preferita. OSS D'altra parte, se si specifica la versione del motore utilizzando6.2, MemoryDB richiamerà automaticamente la versione patch preferita di Redis 6.2 disponibile. OSS

Ad esempio, quando si crea un cluster, si imposta il parametro su. --engine-version 6.2 Il cluster verrà avviato con la versione di patch preferita attualmente disponibile al momento della creazione. Qualsiasi richiesta con un valore di versione completa del motore verrà rifiutata, verrà generata un'eccezione e il processo avrà esito negativo.

Quando si chiama DescribeEngineVersionsAPI, il valore del EngineVersion parametro verrà impostato su 6.2 e la versione completa effettiva del motore verrà restituita nel EnginePatchVersion campo.

Per ulteriori informazioni sulla versione Redis OSS 6.2, consulta le note di rilascio di Redis 6.2 su Redis on. OSS GitHub

Aggiornamento delle versioni del motore

Per impostazione predefinita, MemoryDB gestisce automaticamente la versione patch dei cluster in esecuzione tramite gli aggiornamenti del servizio. Puoi inoltre disattivare l'aggiornamento automatico della versione secondaria se imposti la AutoMinorVersionUpgrade proprietà dei tuoi cluster su false. Tuttavia, non è possibile disattivare l'aggiornamento automatico della versione della patch.

È possibile controllare se e quando il software conforme al protocollo che alimenta il cluster viene aggiornato alle nuove versioni supportate da MemoryDB prima dell'avvio dell'aggiornamento automatico. Questo livello di controllo ti consente di mantenere la compatibilità con versioni specifiche, testare le nuove versioni con l'applicazione prima di distribuirle in produzione e aggiornare le versioni alle tue condizioni e secondo le tue scadenze.

È inoltre possibile eseguire l'aggiornamento da un motore MemoryDB esistente con Redis a un motore Valkey. OSS

È possibile avviare gli aggiornamenti della versione del motore del cluster nei seguenti modi:

Tieni presente quanto segue:

  • Puoi eseguire l'aggiornamento a una versione del motore più recente; non è consentito, invece, il downgrade a versioni precedenti. Se vuoi utilizzare una versione del motore precedente, elimina il cluster esistente e crealo di nuovo con la versione del motore precedente.

  • È preferibile eseguire periodicamente l'aggiornamento all'ultima versione principale, siccome la maggior parte dei miglioramenti principali non viene ripristinata alle versioni precedenti. Man mano che MemoryDB espande la disponibilità in una nuova AWS regione, MemoryDB supporta le due MAJOR.MINOR versioni più recenti in quel momento per la nuova regione. Ad esempio, se viene avviata una nuova AWS regione e le ultime versioni di MemoryDB sono 7.0 e 6.2, MAJOR.MINOR MemoryDB supporterà le versioni 7.0 e 6.2 nella nuova regione. AWS Man mano che verranno MAJOR.MINOR rilasciate versioni più recenti di MemoryDB, MemoryDB continuerà ad aggiungere il supporto per le versioni di MemoryDB appena rilasciate. Per ulteriori informazioni sulla scelta delle regioni per MemoryDB, consulta. Regioni ed endpoint supportati

  • La gestione della versione del motore è progettata in modo da avere il maggior controllo possibile sulle modalità di applicazione delle patch. Tuttavia, MemoryDB si riserva il diritto di applicare patch al cluster per conto dell'utente nell'improbabile eventualità che si verifichi una vulnerabilità critica di sicurezza nel sistema o nel software.

  • MemoryDB offrirà un'unica versione per ogni versione OSS secondaria di Valkey o Redis, anziché offrire più versioni di patch. Questo è progettato per ridurre al minimo la confusione e l'ambiguità derivanti dalla necessità di scegliere tra più versioni. MemoryDB gestirà inoltre automaticamente la versione secondaria e la versione patch dei cluster in esecuzione, garantendo prestazioni migliori e maggiore sicurezza. Ciò verrà gestito tramite canali standard di notifica ai clienti tramite una campagna di aggiornamento del servizio. Per ulteriori informazioni, consulta Aggiornamenti del servizio in MemoryDB.

  • È possibile aggiornare la versione del cluster con tempi di inattività minimi. Il cluster è disponibile per la lettura durante l'intero aggiornamento ed è disponibile per la scrittura durante la maggior parte della sua durata, eccetto durante l'operazione di failover che dura alcuni secondi.

  • Ti consigliamo di eseguire gli aggiornamenti del motore durante i periodi di basso traffico di scrittura in entrata.

    I cluster con più shard vengono elaborati e patchati come segue:

    • Viene eseguita una sola operazione di aggiornamento per shard alla volta.

    • In ognle partizioni, tutte le repliche vengono elaborate prima del primario. Se una partizione annovera poche repliche, il suo nodo primario potrebbe giungere alla conclusione dell'elaborazione prima delle repliche negli altrle partizioni.

    • I nodi primari dei varle partizioni vengono elaborati in serie. Viene aggiornato un solo nodo primario alla volta.

Come aggiornare la versione di un motore

È possibile avviare gli aggiornamenti di versione del cluster modificandolo utilizzando la console MemoryDB AWS CLI, o MemoryDB e specificando una versione più recente del motoreAPI. Per ulteriori informazioni, consulta i seguenti argomenti.

Risoluzione OSS degli aggiornamenti bloccati del motore Redis

Come illustrato nella tabella seguente, l'operazione di aggiornamento OSS del motore Redis è bloccata se è in corso un'operazione di scalabilità.

Operazioni in sospeso Operazioni bloccate
Dimensionamento Aggiornamento immediato del motore
Aggiornamento del motore Dimensionamento immediato
Dimensionamento e aggiornamento del motore Dimensionamento immediato
Aggiornamento immediato del motore