Forum Programmation.autre Création d'une GUI pour monitorer MySQL, Que choisir ?

Posté par  .
Étiquettes : aucune
0
7
fév.
2010
Hello,
Due au récent abandon des très bon "Mysql GUI Tools" par Sun/Oracle (EOL), je compte créer un petit programme pour remplacer Mysql Administrator au niveau du monitoring et des options, donc avec des graphiques comme le permettant l'ancien et bien plus encore...

Seulement je ne sais pas trop quoi choisir pour faire ça, au début je pensais utiliser Java/Swing, tout semblait parfait sauf que JDBC n'a pas accès a certaines fonctions spécifiques a Mysql (par exemple mysql_shutdown et d'autres commandes de "service"), donc je sais pas si sa serait le bon choix...

J'ai aussi pensé a Python/PyGTK qui a accès a l'api C de mysql via "_mysql", ici tout semble parfait, seulement je compte commencer Ruby dans quelques temps pour utiliser Ruby on Rails a la place de Django (Pourquoi ? Car le profiling est infernal sous Django et les core devs ne veulent pas ajouter de Pooleur de connexion pour les bases de données (Oui j'en ai marre de perdre 70ms a chaque requête a devoir me reconnecter a la BDD alors que tout les concurrents ont des solutions pour contrer ca depuis bien longtemps...)), donc si je me remet a Python en même temps, je risque de m'emmêler les pinceaux ;)

J'ai aussi pensé a faire ca via du web (donc xHTML/AJAX), mais vu que je souhaite faire des graphiques en temps réel, ca serais bourré de Javascript et c'est pas vraiment un truc que je souhaite..

Ruby n'est pas utilisable dans mon cas car je souhaite quelque chose de facile a déployer aussi bien sur Windows que Linux (et comme rubyscript2exe semble mort et n'est plus compatible avec les dernières versions de Ruby)

Voila voila, que me conseillez vous de choisir ? Vous personnellement que préféreriez vous avoir ? Je sais que certains utilisateurs aiment pas avoir de VM comme Java pour utiliser des programmes par exemple...
Merci !
  • # re

    Posté par  (site web personnel) . Évalué à 1.

    Ba tu peux faire une librairie ( so/dll ) en C qui pilote ton monitoring via l'api mysql et une interface en java/gtk/qt/html qui consulte tout via un wrapper.
    • [^] # Re: re

      Posté par  . Évalué à 1.

      Le problème c'est que je code pas en C, et c'est vraiment pas un langage qui m'attire (J'aime l'OO) ;)
      • [^] # Re: re

        Posté par  . Évalué à 3.

        Tu pourrais le coder en C++/Qt.

        Mais tu dois bien pouvoir utiliser mysql en java sans JDBC non ?

        Envoyé depuis mon lapin.

        • [^] # Re: re

          Posté par  . Évalué à 2.

          Je vais regarder du coté de C++/Qt, ca a l'air plus complexe que Python (pointeurs et tout ça), mais puissant ;)
          J'ai rien trouver pour outrepasser JDBC dans Java.. :(
  • # MySQL Workbench

    Posté par  . Évalué à 3.

    http://dev.mysql.com/downloads/gui-tools/5.0.html
    La suite des "GUI Tools" est remplacé par le très bon MySQL Workbench, la 5.2 (actuellement en béta) est à parité de fonctions avec les GUI Tools [1], plus les fonctionnalités de conception hérités de DB Designer. Et le remplacement était prévu bien avant le rachat par Oracle.

    Pour ton application de monitoring, c'est selon tes connaissances et le niveau de contrôle que tu souhaite avoir. Je pense que le choix Python/MySQLdb est pertinent dans ton cas.


    > Pourquoi ? Car le profiling est infernal sous Django et les core devs ne veulent pas ajouter de Pooleur de connexion pour les bases de données

    As-tu envisagé de tout simplement changer d'ORM ? par exemple, SQLAlchemy (d'ailleurs, on peut utiliser les piscines de connexions de SQLA avec les connexions DB-API classiques). Tu as également le très bon Storm qui certes ne supporte pas le pooling mais qui est très efficace.
    Sinon, tu peux utiliser un framework python plus flexible comme Turbogears ou bien Pylons.

    [1] à l'exception de la boite à outil de migration, certaines fonctionnalités devraient arriver après la 5.2
    • [^] # Re: MySQL Workbench

      Posté par  . Évalué à 1.

      Le Workbench n'offre aucune solution pour le monitoring, hors c'est justement ce dont j'ai besoin ;)

      J'essais de me mettre a C++/Qt, mais c'est pas facile, il y a beaucoup de choses qui n'existent pas en Java/Python/Ruby...
      • [^] # Re: MySQL Workbench

        Posté par  . Évalué à 3.

        > Le Workbench n'offre aucune solution pour le monitoring, hors c'est justement ce dont j'ai besoin ;)
        Euh, justement si, une capture d'écran pour te prouver (v5.2.15 béta).
        http://img716.imageshack.us/img716/7029/capturemysqlworkbenc(...)

        > J'essais de me mettre a C++/Qt, mais c'est pas facile
        Qt te mâche pas mal de choses, suffisamment pour ne pas regretter Java (voire pour l'enterrer joyeusement dans mon cas). Python et Ruby étant des langages dynamiques, ils ont des facilités qui les rendent attractifs pour faire du prototypage, de l'administration système, les cas où les performances ne sont pas critiques.
        Si tu n'es pas à l'aise avec C++, commence ton application en Python/Ruby avec les bindings Qt, tu pourras toujours la réécrire en C++/Qt plus tard si nécessaire. Par ailleurs, PyQt est un excellent moyen pour se familiariser rapidement avec Qt.
        • [^] # Re: MySQL Workbench

          Posté par  . Évalué à 1.

          Ah j'étais jamais tombé sur ces fonctions de workbench, faudra que je le re-essais ;)
          J'ai essayé de me mettre a Qt, mais j'ai vraiment du mal avec C++... Au final je pense que je vais plutôt me mettre a Python/PyGTK, ca sera le mieux car c'est pour le moment le langage que je maitrise le mieux, et j'ai déjà utilisé (il y a longtemps... GTK)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.