Mysql
 sql >> Base de données >  >> RDS >> Mysql

Pourquoi les bases de données NoSql évoluent-elles mieux que les bases de données relationnelles ? Comment dois-je choisir entre eux ?

Un blog comme https://neo4j.com/blog/acid -vs-base-consistency-models-explained/ explique BASE de cette manière :

Ce niveau d'équivoque ne semble pas très fiable, n'est-ce pas ? Ils font un compromis entre disponibilité et cohérence pour gagner en performances et en évolutivité.

C'est bien si vous exécutez un service qui tolère les données non concordantes ou les données obsolètes, ou qui est d'accord avec une petite quantité de données perdues de temps en temps. Si ces problèmes sont rares, mais que vous obtenez des performances supérieures presque tout le temps, c'est très attrayant. Et plus important encore, il fait une bonne démonstration.

Mais si vous devez exécuter un service avec des exigences strictes en matière d'intégrité des données, ce n'est pas bon. Si la perte d'un seul enregistrement de données vous cause des problèmes avec les auditeurs, ou si vous ne pouvez pas lire de manière fiable les données que vous venez de valider un instant auparavant, car cette validation prend du temps à se propager à tous les nœuds de votre cluster, cela pourrait être un deal-breaker .

Le magasin de données à choisir dépend donc des exigences de votre application. Vous seul pouvez juger si la disponibilité et la cohérence détendues d'un magasin de données BASE sont suffisantes pour les besoins de votre application.