IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Gestion de la concurrence [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 247
    Par défaut Gestion de la concurrence
    Bonjour,
    je me demandais dans le cadre d'un site marchand par exemple si on pouvait mettre en place ou s'il existait une gestion de la concurrence.
    Par exemple on n'autorise pas la vente d'un produit qui n'est plus en stock. Au moment où le client consulte l'article il en reste 1 mais quand il valide la commande il n'en reste plus... Cela est-il géré par le SGBD ? En gros peut on faire plusieurs requêtes en même temps sur la base ? Ou bien faut-il soit même gérer ?

    Merci pour vos éclairages.

  2. #2
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    ce genre de problème peut être réglé avec les transactions :
    http://sqlpro.developpez.com/isolation-transaction/

  3. #3
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    J'suis pas d'accord


    Le terme accès concurrent que tu utilise n'a à mon sens aucun rapport (ou très peu) avec le problème que tu soulève, de même que les transactions.
    Le problème n'est pas le même.

    C'est de la gestion de stock, purement et simplement.

    Pour éviter qu'un client commande un produit qui ne serait plus en stock, et bien il suffit de décompter le stock à chaque commande, et de la quantité commandée.
    Mais tout part du décompte du stock.

    Après, c'est à toi de voir, la politique que tu veux selon cette quantité.
    Comme ne jamais proposer un produit dont la quantité serait égale à 0, du coup, une commande sera impossible.
    Etc, etc ... tout ça tient sur des requêtes, avec ou sans transactions.


    Pour les transactions, et bien tout est une question de statistique, probabilité.
    Comme potentiellement vendre un même produit dans un délai très court, genre 1 seconde (voir moins).
    Ca sous entend qu'il serait possible de faire 60 ventes par minutes pour 1 même produit.
    Ou faire 1440 ventes par heure pour 1 même produit.

    C'est ça un accès concurrent, c'est à dire que dans espace de temps très court, 2 personnes demandent de faire 1 action sur une même table, comme commander 1 même produit en même temps.
    Faux sacrément vendre pour qu'une telle situation arrive.

    Vendre des billets de la coupe du monde de foot à prix cassés, juste la veille du tournoi (par exemple), et bien il risque fort d'avoir des accés concurrents.
    Par contre, vendre des babouches, même à prix cassés, par certain que ça va se bousculer au portillons.

    Je ne suis pas certain que beaucoup de boutique en ligne utilisent les transactions, je dirais même qu'il doit en avoir très peu.

    Bref ... les transactions ne s'imposent pas obligatoirement, même pour du commerce en ligne.
    M'enfin, pourquoi pas

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 247
    Par défaut
    Merci pour vos réponses.
    A moi maintenant d'évaluer les risques.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion de la concurrence
    Par Mynautor dans le forum Hibernate
    Réponses: 1
    Dernier message: 07/10/2006, 10h19
  2. Gestion des accès concurrent
    Par nicoaix dans le forum Access
    Réponses: 3
    Dernier message: 06/07/2006, 15h54
  3. Gestion des accès concurrents à une table
    Par kodo dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 20/06/2006, 14h05
  4. [Hibernate] Gestion d'acces concurrents
    Par K-Kaï dans le forum Hibernate
    Réponses: 9
    Dernier message: 01/06/2006, 16h08
  5. Réponses: 3
    Dernier message: 30/05/2006, 19h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo