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.
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 :
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.
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.
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 :
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.
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.
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.
Commencez à créer des applications sur Google Cloud avec 300 $ de crédits sans frais.