Accueil Finances personnelles Appliquer des méthodes de cohérence dans NoSQL - mannequins

Appliquer des méthodes de cohérence dans NoSQL - mannequins

Table des matières:

Vidéo: Microsoft Azure OpenDev—June 2017 2025

Vidéo: Microsoft Azure OpenDev—June 2017 2025
Anonim

La propriété cohérence d'une base de données signifie que Une fois les données écrites dans une base de données, les requêtes suivantes peuvent accéder aux données et obtenir une vue cohérente des données. En pratique, cela signifie que si vous écrivez un enregistrement dans une base de données et que vous demandez immédiatement cet enregistrement, vous êtes certain de le voir. C'est particulièrement utile pour les commandes Amazon et les virements bancaires.

La cohérence est une échelle mobile, cependant, et un sujet trop profond pour couvrir ici. Cependant, dans le monde NoSQL, la cohérence se situe généralement dans l'un des deux camps:

  • Cohérence ACID (ACID signifie Atomicité, Cohérence, Isolation, Durabilité): ACID signifie qu'une fois les données écrites, vous avez une cohérence totale lit.

  • Cohérence éventuelle (BASE): BASE signifie qu'une fois les données écrites, elles apparaîtront en fin de lecture.

Une bataille fait rage entre les gens qui croient qu'une forte cohérence dans une base de données n'est pas requise et ceux qui la croient absolument nécessaire (traduire personnes à NoSQL entreprises «départements de marketing! ).

La réalité est quelque part entre les deux. Est-il important que le message Facebook d'une personne ne soit pas vu par tous ses amis pendant cinq minutes? Non, probablement pas. Changez «Facebook post» en «transaction financière d'un milliard de dollars», et votre attitude change rapidement! L'approche de cohérence que vous choisissez dépend de la situation. Dans mon expérience, cependant, la cohérence forte est toujours le choix dans les situations de système d'entreprise critiques.

ACID

ACID est un ensemble général de principes pour les systèmes transactionnels, pas seulement lié aux systèmes relationnels, ou même simplement aux bases de données, il vaut donc la peine de le savoir. ACID signifie fondamentalement, " Cette base de données a des installations pour vous empêcher de corrompre ou de perdre des données, " ce qui n'est pas une donnée pour toutes les bases de données. En fait, la grande majorité des bases de données NoSQL ne fournissent pas de garanties ACID.

Foundation DB, MarkLogic et Neo4j sont des exceptions notables. Certaines bases de données NoSQL fournissent une garantie de qualité inférieure appelée Vérifier et définir qui vérifie si quelqu'un d'autre a modifié un document avant de permettre la fin d'une transaction. Ce comportement est généralement limité car il a tendance à être implémenté sur un seul enregistrement.

MongoDB est une base de données remarquable qui offre des fonctionnalités de vérification et de définition. Avec MongoDB, une valeur entière de nœud peut être verrouillée pendant une mise à jour, empêchant ainsi toutes les opérations de lecture et d'écriture jusqu'à la fin de l'opération.La société travaille sur la suppression de cette limitation, cependant.

BASE

Pour garantir que chaque client voit toutes les mises à jour (c'est-à-dire qu'il a une vue cohérente des données), une écriture sur le noeud principal contenant les données doit être verrouillée jusqu'à ce que toutes les répliques lues soient à jour. Ceci est appelé

deux - phase commit - la modification est effectuée localement mais appliquée et confirmée au client uniquement lorsque tous les autres nœuds sont mis à jour. BASE assouplit cette exigence, en n'exigeant qu'un sous-ensemble des nœuds contenant les mêmes données pour être mis à jour afin que la transaction réussisse. Une fois la transaction validée, la réplique en lecture seule est mise à jour.

L'avantage de cette approche est que les transactions sont engagées plus rapidement. Ayant des réplicas en direct lisibles signifie également que vous pouvez répartir votre charge de lecture de données, ce qui rend la lecture plus rapide.

L'inconvénient est que les clients qui se connectent à certaines des réplicas lus peuvent voir des informations obsolètes pour une période indéterminée. Dans certains scénarios, cet état est correct. Si vous postez un nouveau message sur Facebook et que certains de vos amis ne le voient pas pendant quelques minutes, ce n'est pas une énorme perte. Si vous envoyez un ordre de paiement à votre banque, vous voudrez peut-être une transaction immédiate.

Une approche alternative aux réplicas en lecture seule est d'avoir un cluster

partagé - rien dans lequel un seul nœud d'un cluster dessert toujours une partie particulière de la base de données. Partagé: rien ne signifie que vous perdez la réplication. Les bases de données qui utilisent cette méthode répliquent généralement leurs données vers une zone secondaire sur un ou plusieurs autres nœuds principaux, mais un seul nœud est le maître des lectures et des écritures à tout moment.

Les clusters sans partage ont l'avantage d'un modèle de cohérence plus simple, mais nécessitent un commit en deux phases pour les réplicas. Ce fait signifie que la transaction se verrouille alors que toutes les répliques sont mises à jour. (Un verrou interne plus le verrouillage pour les autres nœuds vous donne deux phases.)

Cela a généralement moins d'impact que les clusters de données partagés avec des réplicas en lecture seule, car les zones de données de réplicas partagées ne reçoivent pas les demandes de lecture. partie de la base de données. Par conséquent, les validations en deux phases sont plus rapides sur un cluster à rien partagé que sur un cluster avec des réplicas lisibles.

Choisir ACID ou BASE?

Comme vous pouvez vous y attendre, une grande partie de l'argument est que les fournisseurs de NoSQL peuvent se différencier de leurs concurrents en revendiquant une approche différente et unique. Il est intéressant de noter, cependant, le nombre de fournisseurs NoSQL avec la conformité ACID sur leur feuille de route.

Certaines bases de données NoSQL ont une conformité ACID sur leur feuille de route, même si elles sont des partisans de BASE, qui montre à quel point les garanties ACID sont valables pour les systèmes

entreprise, mission - critiques . De nombreuses entreprises utilisent des produits de cohérence BASE pour tester leurs idées, car elles sont gratuites, mais migrent vers une base de données payante conforme à l'ACID lorsqu'elles souhaitent se connecter à un système critique.

Le moyen le plus simple de décider si vous avez besoin d'ACID est de prendre en compte les interactions entre les personnes et les autres systèmes avec vos données. Par exemple, si vous ajoutez ou mettez à jour des données, est-il important que la requête suivante puisse voir le changement? En d'autres termes, les décisions importantes sont-elles suspendues à l'état actuel de la base de données? Le fait de voir des données légèrement dépassées signifie-t-il que ces décisions pourraient être fatales?

Dans les services financiers, le besoin de cohérence est évident. Pensez aux commerçants qui achètent des actions. Ils ont besoin de vérifier le solde de trésorerie avant de négocier pour s'assurer qu'ils ont l'argent pour couvrir le commerce. S'ils ne voient pas le bon équilibre, ils décideront de dépenser de l'argent pour une autre transaction. Si la base de données qu'ils interrogent n'est finalement cohérente, ils peuvent ne pas voir un manque de fonds suffisants, exposant ainsi leur organisation à un risque financier.

Des cas similaires peuvent être créés pour ACID sur BASE dans les secteurs de la santé, de la défense, du renseignement et d'autres secteurs. Tout se résume cependant aux données et à l'importance de la rapidité et de la sécurité des données.

Appliquer des méthodes de cohérence dans NoSQL - mannequins

Le choix des éditeurs

Principes de base du protocole de routage IP Multicast - dummies

Principes de base du protocole de routage IP Multicast - dummies

IP Le routage multicast est le routage du trafic multicast. La nature des données IP Multicast est telle qu'elle a ses propres problèmes de routage de réseau Cisco. Il existe quatre protocoles de multidiffusion principaux pris en charge par le Cisco IOS actuel. L'illustration vous montre approximativement où les protocoles sont utilisés; Ce qui suit est ...

Comment le protocole STP (Spanning Tree Protocol) gère les modifications du réseau - dummies

Comment le protocole STP (Spanning Tree Protocol) gère les modifications du réseau - dummies

Nouveau concentrateur ou passer à un réseau mappé STP (Spanning Tree Protocol)? Pour cet exemple, un concentrateur était connecté à un port sur les deux commutateurs 11: 99 et 77: 22. Un concentrateur était utilisé car il ne disposait pas d'une intelligence réseau. L'effet net est en fait le même que ...

Types de réseau local (LAN) - nuls

Types de réseau local (LAN) - nuls

Un WAN est un type de réseau local (LAN) . Un réseau local est un réseau privé généralement constitué d'une connexion réseau fiable, rapide et bien connectée. Les alternatives sur le framework LAN incluent CAN, MAN et WAN. Ces trois options de réseau sont illustrées ci-dessous: CAN Si vous utilisez le réseau LAN ...

Le choix des éditeurs

Bebo est l'application de médias sociaux pour vous? - les nuls

Bebo est l'application de médias sociaux pour vous? - les nuls

Comment savez-vous quel est le bon média social pour vous? La culture moderne devient de plus en plus dépendante des médias sociaux tels que Bebo, Facebook, Twitter et What'sApp, ainsi que de nombreux autres. Le questionnaire suivant vous aidera à déterminer si vous avez ou non ce qu'il faut pour être social sur le nouveau ...

Comment utiliser Bebo - dummies

Comment utiliser Bebo - dummies

Bebo, la nouvelle application des médias sociaux, est aussi facile à utiliser que C'est amusant à regarder. Vous pouvez obtenir cette nouvelle application sur Google Play Store et Apple App Store. Lancez Bebo et suivez les instructions à l'écran pour terminer le processus de création de compte. Après avoir téléchargé avec succès, ...

Le choix des éditeurs

Ce que vous pouvez trouver dans une barre latérale de blog - des mannequins

Ce que vous pouvez trouver dans une barre latérale de blog - des mannequins

La plupart des blogs contiennent du matériel de barre latérale. La plupart des blogs sont disposés en deux ou trois colonnes, et le contenu de la barre latérale apparaît généralement dans les deuxième et / ou troisième colonnes. Certains blogs n'ont pas de barres latérales, et sur d'autres blogs, vous pouvez découvrir des éléments supplémentaires au-delà de ce que vous voyez ici. Archives basées sur la date: Presque tous les blogs sont ...

Lorsqu'un réseau publicitaire est approprié pour votre blog maman - les mannequins

Lorsqu'un réseau publicitaire est approprié pour votre blog maman - les mannequins

Ne sont que quelques-unes modèles conflit en cours d'exécution des publicités avec vos meilleurs intérêts. C'est quand vous bloguez pour vendre vos propres produits ou pour promouvoir vos services professionnels. Même dans ce cas, il est toujours possible de diffuser des annonces sur ces blogs, surtout si les annonces font la promotion de produits et de services complémentaires et non concurrents. Mais si vous êtes ...

Quand maman blogue pour Swag is Okay - les mannequins

Quand maman blogue pour Swag is Okay - les mannequins

Dans certaines circonstances légitimes vous pouvez vous sentir travailler gratuitement vaut votre temps et la publicité que vous offrez à une marque. Cela peut être comparé à un stage non rémunéré. Si vous êtes stagiaire et que vous avez une excellente expérience de travail, alors c'est une entreprise précieuse. Si vous êtes stagiaire et que vous ne versez que du café et que vous livrez ...