Définition - Que signifie la concurrence de base de données?
La concurrence de base de données est la capacité d'une base de données à permettre à plusieurs utilisateurs d'affecter plusieurs transactions. C'est l'une des principales propriétés qui sépare une base de données des autres formes de stockage de données, comme les feuilles de calcul.
La capacité d'offrir la concurrence est unique aux bases de données. Les feuilles de calcul ou autres moyens de stockage de fichiers plats sont souvent comparés aux bases de données, mais ils diffèrent sur ce point important.
Les feuilles de calcul ne peuvent pas offrir à plusieurs utilisateurs la possibilité d'afficher et de travailler sur les différentes données d'un même fichier, car une fois que le premier utilisateur ouvre le fichier, il est verrouillé pour les autres utilisateurs. Les autres utilisateurs peuvent lire le fichier, mais ne peuvent pas modifier les données.
Definir Tech explique la concurrence des bases de données
Les problèmes causés par la concurrence de base de données sont encore plus importants que la capacité à prendre en charge des transactions simultanées.
Par exemple, lorsqu'un utilisateur modifie des données mais n'a pas encore enregistré (validé) ces données, la base de données ne doit pas permettre aux autres utilisateurs qui interrogent les mêmes données de visualiser les données modifiées et non enregistrées. Au lieu de cela, l'utilisateur ne doit afficher que les données d'origine.
Presque toutes les bases de données traitent la concurrence de la même manière, bien que la terminologie puisse différer. Le principe général est que les données modifiées mais non enregistrées sont conservées dans une sorte de journal ou de fichier temporaire.
Une fois enregistré, il est ensuite écrit dans le stockage physique de la base de données à la place des données d'origine. Tant que l'utilisateur effectuant le changement n'a pas sauvegardé les données, il devrait être en mesure de visualiser les données qu'il modifie.
Tous les autres utilisateurs qui demandent les mêmes données doivent afficher les données qui existaient avant la modification. Une fois que l'utilisateur a enregistré les données, les nouvelles requêtes doivent révéler la nouvelle valeur des données.