web-dev-qa-db-fra.com

Explication de la terminologie BASE

L'acronyme BASE est utilisé pour décrire les propriétés de certaines bases de données, généralement des bases de données NoSQL. On parle souvent de l'opposé de ACIDE .

Peu d'articles traitent des détails de BASE, alors qu'ACID contient de nombreux articles qui développent chacune des propriétés d'atomicité, de consistance, d'isolation et de durabilité. Wikipedia ne consacre que quelques lignes au terme.

Cela me laisse avec quelques questions sur la définition:

Basiquement UNEdisponible, Ssouvent, Ecohérence ventuelle

J'ai interprété ces propriétés comme suit, en utilisant cet article et mon imagination:

Fondamentalement disponible pourrait faire référence à la disponibilité perçue des données. Si un seul nœud tombe en panne, une partie des données ne sera pas disponible, mais toute la couche de données reste opérationnelle.

  • Cette interprétation est-elle correcte ou renvoie-t-elle à autre chose?
  • Update: déduire de la réponse de Mau , cela pourrait-il signifier que la couche de données entière accepte toujours de nouvelles données, c'est-à-dire qu'aucun scénario de verrouillage n'empêche l'insertion immédiate de données?

Etat souple: Tout ce que j'ai pu trouver, c'est le concept de données nécessitant un rafraîchissement périodique. Sans actualisation, les données expireront ou seront supprimées.

  • La suppression automatique de données dans une base de données me semble étrange.
  • Les données périmées ou obsolètes ont plus de sens. Mais ce concept s’appliquerait à tout type de stockage de données redondant, pas seulement à NoSQL. Décrit-il autre chose alors?

Consistance éventuelle signifie que les mises à jour finiront par se répercuter sur tous les serveurs, avec suffisamment de temps.

  • Cette propriété est claire pour moi.

Quelqu'un peut-il expliquer ces propriétés en détail?

Ou est-ce juste un acronyme tiré par les cheveux et sans signification qui fait référence aux concepts d'acides et de bases que l'on trouve en chimie?

111
Niels van der Rest

L'acronyme BASE a été défini par Eric Brewer , également connu pour avoir formulé le théorème CAP .

Le théorème CAP indique qu'un système informatique distribué ne peut pas garantir toutes les trois propriétés suivantes en même temps:

  • Cohérence
  • Disponibilité
  • Tolérance de partition

Un système BASE abandonne la cohérence.

  • Fondamentalement disponible indique que le système fait garantit la disponibilité, en termes du théorème CAP.
  • Soft state indique que l'état du système peut changer avec le temps, même sans entrée. Cela est dû au modèle de cohérence éventuel.
  • Eventual cohérence indique que le système deviendra cohérent dans le temps, étant donné qu'il ne reçoit aucune entrée pendant cette période.

Brewer admet que l’acronyme est artificiel :

J'ai trouvé l'acronyme [de la BASE] avec mes étudiants dans leur bureau plus tôt cette année-là. Je conviens que c'est un peu artificiel, mais "ACID" aussi - bien plus que les gens ne le réalisent, nous avons donc pensé que c'était assez bon.

120
Niels van der Rest

Cela a à voir avec BASE : le type de cavalier BASE est toujours fondamentalement disponible (pour les nouvelles relations), dans un état souple (aucune de ses relations ne dure très longtemps) et éventuellement cohérent (un jour il sera se marier).

34
Mau
  • Disponibilité de base : La base de données semble fonctionner la plupart du temps.

  • Soft State : Les magasins ne doivent pas toujours être cohérents en écriture ou mutuellement cohérents.

  • Cohérence éventuelle : Les données doivent toujours être cohérentes en ce qui concerne la manière dont un nombre quelconque de modifications est effectué.

2
MANISH PRIYADARSHI

C’est peut-être parce que ACID est un ensemble de propriétés que les substances affichent (en chimie) et que BASE en est un complément. Soft State Eventual Consistency 'a été décidé car il est en pleine forme.

1
siebenheaven

ACID et BASE sont des modèles de cohérence pour les SGBDR et NoSQL respectivement. Les transactions ACID sont beaucoup plus pessimistes, c’est-à-dire qu’elles sont plus préoccupées par la sécurité des données. Dans le monde de la base de données NoSQL, les transactions ACID sont moins à la mode car certaines bases de données ont assoupli les exigences en matière de cohérence immédiate, de fraîcheur et de précision des données afin d’obtenir d’autres avantages, tels que l’évolutivité et la résilience.

BASE signifie -

  • Disponibilité de base - La base de données semble fonctionner la plupart du temps.
  • Soft-state - Les magasins n'ont pas à être cohérents en écriture, pas plus que les différents réplicas doivent être cohérents les uns avec les autres.
  • Consistance éventuelle - Les magasins conservent la cohérence à un moment ultérieur (par exemple, paresseusement au moment de la lecture).

Par conséquent, BASE assouplit la cohérence pour permettre au système de traiter la demande même dans un état incohérent.

Exemple: Cela ne le dérangerait pas si leur Tweet était incohérent au sein de leur réseau social pendant une courte période. Il est plus important d'obtenir une réponse immédiate que d'avoir un état cohérent des informations des utilisateurs.

0
Pujan Srivastava

Pour ajouter aux autres réponses, je pense que les acronymes ont été dérivés pour montrer une échelle entre les deux termes afin de distinguer le degré de fiabilité des transactions ou des demandes entre RDMS et Big Data.

De cet article acide vs base

En chimie, le pH mesure la basicité et l’acidité relatives d’un solution aqueuse (solvant dans l'eau). L'échelle de pH va de 0 (substances très acides telles que l'acide de batterie) à 14 (substances fortement alcalines telles que le mensonge); L’eau pure à 25 ° C (77 ° F) a un pH de 7 et est égale à neutre. 

Les ingénieurs de données ont intelligemment emprunté de l’acide à la base à des chimistes et à acronymes créés dont les significations ne sont pas exactes, mais qui sont toujours aptes Représentations de ce qui se passe dans un système de base de données donné en discutant de la fiabilité du traitement des transactions.

Autre point, je travaille avec Big Data avec Elasticsearch. Pour clarifier, une instance de Elasticsearch est un nœud et un groupe de nœuds forme un cluster. 

Pour moi, d'un point de vue pratique, BA (fondamentalement disponible), dans ce contexte, a l'idée de plusieurs noeuds maîtres pour gérer le cluster Elasticsearch et ses opérations. 

Si vous avez 3 nœuds maîtres et que le nœud maître dirigeant actuel tombe en panne, le système reste en place, bien que dans un état moins efficace, et un autre nœud maître remplace son poste principal. Si deux nœuds maîtres tombent en panne, le système reste toujours actif et le dernier nœud maître prend le relais.

0
James Drinkard