Amazon MemoryDB for Redis est un service de base de données en mémoire durable et compatible avec Redis qui offre des performances ultra-rapides. Il est spécialement conçu pour les applications modernes avec des architectures de microservices.

Amazon MemoryDB est compatible avec Redis, un entrepôt de données open source populaire, ce qui permet aux clients de créer rapidement des applications en utilisant les mêmes structures de données, API et commandes flexibles et conviviales de Redis qu'ils utilisent déjà aujourd'hui. Avec Amazon MemoryDB, toutes vos données sont stockées en mémoire, ce qui vous permet d'obtenir une latence de lecture de l'ordre de la microseconde et une latence d'écriture de l'ordre de quelques millisecondes, ainsi qu'un débit élevé. Amazon MemoryDB stocke également les données de manière durable dans plusieurs zones de disponibilité (AZ) à l'aide d'un journal transactionnel distribué pour permettre un basculement rapide, la récupération de la base de données et le redémarrage des nœuds. En offrant à la fois des performances en mémoire et une durabilité multi-AZ, Amazon MemoryDB peut être utilisé comme une base de données primaire haute performance pour vos applications de microservices, éliminant ainsi la nécessité de gérer séparément un cache et une base de données durable.

Compatibilité Redis

Redis est un magasin de données clé/valeur en mémoire open source rapide. Les développeurs utilisent Redis pour atteindre des temps de réponse inférieurs à la milliseconde, permettant des millions de requêtes par seconde pour les applications en temps réel dans des secteurs comme les jeux, la publicité, les services financiers, les soins de santé et l'IoT. En 2021 et pour la cinquième année consécutive, Redis a été nommé « base de données la plus appréciée » par Stack Overflow.

Redis propose des API, des commandes et des structures de données flexibles, telles que des diffusions, des ensembles et des listes, afin de concevoir des applications agiles et polyvalentes. MemoryDB préserve la compatibilité avec Redis open source et prend en charge le même ensemble de types de données, de paramètres et de commandes Redis que vous connaissez. Cela signifie que le code, les applications, les pilotes et les outils que vous utilisez déjà avec Redis peuvent être utilisés avec MemoryDB pour concevoir rapidement des applications.

Performances ultra rapides

MemoryDB stocke l'ensemble de votre jeu de données en mémoire, afin de fournir une latence de lecture de l'ordre de la microseconde, une latence d'écriture de l'ordre de quelques millisecondes et un débit élevé. Le service peut traiter plus de 13 milliards de milliards de demandes par jour et prend en charge des pics de 160 millions de demandes par seconde.

Les développeurs qui travaillent avec des architectures de microservices ont besoin de performances ultra élevées, car ces applications peuvent impliquer des interactions avec un grand nombre de composants de services par interaction utilisateur ou appel d'API. Grâce à MemoryDB, vous obtenez une latence extrêmement faible pour offrir des performances en temps réel aux utilisateurs finaux.

Amazon MemoryDB for Redis inclut désormais un multiplexage d'E/S amélioré, qui permet d'améliorer considérablement le débit et la latence à grande échelle. Le multiplexage E/S amélioré est idéal pour les charges de travail limitées par le débit avec plusieurs connexions client, et ses avantages s'adaptent au niveau de la simultanéité des charges de travail. À titre d'exemple, en utilisant le nœud r6g.4xlarge et en exécutant 5200 clients simultanés, vous pouvez obtenir jusqu'à 46 % d'augmentation du débit (opérations de lecture et d'écriture par seconde) et jusqu'à 21 % de réduction de la latence P99, par rapport à MemoryDB pour Redis 6. Pour ces types de charges de travail, le traitement des E/S réseau d'un nœud peut devenir un facteur limitant la capacité d'évolution. Grâce au multiplexage E/S amélioré, chaque thread d'E/S réseau dédié achemine les commandes de plusieurs clients vers le moteur Redis, en tirant parti de la capacité de Redis à traiter efficacement les commandes par lots, comme illustré dans le schéma suivant :

Le multiplexage E/S amélioré est automatiquement disponible lors de l'utilisation de Redis 7, sans frais supplémentaires. Aucune modification de configuration d'application ou de service n'est requise pour utiliser le multiplexage E/S amélioré de MemoryDB for Redis.

Pour en savoir plus, consultez la documentation.

Durabilité multi-AZ

En plus de stocker l'intégralité de votre jeu de données en mémoire, MemoryDB utilise un journal transactionnel distribué pour offrir durabilité, cohérence et récupération des données. MemoryDB stocke les données dans plusieurs zones de disponibilité, afin que vous puissiez atteindre une récupération rapide des données et redémarrer. Vous pouvez utiliser MemoryDB comme service de base de données primaire unique pour vos charges de travail exigeant une faible latence et un débit élevé, plutôt que de gérer de manière séparée un cache pour la vitesse et une base de données relationnelle ou non relationnelle supplémentaire pour la fiabilité.

Capacité de mise à l'échelle

Vous pouvez mettre à l'échelle votre cluster MemoryDB afin de répondre aux exigences changeantes des applications : de manière horizontale, en ajoutant ou en supprimant des nœuds, ou de manière verticale, en passant à des types de nœuds plus grands ou plus petits. MemoryDB prend en charge la mise à l'échelle en écriture avec partition et la mise à l'échelle en lecture par l'ajout de réplicas. Votre cluster reste en ligne et continue à prendre en charge les opérations de lecture et d'écriture durant les opérations de redimensionnement.

Service entièrement géré

Simple d'utilisation

Il est facile de démarrer avec MemoryDB. Il vous suffit de lancer un nouveau cluster MemoryDB à l'aide de la console de gestion AWS, ou d'utiliser l'AWS CLI ou un kit SDK. Les instances de base de données MemoryDB sont préconfigurées avec un ensemble de paramètres et de réglages appropriés pour le type de nœud sélectionné. Vous pouvez lancer un cluster et connecter votre application en quelques minutes, sans autre configuration.

Surveillance et mesures

MemoryDB fournit des métriques Amazon CloudWatch pour vos instances de bases de données. La console de gestion AWS vous permet de visualiser plus de 35 métriques opérationnelles clés concernant votre cluster, y compris le calcul, la mémoire, le stockage, le débit, les connexions actives et plus encore.

Application automatique des correctifs logiciels

MemoryDB met automatiquement vos clusters à jour et vous pouvez facilement mettre vos clusters à niveau vers les dernières versions de Redis.

Sécurité

Mise en réseau

MemoryDB s'exécute dans Amazon VPC, ce qui vous permet d'isoler votre base de données au sein de votre propre réseau virtuel et d'accéder à votre infrastructure informatique sur site à l'aide de connexions VPN IPsec chiffrées standard. De plus, la configuration VPC de MemoryDB vous permet de configurer les paramètres de pare-feu et de contrôler l'accès réseau à vos instances de bases de données.

Chiffrement

Grâce à MemoryDB, les données au repos sont chiffrées à l'aide de clés que vous créez et contrôlez via AWS Key Management Service (KMS). Les clusters créés avec des types de nœuds AWS Graviton2 incluent le chiffrement permanent DRAM 256 bits. MemoryDB prend en charge le chiffrement en transit à l'aide du protocole TLS (Transport Layer Security).

Autorisations au niveau des API

À l'aide des fonctionnalités AWS Identity and Access Management (IAM) intégrées à Amazon MemoryDB, vous pouvez contrôler les actions que vos utilisateurs et groupes AWS IAM peuvent réaliser au niveau des ressources Amazon MemoryDB. Par exemple, vous pouvez configurer vos règles IAM pour vous assurer que certains utilisateurs bénéficient uniquement d'un accès en lecture seule, tandis qu'un administrateur peut créer, modifier et supprimer des ressources. Pour plus d'informations sur les autorisations au niveau des API, consultez la page relative à l'utilisation des stratégies AWS IAM pour Amazon MemoryDB.

Authentification et autorisation

MemoryDB utilise des listes de contrôle d'accès (ACL) Redis afin de contrôler l'authentification et l'autorisation dans votre cluster. Les listes de contrôle d'accès (ACL) vous permettent de définir plusieurs autorisations pour plusieurs utilisateurs au sein du même cluster.

Intégration à Kubernetes

AWS Controllers for Kubernetes (ACK) pour Amazon MemoryDB vous permet de définir et d'utiliser les ressources MemoryDB directement depuis votre cluster Kubernetes. Ainsi, vous tirez parti de MemoryDB pour subvenir aux besoins de vos applications Kubernetes sans avoir à définir les ressources MemoryDB à l'extérieur du cluster, ou exécuter et gérer les fonctions des bases de données en mémoire dans le cluster. Vous pouvez télécharger l'image de conteneur MemoryDB ACK depuis Amazon ECR et consulter la documentation pour obtenir les instructions d'installation. Vous pouvez également consulter leblog pour des informations plus détaillées.

Remarque : ACK pour Amazon MemoryDB est désormais généralement disponible. Faites-nous parvenir vos commentaires sur notre page Github.

ACK pour Amazon MemoryDB

Prise en charge JSON

Amazon MemoryDB fournit une prise en charge native des documents JSON (JavaScript Object Notation) en plus des structures de données incluses dans Redis open source, sans frais supplémentaires. Vous pouvez simplifier le développement des applications à l'aide des commandes intégrées conçues spécialement pour les documents JSON. MemoryDB prend en charge les mises à jour de documents JSON partielles et permet d'effectuer des recherches et de les filtrer de manière efficace à l'aide du langage de requête JSONPath. La prise en charge JSON est disponible avec Redis 6.2 et les versions ultérieures. Pour en savoir plus, veuillez consulter la documentation MemoryDB.

Amazon MemoryDB for Redis offre des fonctionnalités permettant aux modèles de machine learning (ML) et d'intelligence artificielle (IA) générative de travailler avec des données stockées dans Amazon MemoryDB en temps réel et sans déplacer les données. Avec Amazon MemoryDB, vous pouvez stocker, rechercher, indexer et interroger des intégrations vectorielles dans des structures de données Redis.

Les vecteurs sont des représentations numériques de données non structurées, telles que du texte, des images et des vidéos, créées à partir de modèles de machine learning (ML) qui permettent de saisir la signification sémantique des données sous-jacentes. Vous pouvez stocker les intégrations vectorielles des modèles de ML et d'IA, tels que ceux d'Amazon Bedrock et d'Amazon SageMaker, dans votre base de données Amazon MemoryDB. Consultez notre documentation pour en savoir plus sur la recherche vectorielle sur Amazon MemoryDB.

Avec la version préliminaire de la recherche vectorielle pour MemoryDB, vous pouvez stocker des millions d'intégrations vectorielles et effectuer des dizaines de milliers de requêtes par seconde (QPS) avec un taux de rappel supérieur à 99 % grâce à une recherche vectorielle à un chiffre en millisecondes et à des latences de mise à jour.

La recherche vectorielle pour MemoryDB convient aux cas d'utilisation où les performances maximales et la mise à l'échelle sont les critères de sélection les plus importants. Vous pouvez utiliser la recherche vectorielle pour alimenter les applications de machine learning en temps réel et d'IA générative dans des cas d'utilisation tels que la génération augmentée de récupération (RAG) pour les chatbots, la détection des fraudes, les recommandations en temps réel et l’extraction de documents.

Optimisation des coûts

MemoryDB propose la hiérarchisation des données comme moyen moins coûteux de faire évoluer vos clusters jusqu'à des centaines de téraoctets de capacité. La hiérarchisation des données offre une option de rapport qualité-prix pour MemoryDB en utilisant des disques SSD (Solid State Drive) moins coûteux dans chaque nœud de cluster, en plus du stockage des données en mémoire. Elle est idéale pour les charges de travail qui accèdent régulièrement à 20 % de leur jeu de données et pour les applications qui peuvent tolérer une latence supplémentaire lors de l'accès aux données sur SSD.

Lorsque vous utilisez les clusters avec hiérarchisation des données, MemoryDB permet de déplacer automatiquement et en toute fluidité les moindres éléments utilisés récemment de la mémoire vers les disques SSD NVMe attachés localement. Cela se produit quand la capacité de mémoire disponible est épuisée. Lorsque vous accédez à un élément stocké sur SSD, MemoryDB le déplace à nouveau vers la mémoire avant de répondre à la demande. La hiérarchisation des données MemoryDB est disponible sur les nœuds R6gd basés sur Graviton2. Les nœuds R6gd ont environ 5 fois plus de capacité totale (mémoire + SSD) et peuvent vous aider à réaliser plus de 60 % d'économies sur les coûts de stockage lorsqu'ils fonctionnent à l'utilisation maximale par rapport aux nœuds R6g (mémoire uniquement). En supposant des valeurs de chaîne de 500 octets, la latence supplémentaire s'élève à 450 µs en moyenne pour les demandes de lecture de données stockées sur SSD par rapport aux données en mémoire.

MemoryDB propose des nœuds réservés qui vous permettent d'économiser jusqu'à 55 % par rapport aux prix des nœuds à la demande en échange d'un engagement d'utilisation sur une période d'un ou trois ans. Les nœuds réservés sont complémentaires des nœuds à la demande de MemoryDB et offrent aux entreprises une flexibilité qui permet de réduire les coûts. MemoryDB propose trois options de paiement pour les nœuds réservés – Pas d'avance, avance partielle et avance totale – qui vous permettent d'équilibrer le montant que vous payez à l'avance avec votre prix horaire effectif.

Les nœuds réservés MemoryDB offrent une certaine flexibilité en termes de taille au sein d'une famille de nœuds et d'une région AWS. Cela signifie que le tarif réduit pour les nœuds réservés sera appliqué automatiquement à l'utilisation de toutes les tailles dans la même famille de nœuds. La capacité de flexibilité de la taille réduit le temps que vous devez passer à gérer vos nœuds réservés et, comme vous n'êtes plus lié à une taille spécifique de nœud de base de données, vous pouvez tirer le meilleur parti de votre remise même si votre base de données a besoin de mises à jour.

En savoir plus sur la tarification
Consulter la tarification de MemoryDB

Découvrez les options de tarification de MemoryDB.

En savoir plus 
Apprendre avec un didacticiel
Apprendre avec un didacticiel

Découvrez comment configurer votre premier cluster MemoryDB.

En savoir plus  
 Commencer à créer avec MemoryDB
Commencer à créer avec MemoryDB

Pour démarrer, reportez-vous au guide de l'utilisateur MemoryDB.

Lire la documentation