Table des matières:
Vidéo: Quel NoSQL pour vos projets IT ? David Wursteisen & Wilfried Woivré 2024
Comme pour les autres types de bases de données NoSQL, vous pouvez échanger de la cohérence. Les magasins de valeurs-clés offrent généralement un large éventail de modèles de cohérence et de durabilité, c'est-à-dire entre la disponibilité et la tolérance de partition et entre la tolérance de cohérence et de partition.
Certains magasins de valeur-clé vont beaucoup plus loin dans la branche de la cohérence, abandonnant BASE pour un support de cohérence transactionnelle ACID complet. Comprendre où tracer la ligne peut vous aider à raccourcir la liste des bases de données potentielles à considérer pour votre cas d'utilisation.
Cohérence des échanges
Les magasins de valeurs-clés assurent généralement la cohérence des données (c'est-à-dire la possibilité de toujours lire la dernière copie d'une valeur immédiatement après une mise à jour).
Voldemort, Riak et Oracle NoSQL sont tous des magasins de valeurs-clés . Ils utilisent une méthode appelée read repair . Voici les deux étapes impliquées dans read repair :
-
Au moment de lire un enregistrement, déterminez laquelle de plusieurs valeurs disponibles pour une clé est la plus récente et la plus valide.
-
Si la valeur la plus récente ne peut pas être déterminée, le client de la base de données est présenté avec toutes les options de valeur et est laissé à décider par lui-même.
De bons exemples d'utilisation de magasins de valeurs-clés cohérentes par la suite incluent l'envoi de messages sur les réseaux sociaux et la livraison de messages à des utilisateurs ciblés. Si un tweet arrive en retard ou qu'un enfant de cinq minutes est montré, il n'y a pas de perte catastrophique de données.
Implémentation du support ACID
Aerospike et Redis sont des exceptions notables à la cohérence éventuelle. Les deux utilisent des clusters shared-nothing , ce qui signifie que chaque clé possède les éléments suivants:
-
Un nœud maître: Seuls les maîtres fournissent des réponses pour une seule clé.
-
Nœuds de réplicas d'esclaves multiples: Ils contiennent des copies de toutes les données sur un nœud maître. Aerospike fournit une cohérence transactionnelle ACID complète en permettant de rincer immédiatement les modifications sur le disque avant que la transaction soit signalée comme terminée pour le client de base de données.
Aerospike réussit à faire cela à très grande vitesse (ce qui réfute les affirmations selon lesquelles avoir de l'ACID diminue la vitesse d'écriture). Aerospike gère nativement les SSD bruts pour l'écriture de données en contournant le support du système de fichiers des systèmes d'exploitation lents.
Bien sûr, plus de SSD signifient des coûts de serveur plus élevés. Vous pouvez décider que l'utilisation de Redis (configuré pour vider toutes les données sur le disque dès leur arrivée) est suffisamment rapide et garantit une durabilité suffisante pour vos besoins.Le paramètre par défaut dans Redis est de vider les données sur le disque toutes les quelques secondes, laissant une petite fenêtre de perte de données potentielle si un serveur tombe en panne.
Voici quelques exemples de cas où vous pourriez avoir besoin d'un magasin de valeurs-clés conforme à l'ACID:
-
Lorsque vous recevez des données de capteur dont vous avez besoin pour un test.
-
Dans un système de messagerie où vous devez garantir la réception.
Redis, par exemple, fournit un mécanisme de publication / souscription qui sert de backend pour le serveur de messagerie. Cette fonctionnalité combinée à la prise en charge d'ACID permet une messagerie durable.