Ne pas avoir de propriétés ACID signifie que la base de données fonctionne bien sur les clusters. Mais l'ACID est quelque chose de très fondamental. Comment une base de données peut-elle bien fonctionner s'il n'y a pas d'atomicité, de cohérence, d'isolement et de durabilité (ACID)?
Comment une base de données peut-elle bien fonctionner s'il n'y a pas d'atomicité, de cohérence, d'isolement et de durabilité?
Ils ne peuvent pas. C'est pourquoi ces fonctionnalités ont été créées.
Parfois, vous pouvez contourner le manque de ces fonctionnalités, car vous devez effectuer une mise à l'échelle horizontale ou la mise à l'échelle devient votre première et principale préoccupation. Vous n'aurez peut-être pas besoin de cohérence maintenant, vous pourrez peut-être gérer plus tard. . Il se peut que vous n'ayez pas besoin de toutes les données retournées dans l'ordre: vous pouvez souhaiter que les requêtes soient exécutées en parallèle sur des clusters. Ou vos données peuvent elles-mêmes être relativement peu utiles.
Regardez les principaux produits qui implémentent ces types de systèmes - généralement, ils sont nuls et ils contiennent de nombreuses erreurs. Avez-vous déjà publié quelque chose sur votre mur sur Facebook juste pour le voir disparaître et réapparaître plusieurs fois? Ou pour avoir une conversation sur laquelle vous commentez disparaître pendant une longue période et revenir? C'est des centaines de personnes qui travaillent pour gérer les données en utilisant "NoSQL" et en compilant PHP en C++. Cela ne fonctionne pas particulièrement bien Cela fonctionne, et pour la plupart des entreprises, c'est plus loin qu'elles ne peuvent développer une alternative.
Ne pas avoir de propriétés ACID signifie que la base de données fonctionne bien sur les clusters. Mais l'ACID est quelque chose de très fondamental. Comment une base de données peut-elle bien fonctionner s'il n'y a pas d'atomicité, de cohérence, d'isolement et de durabilité (ACID)?
Je ne rejette rien de Vérace, Evan Carroll & Randolph West.
Selon le mythe du blog Eric Brewer Ici Dans NoSQL : Past
, Present
, Future
Eric Brewer
a une section particulièrement fine pour expliquer les idées souvent difficiles à comprendre de [~ # ~] base [~ # ~] (Basically Available
, Soft State
, Eventually Consistent
)
Je ne dirais pas plus ici à ce sujet. Comment une base de données NoSQL peut-elle bien fonctionner s'il n'y a pas d'atomicité, de cohérence, d'isolement et de durabilité (ACID)?. Parce qu'il sera trop tôt pour se prononcer sur cette jonction, selon mes connaissances professionnelles en dba. Mais je veux partager avec vous le DataStax CEO Billy Bosworth
Blog ici à partir du InfoWorld New Tech Forum
où le "Top 5 misconceptions about ACID compliance in a nonrelational world.
"peut être utile pour résoudre votre requête
Idée reçue n ° 1: vous ne pouvez pas créer une application en ligne sans la conformité ACID
Idée reçue n ° 2: l'ACID est une proposition tout ou rien
Idée reçue n ° 3: la cohérence éventuelle viole le "C" dans "ACIDE"
Idée reçue n ° 4: les bases de données et les applications ont une relation 1: 1, c'est donc soit/ou entre les technologies relationnelles et NoSQL
Idée reçue n ° 5: les bases de données NoSQL sont réservées aux applications "à l'échelle Web"; tout le reste utilise une technologie compatible ACID
Pourquoi c'est important selon Eric Brewer
a continué d'affiner sa compréhension du théorème [~ # ~] [~ # ~] (Disponibilité de cohérence, tolérance de partition) à la lumière de nouvelles technologies. Dans le même temps, les développeurs, les architectes et les administrateurs de bases de données font progresser leur compréhension de ces compromis. Au moins, ils se rendent compte que nous ne vivons pas dans un monde unique et que nous devons utiliser les bonnes technologies pour le bon travail. Ceux qui libèrent leur esprit des idées fausses relationnelles exploiteront la puissance et les opportunités offertes par ce nouveau monde de technologies de bases de données diverses.
Pour plus de références hors concours NoSQL: les meilleures bases de données de documents , ici et ici
La grande chose à propos de NoSQL est le concept de " cohérence éventuelle " ou "réplication optimiste".
En supposant que rien dans la base de données ne dépend vraiment de l'ordre des insertions, des modifications ou des suppressions, cela améliore considérablement les performances.
Après tout, la performance est une caractéristique.
Avant que les gens voient le mot "cluster" et pensent que ce doit être la prochaine "Nouvelle Chose" et donc ce doit être "Une Bonne Chose (tm))", il suffit de lire l'article de Ted Dziuba ici =. Le titre pourrait vous donner une idée de son point de vue sur les bases de données NoSQL.
Les bases de données NoSQL ne sont pas ACIDE , elles sont BASE (*)! Fondamentalement disponible, état doux, finalement cohérent! Cela signifie que, si disons qu'Amazon l'utilisait, vous seriez toujours en mesure "d'acheter" un livre auprès d'eux sans aucune garantie quant à était disponible en stock pour remplir votre commande! Ils sont une tentative de "battre" théorème de Brewer ! Eh bien, devinez quoi Jim? "Ye cannae a battu la physique ah des lois Jim!" (avec mes excuses à Gene Roddenberry :-)).
Michael Stonebraker est vraiment un homme à écouter en matière de technologie de base de données, réussissant à la fois sur le front académique et commercial.
Il est d'accord avec la prémisse fondamentale de NoSQL selon laquelle ce qu'il appelle OldSQL est cassé! Il soutient simplement (de force) que jeter les garanties ACID, c'est littéralement jeter le bébé avec l'eau du bain.
Ce qu'il défend, ce sont des bases de données conformes à ACID sans tous les verrouillage et surcharge transactionnelle de systèmes comme Oracle, MS SQL Server, PostgreSQL et MySQL, entre autres. Il suggère également de les envoyer au " home pour les logiciels retirés " :-)!
Comment, demandez-vous? Eh bien, deux façons:
Son point sur NewSQL est que pour les applications OLTP, vous avez besoin d'une architecture partagée sans partage (consultez son VoltDB - basé sur HStore) et cela pour OLAP vous avez besoin de magasins à colonnes dédiés, c'est-à-dire Vertica (basé sur CStore, qu'il a vendu à HP).
Pour répondre directement à la question réelle: "Pourquoi les bases de données nosql ne sont-elles pas conformes aux acides" parce qu'elles n'ont pas été conçues pour l'être. ACID demande beaucoup de travail et requiert beaucoup de ressources dans la machine, mais même Google sont obligés de revenir à ACID et SQL!
NoSQL est une tentative de sortir des contraintes fondamentales et, en conséquence, échouera. Cela ne veut pas dire qu'il n'y aura pas de niche dans certains domaines, mais ce sera toujours juste ça, niche!