Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1521 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Transactions nécessaires ou non ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Transactions nécessaires ou non ?

n°2267868
saint malo
Posté le 16-10-2015 à 12:52:09  profilanswer
 

Hello,
 
Ma situation : j'ai plusieurs scripts qui sont lancés régulièrement (via crontab) pour mettre à jour les données d'une partie de ma table. Plusieurs scripts sont susceptibles d'agir en même temps sur une même ligne de ma table, mais à aucun moment sur les mêmes champs de cette ligne. Autrement dit, mon premier script va par exemple modifier le champ A et le champ B de ma ligne n°4, et il est possible que, au même moment, un autre script modifie les champs C et D de cette même ligne.
Du coup, ma question : ai-je besoin d'utiliser des transactions pour m'assurer que tout se passe bien ? Ou est-ce que je peux faire sans les transactions et ça posera pas de problème ?
 
Merci d'avance :)

mood
Publicité
Posté le 16-10-2015 à 12:52:09  profilanswer
 

n°2267884
kao98
...
Posté le 16-10-2015 à 15:39:11  profilanswer
 

saint malo a écrit :

Hello,
 
Ma situation : j'ai plusieurs scripts qui sont lancés régulièrement (via crontab) pour mettre à jour les données d'une partie de ma table. Plusieurs scripts sont susceptibles d'agir en même temps sur une même ligne de ma table, mais à aucun moment sur les mêmes champs de cette ligne. Autrement dit, mon premier script va par exemple modifier le champ A et le champ B de ma ligne n°4, et il est possible que, au même moment, un autre script modifie les champs C et D de cette même ligne.
Du coup, ma question : ai-je besoin d'utiliser des transactions pour m'assurer que tout se passe bien ? Ou est-ce que je peux faire sans les transactions et ça posera pas de problème ?
 
Merci d'avance :)


A priori, les transactions n'ont rien à voir avec ça.
Il s'agira plutôt de problème de lock que de transaction.


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°2267887
saint malo
Posté le 16-10-2015 à 16:03:40  profilanswer
 

Ok, merci ! Je vais me renseigner sur le sujet des locks (sauf si tu as un lien vers un tuto clair de comment ça fonctionne à me conseiller).
 
PS : du coup, ne te fatigue pas trop sur l'autre topic si je n'ai pas besoin des transactions :) (quoique j'avoue que j'aimerais bien cerner l'origine du problème, par curiosité intellectuelle)

n°2267889
kao98
...
Posté le 16-10-2015 à 16:08:14  profilanswer
 

saint malo a écrit :

Ok, merci ! Je vais me renseigner sur le sujet des locks (sauf si tu as un lien vers un tuto clair de comment ça fonctionne à me conseiller).

 

PS : du coup, ne te fatigue pas trop sur l'autre topic si je n'ai pas besoin des transactions :) (quoique j'avoue que j'aimerais bien cerner l'origine du problème, par curiosité intellectuelle)


Si ton script fonctionne de base, t'embêtes pas. Les locks sont normalement transparent à ton niveau, c'est le serveur de BDD qui gère ça.

 

En l’occurrence, je serais curieux de savoir malgré tout ce qu'il se passe (rapport à l'autre topic) ;)


Message édité par kao98 le 16-10-2015 à 16:12:50

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°2267893
saint malo
Posté le 16-10-2015 à 17:01:31  profilanswer
 

Ben en gros, comme je le dis en premier post, j'ai plusieurs scripts susceptibles d'agir chacun sur des champs (forcément différents, aucun de mes scripts n'agit sur un champ sur lequel un autre script agit) d'une (ou plusieurs) mêmes lignes, et je veux m'assurer que ça fonctionnera même si deux scripts (ou plus) modifient la même ligne en même temps. A partir de vagues souvenirs, j'ai pensé aux transactions, mais j'étais pas certain d'en avoir besoin, d'où la question sur ce topic. Et si j'en avais besoin, alors j'avais un problème parce que ça voulait pas bien marcher, d'où l'autre topic :)

 

Merci pour ton aide en tout cas, pour te remercier, si tout se casse, je te fais un procès :o

Message cité 1 fois
Message édité par saint malo le 16-10-2015 à 17:02:40
n°2268369
ashkandie
Posté le 23-10-2015 à 20:24:22  profilanswer
 

saint malo a écrit :

je veux m'assurer que ça fonctionnera même si deux scripts (ou plus) modifient la même ligne en même temps.


 
Sur un SGBD relationnel qui respecte les propriétés ACID lorsque tu update une ligne un lock est posé à minima sur la ligne, et tant qu'il n'est pas levé ton autre script ne pourra pas mettre à jour cette ligne. C'est pour garantir la cohérence des données.
Sur d'autres types de SGBD (NoSQL) je ne connais pas le fonctionnement mais il me semble que les propriétés ACID ne sont pas respectées (enfin pas toutes...) du coup mettre à jour la même ligne en même temps c'est peut être possible, à vérifier.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Transactions nécessaires ou non ?

 

Sujets relatifs
Logiciels nécessaires pour faire du Transact-SQLgcc linker et symboles non necessaires.
Transactions en asp.netSQL Server: priorité entre transactions, ça existe ?
[VBScript] Utilisation de transactions[SQL Server]Journal des transactions de TempDB
[Sybase ASE 12] - Urgent - Purger les transactionsdebutante fille postgres transactions dblinks
Quels droits nécessaires pour utiliser un fichier Access?Fichiers nécessaires pour lancer un EXE sans VB installé ?
Plus de sujets relatifs à : Transactions nécessaires ou non ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR