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

Outils MySQL Discussion :

Performances de MySQL pour de grandes bases


Sujet :

Outils MySQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    février 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2003
    Messages : 49
    Points : 29
    Points
    29
    Par défaut Performances de MySQL pour de grandes bases
    Bonjour à tous,

    je m'adresse à ceux d'entre vous qui ont une grande expérience des bases de données, et dans ce cas MySQL.

    Mon but est d'écrire un outil en C++ qui ira écrire des informations simple dans une base MySQL (je dis simple car il s'agirait simplement de dates, numéros de séries... rien de bien méchant d'un point de vue données)

    J'ai donc plusieurs questions concernant la mise en place d'un tel système base MySQL / multiples clients C++ qui effectueraient en gros une requête par seconde :

    1/ quelles sont les performances de MySQL dans le cas de multiples requêtes sur une tavle de plusieurs millions, oui oui, millions d'enregistrements (allez, disons 10 par exemple)

    2/ g trouvé MySQL++, une bibliothèque qui va taper dans l'API MySQL pour se faire un client en C++, votre avis sur cette bibliothèque, et éventuellement d'autres exemple???

    3/ si vous me proposez 2 réponses plutôt négatives aux précédentes questions, proposez moi un autre système de base de données, sachant que je devrais toujours faire mon client en C++ (Visual Studio 6) ...?

    Voilà, je pose pas plus de questions pour l'instant, tout dépendra de votre avis.

    @+ et merci pour vos réponses !!!

  2. #2
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 2 622
    Points : 2 970
    Points
    2 970
    Par défaut
    Bonjour,

    Il nous faudrait plus de précisions :

    - Volumétrie estimée de la base et son évolution prévue (en taille, car 10 millions de lignes comportant une clef et un VARCHAR c'est pas pareil que 10 millions de lignes avec 36 colonnes, des BLOB et autres, ni que 10 millions de lignes qui en un an vont devenir 20 millions puis 30...)

    - Une requête par seconde, c'est constant ou il y a des pics d'activité ?

    - Quelle configuration de serveur ?

    Des études de cas d'entreprises qui utililisent MySQL pour de grosses bases (mais sans doute pas sur des petits serveurs) : http://www.mysql.com/why-mysql/case-studies/
    Pensez au bouton

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    février 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2003
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Salut,

    pour ce qui est de la taille, c'est du dérisoire, disons 2 champs date, et trois champs de données (string) qui ferons maxi 50 caractère chaque. Voilà pour le pire cas de données en gros.

    Pour ce qui est du nombre de requêtes, je me suis mal exprimé ... j'ai dit :
    d'un tel système base MySQL / multiples clients C++ qui effectueraient en gros une requête par seconde
    en fait c'est chaque client C++ qui doit faire une requête/sec, mais effectivement je n'ai pas précisé que le nombre de client peut aller jusqu'à 100 maxi... moi perso ca me paraît énorme qu'ils aillent tous taper sur la même base à cette cadence...

    Enfin pour la config du serveur, c'est complètement open, no limit (enfin bon si des limites quand même hein, n'allez pas me parler du super serveur de compète quoi), mais les moyens seront là si c'est ce qu'il faut

    Merci pour ton aide !

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    février 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2003
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    pour précision, ma question sur les performances avait une autre facette, mais décidément aujourd'hui je ne sais pas m'exprimer : cette base a pour but de tracer des informations qui doivent être uniques sur certains champs de données... !!

    j'imagine que ca impacte énormément les performances du système, donc voilou, merci encore !

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    février 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2003
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    allo ? personne pour éclairer ma lanterne là dessus ?

    bon ok g pas été très très clair dès le début, mais bon, I still need help :-(

    Thanks

  6. #6
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 2 622
    Points : 2 970
    Points
    2 970
    Par défaut
    Citation Envoyé par arthix
    j'imagine que ca impacte énormément les performances du système, donc voilou, merci encore !
    Si j'ai bien compris de quoi il s'agit, pas tant que ça. Ca va juste permettre d'utiliser les index de manière optimisée lors d'une recherche sur ces colonnes car elles sont à valeur unique, ce qui implique un accès direct à la ligne concernée.

    Je pense que MySQL est un choix tout à fait convenable au regard de tes besoins, à condition d'avoir un serveur bien dimensionné et que la volumétrie et la charge n'explosent pas au fil des années. Comme ça a l'air d'être surtout du transactionnel (beaucoup d'écritures), j'opterais pour le moteur InnoDB.

    Tu peux au préalable réaliser des tests de montée en charge avec des outils maison ou des produits comme Quest Benchmark Factory.
    Pensez au bouton

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    février 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2003
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    OK merci Maximilian, je vais effectuer des tests dans le courant de la semaine là dessus.

    Pour info, il faudrait que même après 10millions d'enregistrements (cas critique), le temps d'execution de la requete (avec check d'unicité) doit rester inférieur à 0.5 secondes !!!

    Merci pour ton aide, j'ai plus qu'à m'y mettre !

Discussions similaires

  1. Quel langage pour attaquer une base MySQL ?
    Par shkyo dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 30/06/2006, 13h48
  2. [MySQL] Message d'erreur pour atteindre ma base
    Par leloup84 dans le forum Installation
    Réponses: 7
    Dernier message: 04/02/2006, 01h51
  3. Réponses: 5
    Dernier message: 31/12/2005, 13h14
  4. Réponses: 3
    Dernier message: 09/10/2005, 19h10

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