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

Administration MySQL Discussion :

Mysql tables ou mass stockage ?


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 27
    Par défaut Mysql tables ou mass stockage ?
    Bonjour à toutes et à tous,

    Je programme actuellement un site qui proposerait à ses membres de créer un forum en utilisant les sous domaines etc (j'abrège)...

    Le forum que l'on peut créer est un forum PhPBB 3.0.0 et je bloque sur le problème suivant:

    Un forum PhPBB a besoin d'une 60aines de tables mysql pour tourner, à chaque fois qu'un membre veut créer un forum est-il mieux de:


    - Mélanger les données de tous les forums dans les 60 tables mais en ajoutant un ID pour récupérer que les infos d'un forum.

    - Ou générer les 60 tables de PhPBB à chaque fois pour chaque forum avec un ID et ainsi séparer tous les forums (PhPBB_1_POSTS, PhPBB_2_POSTS...).



    J'éclaircis, j'estime à 2000 forums pouvant tourner sur mon serveur dédié, estimons à 450 posts par forum créé ce qui voudrait dire que dans la table phpbb_posts j'aurais 2000 * 450 = 900 000 posts.

    Ou alors en générant à chaque fois les tables phpbb pour chaque forum j'aurais 2000 * 60 = 120 000 tables dans ma base de données.


    A votre avis laquelle des solutions est la meilleure sachant que toutes les 2 fonctionnent, le soucis c'est que 900 000 posts dans une table ça fait mal mais le nombre de tables devient aussi conséquent avec l'autre solution. Est ce que le nombre de tables influe grandement la vitesse de réaction de la mysql ?


    J'espère que vous comprendrez la situation, bonne continuation

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    De mon point de vue, le mieux serait de créer une base de données par forum.
    Ça permettrait de garder le même nom pour les 60 tables dans les 2000 bases et de ne rien changer au code, à part la connexion à la base idoine pour chaque forum.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Je me souviens d'un message similaire où SQLPro avait expliqué qu'il valait mieux éviter de multiplier les bases de données sur un serveur car chaque base à besoin d'un espace mémoire pour ses besoins propres, ce qui diminue la mémoire disponible pour les requêtes et donc nuit aux performances.
    Je ne sais pas s'il explique ça dans un de ses articles, pas le temps de chercher maintenant.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    ... chaque base à besoin d'un espace mémoire pour ses besoins propres, ce qui diminue la mémoire disponible pour les requêtes et donc nuit aux performances.
    Je ne sais pas s'il explique ça dans un de ses articles, pas le temps de chercher maintenant.
    C'est assez probable, en effet, je vais chercher.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  5. #5
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    En tout cas, il existe un article qui relate une expérience très proche et qui semble s'en tirer en utilisant des vues plutôt que des tables.
    http://g-rossolini.developpez.com/tu...?page=sommaire
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 27
    Par défaut Merci
    Merci beaucoup, dans un cas ou dans l'autre le serveur surcharge, j'ai un ami qui m'a conseillé de faire moitier moitier autrement dit de générer les 60 tables tous les 100 à 200 forums.

Discussions similaires

  1. récupérer mon mysql [table user]
    Par mohamed dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 24/07/2007, 20h44
  2. mysql - tables dynamiques
    Par w.chris dans le forum Requêtes
    Réponses: 2
    Dernier message: 13/02/2007, 22h30
  3. Checking for crashed MySQL tables in the background
    Par Invité dans le forum Installation
    Réponses: 1
    Dernier message: 11/12/2005, 13h59
  4. [mysql]table avec foreign key
    Par samjung dans le forum Langage SQL
    Réponses: 24
    Dernier message: 24/11/2005, 14h42
  5. [Conception][performance] mysql table de 10000 enregistrements / hashmap
    Par debdev dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 09/07/2005, 11h29

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