Qu'est-ce que Valkey ?

Valkey est un datastore clé-valeur en mémoire qui peut être utilisé pour répondre à divers besoins de développement d'applications, y compris la mise en cache, les files d'attente de messages et les magasins de sessions. Vous pouvez également l'utiliser comme base de données principale en mémoire, avec des données stockées dans la RAM pour des vitesses de lecture et d'écriture rapides.

En tant que base de données NoSQL, Valkey possède un schéma plus flexible qu'une base de données relationnelle, qui stocke les données dans des colonnes et des lignes strictes.

Valkey utilise la méthode clé-valeur simple pour stocker les données, où une valeur est associée à un identifiant unique : la clé. Cela permet des recherches incroyablement rapides lors de la récupération de données directement par leur clé. Il offre également la flexibilité nécessaire pour prendre en charge différents types de données, y compris les chaînes, les ensembles, les listes, les hachages et les flux.

Vous souhaitez passer directement à la configuration d'un cluster Valkey ? Découvrez comment vous lancer avec Memorystore.

Points à retenir

Valkey est un datastore clé-valeur Open Source. Il est connu pour sa latence extrêmement faible, ce qui le rend idéal pour la mise en cache, les files d'attente de messages et les applications qui nécessitent des données en temps réel. Voici un aperçu rapide des principales caractéristiques de Valkey :

  • Datastore en mémoire : stocke principalement les données dans la RAM pour des vitesses de lecture et d'écriture ultra-rapides.
  • Méthode clé-valeur : stocke les données sous forme de paires clé-valeur, ce qui offre une flexibilité pour une variété de types de données et des recherches rapides.
  • Alternative à Redis : Valkey a évolué à partir du même code que Redis, mais reste Open Source.


Questions fréquentes sur Valkey

Valkey peut stocker différents types de données, y compris des chaînes, des hachages, des listes, des ensembles et des ensembles triés. Il prend également en charge des types de données plus avancés comme les flux, les index géospatiaux, les bitmaps et les vecteurs, ce qui en fait un outil polyvalent pour un large éventail d'applications, y compris les agents IA.


La principale raison d'utiliser une base de données en mémoire comme Valkey est la vitesse. L'accès aux données depuis la RAM est plus rapide que la lecture sur disque, ce qui permet à Valkey d'atteindre une latence extrêmement faible, souvent inférieure à la milliseconde. Cette rapidité est essentielle pour des cas d'utilisation tels que la mise en cache en temps réel et l'analyse de données en mouvement rapide, où l'accès immédiat aux données est indispensable.


La principale différence réside dans la façon dont elles structurent, stockent et récupèrent les données. Une base de données clé-valeur comme Valkey stocke les données sous forme de collection de clés uniques, chacune associée à une seule valeur. Ce modèle simple permet de récupérer rapidement des données en recherchant spécifiquement leur clé. Une base de données relationnelle, quant à elle, stocke les données dans des tables avec des jointures qui relient les données associées. Ce modèle offre les meilleures performances pour les requêtes qui doivent extraire des données de plusieurs collections.


Avantages de Valkey

Valkey combine la vitesse avec la flexibilité, l'évolutivité et la résilience nécessaires pour les charges de travail exigeantes.

Base de données en mémoire à haut débit

En stockant principalement les données dans la RAM plutôt que sur des disques, Valkey offre un débit incroyablement élevé et une faible latence, ce qui le rend parfaitement adapté aux applications où la vitesse est primordiale.

Open Source

En tant que projet Open Source, Valkey bénéficie des contributions de la communauté et de la flexibilité nécessaire pour être intégré et personnalisé sans restrictions de licence.


Haute disponibilité

Valkey prend en charge la réplication primaire-secondaire pour le basculement automatique et la redondance des données, ce qui minimise les temps d'arrêt et assure un service continu.

Persistance des données

Bien qu'il s'agisse principalement d'une base de données en mémoire, Valkey propose des options de persistance pour éviter la perte de données. Il peut enregistrer les données sur disque à l'aide d'instantanés RDB (Redis database) et de journaux AOF (append-only file) pour assurer la durabilité des données, même après des redémarrages.


Scaling horizontal fluide

Valkey est conçu pour distribuer efficacement les données sur plusieurs nœuds et clusters. Cela signifie que vous pouvez facilement effectuer un scaling horizontal pour gérer l'augmentation du trafic sans baisse de performances.


Communication en temps réel

Valkey offre un système de messagerie Pub/Sub qui permet une communication en temps réel entre différentes applications ou différentes parties d'une même application. Cela peut prendre en charge des fonctionnalités telles que le chat en direct et les flux de données en temps réel.


Cas d'utilisation courants de Valkey

Les magasins de données en mémoire comme Valkey sont particulièrement adaptés aux applications et aux fonctions qui dépendent d'une latence extrêmement faible. Par exemple :

  • Mise en cache : Valkey peut servir de couche de cache à grande vitesse devant des bases de données plus lentes basées sur disque. Les données fréquemment consultées peuvent être stockées dans Valkey, ce qui réduit considérablement la charge sur la base de données principale et accélère les temps de réponse.
  • Files d'attente de messages : les fonctionnalités Pub/Sub de Valkey en font un excellent choix en tant que courtier de messages. Il peut être utilisé pour faciliter la communication en temps réel entre différents services ou microservices, et prend en charge des cas d'utilisation tels que les applications de chat et les notifications.
  • Analyse en temps réel : pour les applications qui doivent traiter et analyser des données en temps réel, comme les outils de suivi de colis, les applications de navigation ou les classements de jeux, la rapidité de Valkey en fait un choix idéal.
  • Stockage des sessions : la gestion des sessions utilisateur dans les applications Web, comme les sites d'e-commerce ou les plates-formes de réseaux sociaux, nécessite un accès rapide aux préférences des utilisateurs, à leur état de connexion et au contenu de leur panier. Valkey offre un moyen rapide et fiable de stocker et de récupérer ces données de session.
  • Machine learning : la faible latence et les fonctionnalités de recherche vectorielle de Valkey en font également une base de données puissante pour les applications qui utilisent le machine learning. Vous pouvez stocker et rechercher rapidement des embeddings vectoriels (les représentations numériques de données telles que du texte ou des images) pour effectuer des recherches de similarité complexes. Cette technique peut être utilisée pour suggérer des produits, des articles ou des contenus multimédias similaires aux utilisateurs en temps réel.

Valkey et Redis

Valkey a initialement été dérivé de Redis 7.2, ce qui signifie qu'il est basé sur le même code et qu'il partage certaines caractéristiques et fonctionnalités fondamentales. Comme Valkey, Redis est un magasin de données clé-valeur en mémoire qui offre un débit élevé et prend en charge un éventail de structures de données. Les deux sont réputés pour leur haute disponibilité et leur évolutivité.

La principale différence est que Valkey est Open Source. Il est publié sous une licence BSD permissive, ce qui permet aux développeurs d'utiliser, de modifier et de contribuer au logiciel.

En 2024, Valkey a été créé en réponse à la décision de Redis Inc. de passer à une licence "source disponible" plus restrictive. Pour conserver une alternative Open Source pour la communauté, plusieurs contributeurs principaux de Redis se sont réunis et ont lancé Valkey, basé sur la dernière version Open Source de Redis.

Valkey est basé sur une approche de développement collaborative et communautaire, où la feuille de route et les nouvelles fonctionnalités sont décidées par les membres contributeurs du projet Linux Foundation, avec la participation des principaux fournisseurs de services cloud, y compris Google Cloud.

Depuis Valkey 8.0, des améliorations majeures ont été apportées au moteur Valkey, en particulier au niveau de la recherche vectorielle, de la gestion des clusters et de l'exécution de commandes multithread, qui permet de traiter les commandes en parallèle sur plusieurs cœurs de processeur.

Gérez vous-même votre déploiement Valkey avec Google Cloud

Pour ceux qui souhaitent un contrôle plus précis, une personnalisation ou des configurations de déploiement spécifiques, Valkey peut être déployé manuellement sur l'infrastructure de calcul de Google Cloud. Cette méthode vous offre une visibilité complète sur l'environnement.

  • Compute Engine (VM) : lancez des instances Google Compute Engine (VM) et installez directement le serveur open source Valkey. Cela vous offre une autonomie totale sur la configuration, les paramètres de scaling et le système d'exploitation sous-jacent.
  • Google Kubernetes Engine (GKE) : Valkey peut être facilement conteneurisé à l'aide de Docker et déployé en tant que pod ou application avec état sur un cluster GKE. Cette approche peut être adaptée aux applications qui utilisent déjà Kubernetes, car elle offre des fonctionnalités d'orchestration robustes et avancées.


Bénéficiez d'un service entièrement géré avec Google Cloud Memorystore for Valkey

Memorystore for Valkey est un service entièrement géré qui fournit un service Valkey évolutif, à haute disponibilité et hautes performances dans le cloud.

Il offre les avantages d'une base de données en mémoire sans les contraintes opérationnelles et financières liées à la gestion de l'infrastructure sous-jacente.

Google Cloud gère la charge de travail administrative, y compris l'application de correctifs, la sécurité et le scaling, ce qui vous permet de vous concentrer sur la création d'applications avec des données en temps réel.

  • Entièrement géré : Google gère les coûts opérationnels liés à la gestion des instances Valkey, y compris le provisionnement, l'application de correctifs et le basculement.
  • Hautes performances : en s'appuyant sur l'infrastructure de Google Cloud, Memorystore for Valkey offre la faible latence et le débit élevé requis pour les applications exigeantes en temps réel, avec un accès aux données en moins d'une milliseconde.
  • Haute disponibilité : Memorystore réplique automatiquement les données sur plusieurs zones, ce qui permet d'atteindre un SLA de 99,99 %.
  • Évolutivité : Memorystore permet de faire évoluer facilement les instances Valkey sans temps d'arrêt pour répondre aux besoins changeants de votre application.
  • Sécurité : Memorystore est protégé par des fonctionnalités de sécurité robustes, y compris la connectivité VPC (cloud privé virtuel), la surveillance 24h/24, 7j/7 et la gestion de l'authentification et des accès (IAM).
  • Parfait pour les applications d'IA : Memorystore for Valkey prend en charge la recherche vectorielle du voisin le plus proche approximative (ANN) et la recherche vectorielle du voisin le plus proche exacte (KNN), ce qui en fait un magasin de données à faible latence idéal pour l'IA générative.

Allez plus loin avec Memorystore

Commencez à créer des applications sur Google Cloud avec 300 $ de crédits sans frais.

  • Faites des économies grâce à notre approche transparente concernant la tarification
  • Le paiement à l'usage de Google Cloud permet de réaliser des économies automatiques basées sur votre utilisation mensuelle et des tarifs réduits pour les ressources prépayées. Contactez-nous dès aujourd'hui afin d'obtenir un devis.
Google Cloud