Gestion de la disponibilité dans nosql

Comme avec d'autres types de bases de données NoSQL, avec des magasins clé-valeur, vous pouvez échanger une certaine cohérence pour une disponibilité. Magasins clé-valeur fournissent habituellement une large gamme de modèles de cohérence et de durabilité - qui est, entre la disponibilité et la tolérance de la partition et la tolérance entre cohérente et partition.

Sommaire

Certains magasins clé-valeur vont beaucoup plus loin sur le bras de la cohérence, l'abandon de BASE pour ACIDE plein appui de la cohérence des transactions. Comprendre où tracer la ligne peut vous aider à raccourcir la liste des bases de données potentiels à considérer pour votre cas d'utilisation.

La cohérence de négociation

Magasins clé-valeur négocient généralement la cohérence des données (qui est, la capacité de toujours lire la dernière copie d'une valeur immédiatement après une mise à jour) afin d'améliorer les temps d'écriture.

Voldemort, Riak, et Oracle NoSQL sont tous finalement cohérente magasins clé-valeur. Ils utilisent une méthode appelée lire la réparation. Voici les deux étapes lire la réparation:

  1. Au moment de la lecture d'un enregistrement, de déterminer lequel de plusieurs valeurs disponibles pour une clé est une récente et la plus valable.




  2. Si la valeur la plus récente ne peut être décidé, alors le client de base de données est présenté avec toutes les options de valeur et est laissé à décider lui-même.

De bons exemples pour l'utilisation de magasins clé-valeur finalement cohérentes comprennent l'envoi messages de médias sociaux et la prestation de publicités à des utilisateurs ciblés. Si un tweet arrive en retard ou une publicité cinq minutes âgé est montré, il n'y a aucune perte catastrophique de données.

Soutien ACID d'exécution

Aerospike et Redis des exceptions notables à la cohérence éventuelle. Tant utilisation shared-nothing clusters, ce qui signifie que chaque touche dispose ce qui suit:

  • Un nœud maître: Seuls les maîtres fournissent des réponses pour une seule touche, ce qui garantit que vous avez la dernière copie.

  • Plusieurs répliques esclave nœuds: Ceux-ci contiennent des copies de toutes les données sur un nœud maître. Aerospike fournit la pleine cohérence des transactions ACID en permettant des modifications à être rincés immédiatement sur le disque avant que la transaction est marqué comme complet pour le client de base de données.

Aerospike parvient à faire cela à très haute vitesse (qui réfute que contenant de l'acide diminue la vitesse d'écriture). Aerospike gère nativement SSD premières pour d'écriture de données en contournant le soutien du système de fichiers lents systèmes d'exploitation.

Bien sûr, plus les SSD signifient des coûts plus élevés de serveur. Vous pouvez décider que l'aide Redis (configuré pour vider toutes les données sur le disque comme il arrive) est assez rapide et garantit une durabilité suffisante pour vos besoins. Le réglage par défaut dans Redis est de vider les données sur le disque toutes les quelques secondes, laissant une petite fenêtre de la perte potentielle de données si un serveur échoue.

Voici quelques exemples de cas où vous pourriez avoir besoin d'une boutique clé-valeur ACIDE conforme:

  • Lors de la réception des données de capteur que vous avez besoin pour une expérience.

  • Dans un système de messagerie où vous devez garantir la réception.

    Redis, par exemple, fournit un mécanisme de publication / souscription qui agit comme un serveur back-end de messagerie. Cette fonctionnalité, associée avec le soutien ACID permet pour la messagerie durable.


» » » » Gestion de la disponibilité dans nosql