La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  Flux concurrentiels
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Flux concurrentiels  (Lu 779 fois)
Flux concurrentiels
« sur: le 11-02-2005 a 16:15:50 »
xplosion
Membre récent
*

Hors-Ligne

Messages: 1



Je suis un lama!

Voir le Profil
Répondre avec citation

Bonjour tout le monde,
jutilise MySQL 3.23.49-max-nt et je voudrais savoir commence est gerer le fait que plusieurs utilisateur modifient en meme temps la meme table... Est ce que ca planter, est ce que ca va generer une page d'erreur, ... bref comment ca ce passe? Merci d'avance.

Rapporter au modérateur  

Re:Flux concurrentiels
« Répondre #1 sur: le 15-02-2005 a 18:35:09 »
gobmok
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 23



Je ne suis pas un lama!

Voir le Profil    E-Mail
Répondre avec citation

c'est ce qui s'appelle du multi-threading en programmation: en gros le programmeur divise certaines partie de programme en thread, celle-ci sont comme des fonctions, mais peuvent s'éxécuter à des moments différents et sont indépendantes du programme.

chacune des opérations (ajouter un nouvel utilisateur, modifier une donnée, pour une base de donnée, ou additionner quelque chose pour un programme classique) se font une à une et sont stockés dans une queu(en fait il y a plusieurs queus de différents niveaux) que le processeur gére

chacune de ces opérations ont des niveaux d'importance, un thread(une opération) au niveau plus important passera avant les autres( comme quand tu appuyes désespéremment sur ctrl-alt-del, logiquement, c'est une opération prioritaire et s'éxécutera avant un programme déja lancé )

de plus l'avantage de ce systéme c'est que tant que le thread est dans la queu, on peut l'arréter, le mettre en pause pour l'activer plus tard.

ta base de donnée utilise ce systéme à chaque fois qu'un utilisateur active un script qui modifie une base de donnée, cette modification crée un thread qui est stocké sur le serveur dans la queu de thread (générallement en mém cache)et ceux-ci sont éxécutés une à une selon leur importance

c'est comme ça qu'aucune collision(deux informations se réalisant en même temps) ne se passe pour ta base de donnée

Rapporter au modérateur  

plus grand tu es, plus l'horizon est loin (proverbe viking)
Re:Flux concurrentiels
« Répondre #2 sur: le 16-02-2005 a 19:56:48 »
tavman
Habitué
***

Hors-Ligne

Messages: 466



HS

Voir le Profil
Répondre avec citation

Sauf qu'il y a un léger soucis... c'est que souvent, les serveurs laissent pas 100 modifications à faire dans la queue (simple raison de sécurité pour pas saturer le serveur...) Donc en fait, si jamais t'as 1000 requetes à faire en même temps dans une base de donnée, tu risque d'en avoir pas mal qui vont pas s'executer (enfin si j'ai bien compris le truc).

Mais bon, tu peut te dire que t'as une bonne marge quand même... mais faut savoir que c'est brider.

Petite précision : je suis pas du tout spécialiste en la matière et je peut me tromper... mais il me semble que c'est bien comme ca que le truc est fait.

Rapporter au modérateur  

I-Radian
Re:Flux concurrentiels
« Répondre #3 sur: le 16-02-2005 a 23:27:44 »
gobmok
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 23



Je ne suis pas un lama!

Voir le Profil    E-Mail
Répondre avec citation

éxact, dans le fichier de configuration de MysQL:

set-variable   = thread_stack=64K

elle est aussi limité dans le nombre de connecté en même temps, ainsi que dans la taille de ses tables( ceci pour mysql j'en suis sur, pour oracle, c'est toi qui décide de la taille maximum pour chaque table par ex )

je tiens à signaler que MySQL posséde également un service de journalisation de ces opérations. Celui-ci valide une opération lorsque celle-ci est terminé, c'est ce qui permet à la bd de 'revenir en arrière', le systéme n'est pas infaillible, et ill 'oublie' certaines de ces opérations dont il n'a pas de détail suffisant ( note que la façon dont MySQL récupère ses données sont variables selon la table que tu as choisi en MySQL, certaines n'ont même pas de systéme de journalisation )

mais ne me faites pas dire ce que je n'ai pas dit: le multithreading n'est pas seulement utile à MySQL, mais aussi apache, ie, un jeu vidéo, et tout autres programme un peu neuf qui soit, c'est juste un mécanisme qui permet d'augmenter la capacité du processeur, puisqu'il permet de gérer et subdiviser les taches qu'il a à réaliser, et donc également permet de gérer des services multiclient( donc serveur web, jeu en ligne,  etc ) avec grande efficacité en évitant les problèmes de collision des données dans le temps

pour compléter ma réponse du premier message:

chacune de ces opérations s'éxécutent de manière asynchrone (indépendante dans le temps) ce qui fait qu'il y a parfois de légère incohérence:

première opération dans le temps: +10% dans commande.produit.prix
deuxième opération dans le temps: +5 dans  commande.produit.prix

imaginons la valeur de base:10
si tu applique dans l'ordre l'opération tu obtiens:16

cependant , des opérations peuvent se passer dans le désordre, et dans ce cas tu obtiens: 16,5

sache que quelques soient la façon dont les opérations se déroule: LES DEUX SONT CONCIDERE BONNES

tant qu'une opération se déroule en entier(celle-ci pouvant comporter plusieurs petites opérations qui elles ont un ordre précis) et validé par le systéme de journal cité plus haut, l'opération est considéré comme valide

j'espère que ce dernier message aura servi à quelqu'un par ce que là je crois que je me suis un peu emporté..........

« Dernière Édition: le 16-02-2005 a 23:52:17 par gobmok » Rapporter au modérateur  

plus grand tu es, plus l'horizon est loin (proverbe viking)
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg