Che cos'è Valkey?

Valkey è un datastore in memoria di coppie chiave-valore che può essere utilizzato per una varietà di esigenze di creazione di applicazioni, tra cui la memorizzazione nella cache, le code di messaggi e gli archivi di sessioni. Puoi anche utilizzarlo come database in memoria principale, con i dati archiviati nella RAM per velocità di lettura e scrittura elevate.

In quanto database NoSQL, Valkey ha uno schema più flessibile rispetto a un database relazionale, che archivia i dati in rigide colonne e righe.

Valkey utilizza il semplice metodo chiave-valore per l'archiviazione dei dati, in cui un valore viene mappato a un identificatore univoco, la chiave. Ciò consente ricerche incredibilmente veloci quando si recuperano i dati direttamente tramite la loro chiave. Offre inoltre la flessibilità di adattarsi a una vasta gamma di tipi di dati, tra cui stringhe, set, elenchi, hash e flussi.

Vuoi passare direttamente alla configurazione di un cluster Valkey? Scopri come iniziare a utilizzare Memorystore.

Concetti fondamentali

Valkey è un archivio dati chiave-valore open source. È noto per la sua latenza estremamente bassa, che lo rende ideale per la memorizzazione nella cache, le code di messaggi e le applicazioni che richiedono dati in tempo reale. Ecco una breve panoramica delle funzionalità principali di Valkey:

  • Datastore in memoria: archivia principalmente i dati nella RAM per velocità di lettura e scrittura estremamente elevate.
  • Metodo chiave-valore: archivia i dati in coppie chiave-valore, offrendo flessibilità per una serie di tipi di dati e ricerche rapide.
  • Alternativa a Redis: Valkey si è evoluto dallo stesso codebase di Redis, ma rimane open source.


Domande frequenti su Valkey

Valkey può archiviare una serie di tipi di dati, tra cui stringhe, hash, elenchi, set e set ordinati. Supporta anche tipi di dati più avanzati come flussi, indici geospaziali, bitmap e vettori, il che lo rende uno strumento versatile per un'ampia gamma di applicazioni, compresi gli agenti di AI.


Il motivo principale per utilizzare un database in memoria come Valkey è la velocità. L'accesso ai dati dalla RAM è più veloce della lettura dal disco, il che consente a Valkey di ottenere una latenza estremamente bassa, spesso nell'intervallo dei sub-millisecondi. Questa velocità è fondamentale per casi d'uso come la memorizzazione nella cache in tempo reale e l'analisi in rapido movimento in cui l'accesso immediato ai dati è essenziale.


La differenza principale sta nel modo in cui strutturano, archiviano e recuperano i dati. Un database chiave-valore come Valkey archivia i dati come una raccolta di chiavi univoche, ognuna abbinata a un singolo valore. Questo modello semplice offre un recupero rapido quando si cercano dati specificamente in base alla loro chiave. Un database relazionale, d'altra parte, archivia i dati in tabelle con JOIN che collegano i dati correlati. Questo modello offre le migliori prestazioni per le query che devono estrarre dati da più raccolte.


Vantaggi dell'utilizzo di Valkey

Valkey combina velocità con la flessibilità, la scalabilità e la resilienza necessarie per i carichi di lavoro più impegnativi.

Database in memoria ad alta velocità

Archiviando i dati principalmente nella RAM anziché sui dischi, Valkey offre una velocità effettiva incredibilmente elevata e una bassa latenza, il che lo rende adatto alle applicazioni in cui la velocità è fondamentale.

Open source

In quanto progetto open source, Valkey beneficia dei contributi della community e della flessibilità di essere integrato e personalizzato senza restrizioni di licenza.


Alta affidabilità

Valkey supporta la replica master-replica per il failover automatico e la ridondanza dei dati, riducendo al minimo i tempi di inattività e fornendo un servizio continuo.

Persistenza dei dati

Sebbene sia principalmente un database in memoria, Valkey offre opzioni di persistenza per prevenire la perdita di dati. Può salvare i dati su disco tramite snapshot RDB (Redis database) e log AOF (append-only file) per garantire la durabilità dei dati anche dopo i riavvii.


Scalabilità orizzontale senza interruzioni

Valkey è progettato per distribuire i dati in modo efficiente su più nodi e cluster. Ciò significa che puoi facilmente scalare orizzontalmente per gestire l'aumento del traffico senza un calo delle prestazioni.


Comunicazione in tempo reale

Valkey offre un sistema di messaggistica Pub/Sub, che consente la comunicazione in tempo reale tra varie applicazioni o diverse parti di una singola applicazione. Questo può supportare funzionalità come la chat live e i feed di dati in tempo reale.


Casi d'uso comuni di Valkey

I datastore in memoria come Valkey sono particolarmente adatti per applicazioni e funzioni che dipendono da una latenza estremamente bassa. Questi possono includere:

  • Memorizzazione nella cache: Valkey può fungere da livello di cache ad alta velocità davanti a database più lenti basati su disco. I dati a cui si accede di frequente possono essere archiviati in Valkey, riducendo in modo significativo il carico sul database primario e accelerando i tempi di risposta.
  • Code di messaggi: le funzionalità Pub/Sub di Valkey lo rendono una scelta eccellente come broker di messaggi. Può essere utilizzato per facilitare la comunicazione in tempo reale tra diversi servizi o microservizi, supportando casi d'uso come applicazioni di chat e notifiche.
  • Analisi in tempo reale: per le applicazioni che devono elaborare e analizzare i dati in tempo reale, come i tracker di pacchi, le app di navigazione o le classifiche di gioco, la velocità di Valkey lo rende la scelta ideale.
  • Archivi di sessioni: la gestione delle sessioni utente nelle applicazioni web, come i siti di e-commerce o le piattaforme di social media, richiede un accesso rapido alle preferenze dell'utente, allo stato di accesso e ai contenuti del carrello. Valkey fornisce un modo rapido e affidabile per archiviare e recuperare questi dati di sessione.
  • Machine learning: la bassa latenza e le funzionalità di ricerca vettoriale di Valkey lo rendono anche un potente database per le applicazioni che utilizzano il machine learning. Puoi archiviare ed eseguire rapidamente ricerche su incorporamenti vettoriali, ovvero le rappresentazioni numeriche di dati come testo o immagini, per eseguire ricerche di somiglianza complesse. Può essere utilizzato per suggerire agli utenti prodotti, articoli o contenuti multimediali simili in tempo reale.

Valkey e Redis a confronto

Valkey è stato inizialmente derivato da Redis 7.2, il che significa che è partito dalla stessa codebase e condivide alcune caratteristiche e funzionalità fondamentali. Come Valkey, Redis è un datastore chiave-valore in memoria che offre una velocità effettiva elevata e supporta una gamma di strutture di dati. Entrambi sono noti per l'alta disponibilità e la scalabilità.

La differenza principale è che Valkey è open source, rilasciato con una licenza BSD permissiva, quindi gli sviluppatori sono liberi di utilizzare, modificare e contribuire al software.

Nel 2024, Valkey è stato creato in risposta al passaggio di Redis Inc. a una licenza "source available" più restrittiva. Per mantenere un'alternativa open source per la community, diversi collaboratori principali di Redis si sono riuniti e hanno lanciato Valkey basato sulla versione open source finale di Redis.

Valkey è guidato da un approccio di sviluppo collaborativo e guidato dalla community, in cui la roadmap e le nuove funzionalità vengono decise dai membri che contribuiscono al progetto Linux Foundation, con il contributo dei principali fornitori di servizi cloud, tra cui Google Cloud.

Dalla versione 8.0 di Valkey, sono stati apportati importanti miglioramenti al motore Valkey, con particolare attenzione ai miglioramenti della ricerca vettoriale, alla gestione dei cluster e all'esecuzione di comandi multithread, ovvero la capacità di elaborare i comandi in parallelo su più core della CPU.

Gestisci autonomamente il deployment di Valkey con Google Cloud

Per chi desidera un controllo più granulare, una maggiore personalizzazione o configurazioni di deployment specifiche, Valkey può essere distribuito manualmente sull'infrastruttura di computing di Google Cloud. Questo metodo ti offre una supervisione completa dell'ambiente.

  • Compute Engine (VM): avvia le istanze Google Compute Engine (VM) e installa direttamente il server Valkey open source. Ciò fornisce piena autonomia sulla configurazione, sui parametri di scalabilità e sul sistema operativo sottostante.
  • Google Kubernetes Engine (GKE): Valkey può essere facilmente containerizzato utilizzando Docker ed eseguito il deployment come pod o applicazione stateful su un cluster GKE. Questo può essere un approccio adatto alle applicazioni che già utilizzano Kubernetes, in quanto offre funzionalità di orchestrazione avanzate e solide.


Ottieni un servizio completamente gestito con Google Cloud Memorystore for Valkey

Memorystore for Valkey è un servizio completamente gestito che fornisce un servizio Valkey ad alte prestazioni, a disponibilità elevata e scalabile nel cloud.

Offre i vantaggi di un database in memoria senza l'onere operativo e finanziario della gestione dell'infrastruttura sottostante.

Google Cloud si occupa del carico di lavoro amministrativo, tra cui applicazione di patch, sicurezza e scalabilità, in modo che tu possa concentrarti sulla creazione di applicazioni con dati in tempo reale.

  • Completamente gestito: Google si occupa dell'overhead operativo della gestione delle istanze Valkey, inclusi provisioning, applicazione di patch e failover.
  • Prestazioni elevate: sfruttando l'infrastruttura di Google Cloud, Memorystore for Valkey offre la bassa latenza e l'elevata velocità effettiva richieste per le applicazioni in tempo reale più esigenti, con accesso ai dati inferiore al millisecondo.
  • Alta disponibilità: Memorystore replica automaticamente i dati su più zone, fornendo uno SLA fino al 99,99%.
  • Scalabile: Memorystore offre una scalabilità fluida delle istanze Valkey senza tempi di inattività per soddisfare le esigenze in continua evoluzione della tua applicazione.
  • Sicuro: Memorystore è protetto con solide funzionalità di sicurezza, tra cui connettività Virtual Private Cloud (VPC), monitoraggio 24 ore su 24, 7 giorni su 7 e Identity and Access Management (IAM).
  • Perfetto per applicazioni di AI: Memorystore for Valkey supporta la ricerca vettoriale approssimativa del vicino più prossimo (ANN) e la ricerca vettoriale esatta del vicino più prossimo (KNN), il che lo rende un datastore a bassa latenza ideale per l'AI generativa.

Fai il passo successivo con Memorystore

Inizia a creare su Google Cloud con 300 $ di crediti senza costi.

Google Cloud