Amazon MemoryDB per Redis è un servizio di database in memoria compatibile con Redis, durevole e dalle prestazioni ultra-veloci. È realizzato appositamente per le applicazioni moderne con architetture di microservizi.

Amazon MemoryDB è compatibile con Redis, un datastore open source molto diffuso, e questo consente ai clienti di creare rapidamente applicazioni utilizzando le stesse strutture dati, API e comandi Redis flessibili e intuitivi che attualmente già utilizzano. Con Amazon MemoryDB, tutti i tuoi dati vengono archiviati in memoria, il che ti consente di ottenere una latenza di lettura di microsecondi, una latenza di scrittura di millisecondi a una cifra e un throughput elevato. Inoltre, Amazon MemoryDB archivia i dati in modo duraturo su più zone di disponibilità (AZ) utilizzando un registro transazionale distribuito per abilitare operazioni rapide di failover, ripristino del database e riavvio dei nodi. Offrendo sia prestazioni in memoria che durabilità Multi-AZ, Amazon MemoryDB può essere utilizzato come database primario ad alte prestazioni per le applicazioni di microservizi, eliminando la necessità di gestire separatamente sia una cache che un database durevole.

Compatibilità di Redis

Redis è uno store di dati chiave-valore in memoria rapido e open source. Gli sviluppatori utilizzano Redis per ottenere tempi di risposta inferiori al millisecondo, consentendo milioni di richieste al secondo per applicazioni in tempo reale in settori come giochi, tecnologia pubblicitaria, servizi finanziari, sanità e IoT. Nel 2021, Redis è stato nominato il "database più amato" di Stack Overflow per il quinto anno consecutivo.

Redis offre API, comandi e strutture di dati flessibili come flussi, set ed elenchi, per creare applicazioni agili e versatili. MemoryDB mantiene la compatibilità con Redis open source e supporta lo stesso set di tipi di dati, parametri e comandi Redis a cui sei abituato. Pertanto, il codice, le applicazioni, i driver e gli strumenti che attualmente già utilizzi con Redis possono essere utilizzati con MemoryDB in modo da poter creare rapidamente applicazioni.

Prestazioni ultraveloci

MemoryDB archivia l'intero set di dati in memoria per garantire una latenza di lettura di pochi microsecondi, una latenza di scrittura inferiore a dieci millisecondi e un'elevata velocità di trasmissione effettiva. Può gestire oltre 13 trilioni di richieste al giorno e supporta picchi di 160 milioni di richieste al secondo.

Gli sviluppatori che utilizzano architetture di microservizi richiedono prestazioni estremamente elevate poiché queste applicazioni possono comportare interazioni con molti componenti di servizio per ogni interazione dell'utente o chiamata API. Grazie a MemoryDB puoi garantire una latenza estremamente bassa per offrire prestazioni in tempo reale agli utenti finali.

Amazon MemoryDB per Redis ora include il multiplexing I/O potenziato, che offre miglioramenti significativi alla velocità di trasmissione effettiva e alla latenza su larga scala. Il multiplexing I/O potenziato è ideale per i carichi di lavoro vincolati alla velocità di trasmissione effettiva con più connessioni client e i suoi vantaggi si adattano al livello di simultaneità dei carichi di lavoro. Ad esempio, quando si utilizza il nodo r6g.4xlarge e si eseguono 5.200 client simultanei, è possibile ottenere fino al 46% in più di velocità di trasmissione effettiva (operazioni di lettura e scrittura al secondo) e fino al 21% in meno di latenza P99, rispetto a MemoryDB per Redis 6. Per questi tipi di carichi di lavoro, l'elaborazione I/O di rete di un nodo può diventare un fattore limitante nella capacità di scalabilità. Con il multiplexing I/O potenziato, ogni thread I/O di rete dedicato trasmette i comandi di più client nel motore Redis, sfruttando la capacità di Redis di elaborare in modo efficiente i comandi in batch, come illustrato nel diagramma seguente:

Il multiplexing I/O potenziato è disponibile automaticamente quando si utilizza Redis 7, senza costi aggiuntivi. Non sono necessarie modifiche alla configurazione dell'applicazione o del servizio per utilizzare il multiplexing I/O potenziato di MemoryDB per Redis.

Per ulteriori informazioni, consulta la documentazione.

Durabilità multi-AZ

Oltre ad archiviare l'intero set di dati in memoria, MemoryDB utilizza un log transazionale distribuito per fornire durabilità, coerenza e recuperabilità dei dati. MemoryDB archivia i dati su più zone di disponibilità in modo da poter ottenere un rapido ripristino e riavvio del database. Puoi utilizzare MemoryDB come un unico servizio di database primario per i tuoi carichi di lavoro che richiedono bassa latenza e una velocità di trasmissione effettiva elevata, invece di gestire separatamente una cache per la velocità e un database relazionale o non relazionale aggiuntivo per l'affidabilità.

Scalabilità

Puoi ridimensionare il tuo cluster MemoryDB per soddisfare le variabili esigenze delle applicazioni: orizzontalmente aggiungendo o rimuovendo nodi, o verticalmente passando a tipi di nodi più grandi o più piccoli. MemoryDB supporta il ridimensionamento in scrittura con partizionamento orizzontale e il ridimensionamento in lettura aggiungendo repliche. Il tuo cluster continua a rimanere online e supporta le operazioni di lettura e scrittura durante le operazioni di ridimensionamento.

Completamente gestito

Facile da utilizzare

Iniziare a usare MemoryDB è semplice. Basta semplicemente avviare un nuovo cluster MemoryDB utilizzando la Console di gestione AWS oppure è possibile utilizzare la CLI o l'SDK di AWS. Le istanze database di MemoryDB sono preconfigurate con i parametri e le impostazioni ottimali per il tipo di nodo selezionato. Sarà pertanto possibile avviare un cluster e collegarlo all'applicazione in pochi minuti senza ulteriore configurazione.

Monitoraggio e parametri

MemoryDB fornisce parametri di Amazon CloudWatch per le istanze database. Puoi usare la Console di gestione AWS per visualizzare più di 35 parametri operative essenziali per il cluster, inclusi i parametri relativi a calcolo, memoria, archiviazione, throughput, connessioni attive e molto altro.

Applicazione automatica di patch software

MemoryDB mantiene automaticamente aggiornati i cluster con i nuovi aggiornamenti e consente di eseguire facilmente l’upgrade dei cluster alle ultime versioni di Redis.

Sicurezza

Rete

MemoryDB viene eseguito in Amazon VPC, cosa che consente di isolare il database in una rete virtuale e di collegarsi all'infrastruttura IT on-premise tramite VPN IPsec crittografate standard. Utilizzando la configurazione VPC di MemoryDB, inoltre, è possibile configurare le impostazioni del firewall e controllare l'accesso di rete alle istanze database.

Crittografia

Con MemoryDB, i dati inattivi vengono crittografati utilizzando le chiavi create e controllate tramite AWS Key Management Service (KMS). Inoltre, i cluster creati con i tipi di nodo AWS Graviton2 includono la crittografia DRAM a 256 bit sempre attiva. MemoryDB supporta la crittografia al volo tramite Transport Layer Security (TLS).

Autorizzazioni a livello di API

Grazie alle caratteristiche di AWS Identity and Access Management (IAM) integrate con Amazon MemoryDB, è possibile controllare le operazioni che gli utenti e i gruppi di AWS IAM sono autorizzati ad eseguire sulle risorse di Amazon MemoryDB. Ad esempio, è possibile configurare le regole di IAM in modo che alcuni utenti abbiano solo accesso in lettura e scrittura, mentre gli amministratori potranno creare, modificare ed eliminare le risorse. Per ulteriori informazioni sulle autorizzazioni a livello di API, consulta Utilizzo di policy IAM di AWS per Amazon MemoryDB.

Autenticazione e autorizzazione

MemoryDB utilizza liste di controllo degli accessi (ACL) di Redis per verificare sia l'autenticazione che l'autorizzazione per il tuo cluster. Le liste ACL consentono di definire autorizzazioni differenti per utenti diversi nello stesso cluster.

Integrazione con Kubernetes

AWS Controllers for Kubernetes (ACK) per Amazon MemoryDB consente di definire e utilizzare le risorse MemoryDB direttamente dal cluster Kubernetes. Ciò consente di avvalersi di MemoryDB per supportare le applicazioni Kubernetes senza dover definire risorse MemoryDB al di fuori del cluster o eseguire e gestire le funzionalità del database in memoria all'interno del cluster. È possibile scaricare l'immagine del container MemoryDB ACK da Amazon ECR e fare riferimento alla documentazione per la guida all'installazione. Puoi anche visitare il blog per informazioni più dettagliate.

Nota: ACK per Amazon MemoryDB è ora disponibile a livello generale. Inviaci i tuoi commenti accedendo alla nostra pagina Github.

ACK per Amazon MemoryDB

Supporto JSON

Amazon MemoryDB offre il supporto nativo per i documenti JavaScript Object Notation (JSON) oltre alle strutture dati incluse in Redis open source, senza costi aggiuntivi. Puoi semplificare lo sviluppo di applicazioni utilizzando i comandi integrati progettati e ottimizzati per i documenti JSON. MemoryDB supporta aggiornamenti parziali dei documenti JSON, nonché potenti funzioni di ricerca e di filtro tramite il linguaggio per query JSONPath. Il supporto per JSON è disponibile se si utilizza la versione di Redis 6.2 o superiore. Per ulteriori informazioni, consulta la documentazione di MemoryDB.

Amazon MemoryDB per Redis consente ai modelli di machine learning (ML) e intelligenza artificiale (IA) generativa di funzionare con i dati archiviati in Amazon MemoryDB in tempo reale e senza trasferimento dati. Con Amazon MemoryDB, è possibile archiviare, cercare, indicizzare ed eseguire query su integrazioni vettoriali all'interno di strutture dati Redis.

I vettori sono rappresentazioni numeriche di dati non strutturati, come testo, immagini e video, create a partire da modelli di ML che aiutano ad acquisire il significato semantico dei dati sottostanti. È possibile archiviare integrazioni da ML e IA come quelli di Amazon Bedrock e Amazon SageMaker nel proprio database di Amazon MemoryDB. Leggi la nostra documentazione per saperne di più sulla ricerca vettoriale su Amazon MemoryDB.

Con l'anteprima della ricerca vettoriale per MemoryDB, è possibile archiviare milioni di integrazioni vettoriali ed eseguire decine di migliaia di query al secondo (QPS) con recuperi superiori al 99% con ricerca vettoriale a una cifra al millisecondo e latenze di aggiornamento.

La ricerca vettoriale per MemoryDB è adatta ai casi d'uso in cui le massime prestazioni e il dimensionamento sono i criteri di selezione più importanti. È possibile utilizzare la ricerca vettoriale per potenziare applicazioni di machine learning e IA generativa in tempo reale in casi d'uso come la generazione aumentata di recupero (RAG) per i chatbot, il rilevamento delle frodi, i consigli in tempo reale e il recupero di documenti.

Ottimizzazione dei costi

MemoryDB offre il tiering dei dati come un modo a basso costo per scalare i tuoi cluster fino a centinaia di terabyte di capacità. Il livello dei dati fornisce un’opzione di prezzo per prestazioni per MemoryDB utilizzando gli SSD in ogni nodo cluster oltre ad archiviare i dati in memoria. Ideale per i carichi di lavoro che hanno regolarmente accesso fino al 20% del loro set di dati generale e per le applicazioni che possono sopportare ulteriore latenza quando accedono ai dati sulla SSD.

Quando utilizzi i cluster con il livello dei dati, MemoryDB funziona spostando in modo automatico e trasparente gli elementi utilizzati meno recentemente dalla memoria agli SSD NVMe attaccati localmente quando viene utilizzata la capacità di memoria. Quando accedi a un elemento archiviato su SSD, MemoryDB lo riporta in memoria prima di servire la richiesta. I livelli dei dati MemoryDB sono disponibili sui nodi R6gd basati su Graviton2. I nodi R6gd hanno una capacità totale quasi 5 volte superiore (memoria + SSD) e possono aiutarti a ottenere un risparmio di oltre il 60% sui costi di archiviazione quando funzionano al massimo utilizzo rispetto ai nodi R6g (solo memoria). Ipotizzando valori di stringa da 500 byte, in genere puoi aspettarti una latenza aggiuntiva di 450 µs per le richieste di lettura ai dati archiviati su SSD rispetto alle richieste di lettura ai dati in memoria.

MemoryDB offre nodi riservati che consentono di risparmiare fino al 55% rispetto ai prezzi dei nodi on-demand in cambio di un impegno di utilizzo per un periodo di uno o tre anni. I nodi riservati sono complementari ai nodi on-demand di MemoryDB e offrono alle aziende la flessibilità necessaria per ridurre i costi. MemoryDB offre tre opzioni di pagamento per i nodi riservati: nessun anticipo, pagamento anticipato parziale e pagamento anticipato dell'intero costo; in questo modo è possibile bilanciare l'importo pagato in anticipo con la tariffa oraria in vigore.

I nodi riservati MemoryDB offrono una flessibilità dimensionale all'interno di una famiglia di nodi e di una Regione AWS. Ciò significa che la tariffa scontata per i nodi riservati verrà applicata automaticamente all'utilizzo di tutte le dimensioni della stessa famiglia di nodi. La flessibilità delle dimensioni riduce il tempo da dedicare alla gestione dei nodi riservati e, poiché non si è più vincolati a una dimensione specifica del nodo del database, si può ottenere il massimo dallo sconto anche se il database deve essere aggiornato.

Ulteriori informazioni sui prezzi
Scopri i prezzi di MemoryDB

Scopri le opzioni di prezzo per MemoryDB.

Ulteriori informazioni 
Impara con un tutorial
Impara con un tutorial

Scopri come configurare il tuo primo cluster MemoryDB.

Ulteriori informazioni  
 Inizia a usare MemoryDB
Inizia a usare MemoryDB

Consulta la guida per l'utente di MemoryDB per iniziare.

Consulta la documentazione