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

3 Façons de promouvoir votre site Dreamweaver avec des sites sociaux - dummies

3 Façons de promouvoir votre site Dreamweaver avec des sites sociaux - dummies

Comment amener les gens à visitez votre site Dreamweaver? C'est un problème commun. Améliorez vos chances et économisez votre budget avec ces conseils sur les médias sociaux, qui sont conçus pour vous aider à attirer les bons visiteurs sur votre site Web. Utiliser les sites de réseautage social pour la promotion Le réseautage social, l'art de se rencontrer et de créer des contacts ...

Adobe CS5 Dreamweaver CSS et compatibilité du navigateur - dummies

Adobe CS5 Dreamweaver CSS et compatibilité du navigateur - dummies

Adobe Creative Suite 5 (Adobe CS5) Dreamweaver fournit le navigateur Compatibility Check, qui permet de détecter et de signaler tout problème d'affichage lié à CSS qui peut se produire dans certains navigateurs et versions. La vérification de compatibilité du navigateur vérifie la compatibilité CSS par défaut dans ces navigateurs: Firefox 1-3; Internet Explorer (Windows) 6. 0-8. 0; Internet Explorer (Macintosh) 5. 2; Netscape Navigator 7. 0-8. 0; Opera ...

Adobe CS5 Astuces de dénomination de fichier Dreamweaver - les nuls

Adobe CS5 Astuces de dénomination de fichier Dreamweaver - les nuls

Commencent à nommer Adobe Creative Suite 5 (Adobe CS5) Dreamweaver fichiers et dossiers correctement. Suivez ces conseils pour vous assurer que les liens et les pages apparaissent lorsqu'ils sont censés: Utiliser les minuscules pour tous les noms de fichiers. L'utilisation de toutes les lettres minuscules dans les noms de fichiers est un moyen facile de s'assurer que vous n'avez pas de liens brisés car ...

Le choix des éditeurs

Zones d'entités de sharePoint par type de produit: WSS / MOSS - dummies

Zones d'entités de sharePoint par type de produit: WSS / MOSS - dummies

Microsoft Office SharePoint Server (MOSS 2007 fait officiellement partie de la suite de produits Microsoft Office, ce qui vous donne accès à Windows SharePoint Services (WSS). Le premier tableau présente les modèles WSS et MOSS. Le tableau ci-dessous présente les principales fonctionnalités de SharePoint.

Partager des sites d'équipe avec des utilisateurs externes via SharePoint Online - des nuls

Partager des sites d'équipe avec des utilisateurs externes via SharePoint Online - des nuls

SharePoint Online, un des produits Avec Office 365, fournit une infrastructure unifiée pour les organisations de partager des documents non seulement avec des collègues, mais aussi avec des partenaires externes. Un propriétaire de collection de sites peut activer le partage externe, puis inviter des utilisateurs externes à collaborer sur des sites, des listes et des bibliothèques. Pour résoudre les problèmes de sécurité, l'infrastructure est ...

Partager la charge de travail pour gérer les utilisateurs externes SharePoint Online - les nuls La technologie cloud

Partager la charge de travail pour gérer les utilisateurs externes SharePoint Online - les nuls La technologie cloud

Va sans aucun doute réformer utiliser l'informatique - s'ils ont même un service informatique interne. Si votre entreprise dispose d'un département informatique interne, déchargez votre personnel informatique des aspects tactiques afin qu'ils puissent se concentrer sur les activités stratégiques en redistribuant les tâches informatiques typiques vers les utilisateurs finaux. Si ...

Le choix des éditeurs

Installer Python sur MacOS pour travailler avec des algorithmes - mannequins

Installer Python sur MacOS pour travailler avec des algorithmes - mannequins

L'installation de Mac OS X est disponible en une seule forme 64 bits Avant de pouvoir effectuer l'installation, vous devez télécharger une copie du logiciel Mac à partir du site Continuum Analytics. Les fichiers d'installation se présentent sous deux formes. Le premier dépend d'un installateur graphique; la seconde repose sur la ligne de commande. La version de ligne de commande ...

Intégrer le Big Data à l'entrepôt de données traditionnel - les nuls

Intégrer le Big Data à l'entrepôt de données traditionnel - les nuls

Tandis que les mégadonnées et les données traditionnelles entrepôt se croisent, ils sont peu susceptibles de fusionner de sitôt. Pensez à un entrepôt de données comme un système d'enregistrement pour la veille économique, un peu comme un système de gestion de la relation client (CRM) ou de comptabilité. Ces systèmes sont très structurés et optimisés à des fins spécifiques. En outre, ...

Utilisation des enquêtes sur les données Les enquêtes sur les mines

Utilisation des enquêtes sur les données Les enquêtes sur les mines

Sont utiles pour collecter des données sur presque tous les aspects de l'activité humaine. la vie. Vous ne pouvez ignorer les enquêtes si votre profession n'a rien à voir avec les gens, comme disent, l'astrophysique. Là encore, les astrophysiciens ont besoin de gens pour financer leurs recherches et veulent que les gens visitent les planétariums, alors ils pourraient aussi avoir besoin d'enquêtes! Voici des exemples de ...