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

Passez les examens en améliorant votre mentalité de performance - les nuls

Passez les examens en améliorant votre mentalité de performance - les nuls

Quels que soient les sujets que vous étudiez, êtes à l'école secondaire, au collège, à l'université, ou face à des examens professionnels ou d'entrée, pour passer vos examens, vous devez développer votre esprit de performance d'examen. Faire cela vous aidera à: Développer une attitude d'excellence - toujours viser à atteindre votre meilleur rendement personnel. Décidez exactement de ce que ...

Réussir les examens commence le premier jour de classe - les tirs

Réussir les examens commence le premier jour de classe - les tirs

Sont faciles à supposer aller à des cours, des conférences, des tutoriels ou autres, votre préparation aux examens sera dans quelques mois. Cette hypothèse, cependant, n'est pas utile. Si vous pensez que la préparation aux examens fait partie de chaque cours tous les jours - pas seulement les dernières semaines avant les examens - vous ...

Pour mémoriser l'ordre des opérations du PSAT / NMSQT - mannequins

Pour mémoriser l'ordre des opérations du PSAT / NMSQT - mannequins

L'ordre mathématique des opérations est très important sur les sections mathématiques du PSAT / NMSQT. S'il vous plaît excusez ma chère tante Sally (PEMDAS) est un moyen mnémotechnique (aide-mémoire) qui vous aide à vous rappeler quelle opération vient en premier, qui vient en second lieu, et ainsi de suite. L'ordre compte parce que si vous ignorez tante Sally, vous vous retrouvez avec la mauvaise réponse. ...

Le choix des éditeurs

10 Bonnes façons d'utiliser Bitcoin - les nuls

10 Bonnes façons d'utiliser Bitcoin - les nuls

Si vous voulez utiliser le bitcoin comme une forme d'éducation monétaire virtuelle, Utilisez-le comme un revenu supplémentaire, ou regardez-le dans une perspective d'investissement, bitcoin vous permet de faire à peu près tout ce que vous pouvez imaginer. Voici dix des meilleures façons d'utiliser Bitcoin, même s'il y en a beaucoup, beaucoup ...

Bitcoin Clés publiques et privées - nuls

Bitcoin Clés publiques et privées - nuls

Il y a plus qu'un portefeuille bitcoin que juste l'adresse elle-même. Il contient également la clé publique et privée pour chacune de vos adresses bitcoin. Votre clé privée bitcoin est une chaîne générée aléatoirement (chiffres et lettres), permettant de dépenser des bitcoins. Une clé privée est toujours liée mathématiquement à l'adresse du porte-monnaie bitcoin, ...

Bitcoin Paper Wallets - mannequins

Bitcoin Paper Wallets - mannequins

Possédant un portefeuille papier bitcoin, l'adresse contenant les bitcoins n'a pas encore été connectée au live blockchain, et n'est donc pas "active". "Jusqu'à ce que le portefeuille soit connecté à la blockchain, il est considéré comme étant en stockage à froid (jargon bitcoin pour un compte hors ligne). Vous pouvez toujours vérifier le solde ...

Le choix des éditeurs

Comment lire les données d'Excel en R - dummies

Comment lire les données d'Excel en R - dummies

Si vous demandez aux utilisateurs de R quelle est la meilleure façon est d'importer des données directement à partir de Microsoft Excel, la plupart d'entre eux répondront probablement que votre meilleure option est d'exporter d'abord Excel vers un fichier CSV, puis utiliser lire. csv () pour importer vos données à R. En fait, c'est toujours le conseil ...

Comment lire les erreurs et les avertissements dans R - dummies

Comment lire les erreurs et les avertissements dans R - dummies

Si quelque chose ne va pas avec votre code, toi. Nous devons l'admettre: Ces messages d'erreur peuvent aller de légèrement confus à complètement incompréhensible si vous n'y êtes pas habitué. Mais ça ne doit pas rester comme ça. Lorsque vous vous serez familiarisé avec les messages d'erreur et d'avertissement de R, vous pourrez rapidement ...

Comment lire la sortie de str () pour les listes dans R - dummies

Comment lire la sortie de str () pour les listes dans R - dummies

Beaucoup de gens qui commencent par R sont déroutés par les listes au début. Il n'y a vraiment pas besoin de cela - une liste n'a que deux parties importantes: les composants et les noms. Et dans le cas des listes sans nom, vous n'avez même pas à vous soucier de ce dernier. Mais si vous regardez la structure ...