Exploitez vos SGBD grâce à dbSQWare

Posté par  (site web personnel) . Édité par Nÿco et claudex. Modéré par Pierre Jarillon. Licence CC By‑SA.
30
24
mai
2014
Base de données

Une petite précision tout d'abord sur ce qu'est un SGBD ! Voici ce que nous écrit Wikipédia à ce sujet "En informatique un système de gestion de base de données (abr. SGBD) est un logiciel système destiné à stocker et à partager des informations dans une base de données, en garantissant la qualité, la pérennité et la confidentialité des informations, tout en cachant la complexité des opérations."
Il en existe un grand nombre, plus ou moins libres et plus ou moins répandus. Dans les plus connus du monde libre, il y a notamment MySQL, PostgreSQL…

À l'heure actuelle, une grande majorité des applications voulant stocker de l'information le fait dans un SGDB. Par exemple, nombre de sites web sont développés en environnement LAMP dont le "M" vient de MySQL. Vient ensuite une autre précision à donner sur ce qu'est "l'exploitation" de ces SGBD. Cela regroupe en fait les tâches récurrentes (souvent automatisées) faites par les administrateurs de bases de données.

La première qui vient à l'esprit est celle de backup (sauvegarde). En général, quand on stocke de l'information, c'est que l'on ne veut pas la perdre ! Il est donc de bon ton d'avoir un système de backup efficace qui nous permettra de récupérer nos données perdues ou altérées en cas de problème (matériel, logiciel, erreur humaine…).

Viennent ensuite les tâches dédiées à la performance comme l'update statistics ou la réorganisation (là, on est dans le barbare pour certains, mais on tâchera d'écrire un article dessus si cela intéresse du monde).

Et enfin, il est bien de pouvoir avoir une vision globale de son parc de SGBD en terme de type, version, volumétrie… c'est ce que l'on appelle la gestion de la CMDB et du capacity planning.

Un outil a été développé dans ce sens pour regrouper toutes ces tâches (et bien d'autres), il s'agit de dbSQWare.

dbSQWare a été conçu (et développé sous licence GPL v3) pour exploiter de manière quasi homogène et uniforme 7 SGBD (libres ou non) dans un même outil. La quasi totalité des scripts est développée en shell ksh. L'interface web est codée en PHP avec connecteur mysqli ; la partie JavaScript utilise jQuery. Les indicateurs sont stockés dans une base de donnée MySQL.

L'outil est structuré en 4 modules :

  • SQWareProduction, module d'exploitation
  • SQWareRepository, module de gestion du référentiel et des indicateurs
  • SQWareCentral, module central de l’outil
  • SQWareWeb, module de restitution graphique des indicateurs

Voici le détail des fonctions de chaque module.

SQWareProduction :

  • permet de gérer l'exploitation au sens large des SGBD
  • sauvegardes, restaurations, statistiques, …
  • remontées d’alertes, encapsulation de lancement de jobs…

SQWareRepository :

  • permet de gérer le référentiel (CMDB)
  • paramétrages divers des modules
  • indicateurs
  • logs

SQWareCentral :

  • permet de gérer l'ensemble du parc depuis ce point central
  • lancement centralisé de la collecte d’indicateurs
  • gestion de recherche « full text » dans les référentiels
  • connexion simplifiée par ssh aux différentes instances du parc…

SQWareWeb :

  • permet de faire la présentation des indicateurs et « capacity planning »
  • graphiques, tableaux, exports Excel…
  • restitutions présentées sensiblement de la même façon quel que soit le SGBD

Si vous souhaitez des précisions, n'hésitez pas, nous pourrons également publier des parties plus techniques autour de ces technos…

Merci de votre lecture.

Aller plus loin

  • # login obligatoire

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

    Salut,

    Bizarre pour du Foss d'être obligé de créer un compte pour downloader…

    A+

    Stan

  • # Plutôt du monitoring ?

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

    La partie sauvegarde me semblait alléchante mais au vu du site de démonstration j'ai l'impression que cela s'apparente plutôt à du monitoring.

    En l’état j'ai l'impression qu'on trouve un nouvel outil de supervision pour les sgbd. Si je m'abuse on a déjà des solutions avec nagios, shinken, … voir munin et consorts.

    Est ce que j'ai raté un truc ?

    • [^] # Re: Plutôt du monitoring ?

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

      Salut azerttyu,

      non, dbSQWare n'a rien à voir avec du monitoring.

      C'est juste que tu as du passer 5 minutes max sur l'interface de démo, ou, effectivement, on voit certains indicateurs remonter.

      Mais ca n'est qu'une TOUTE petite partie du produit, l'essentiel étant composé de tonnes de scripts shells orchestrés intelligemment.

      Si tu veux réellement te rendre compte du potentiel du produit, tu n'as pas d'autre moyen que de l'installer et de mettre quelques unes de tes bases sous son contrôle.

      J'y suis passé, et je peux te dire que ca change la vie …

      Highfeeling

      • [^] # Re: Plutôt du monitoring ?

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

        Effectivement, comme le dit si bien Highfeeling, la partie restitution graphique (SQWareWeb) n'est qu'une partie de l'outil (1 des 4 modules comme expliqué dans l'article).
        C'est juste que c'est la plus facile à faire voir en démo, le reste étant sous forme de scripts, pas facile à mettre une démo en place …
        SQWareWeb ne fait pas de monitoring, l'interface est là pour permettre un certain nombre d'analyses sur les capacités, versions, CMDB, suivi d'exploitation, …
        Pour ce qui est du backup et de l'exploitation au sens large, c'est le module SQWareProduction qu'il faut regarder !

        Bon courage.

  • # Optimisation

    Posté par  (site web personnel, Mastodon) . Évalué à 3.

    Une des tâches importantes de l’exploitation des SGBD est l’optimisation, ou du moins la non dégradation des performances au fil du temps.

    Par ex. des outils tels qu’OEM (Oracle) permettent de repérer le top 10 des requêtes les plus gourmandes, avec leur plan d’exécution.

    Est-ce que dbSQWare propose des outils dans ce domaine ?

    • [^] # Re: Optimisation

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

      Pour Oracle oui, en se basant sur AWR (attention à la licence "diagnostic pack") ou statspack !
      Pour les autres SGBD, rien encore …

  • # SGBD + R

    Posté par  . Évalué à 1.

    Petite précision "Oracle, Sybase, SQLServer, MySQL, DB2, PostgreSQL and Ingres" sont des systèmes de gestions de données relationnelles, SGBDR.
    Donc fausse joie pour ma part.

    Ensuite IMHO, je suis toujours septique sur les solutions tout en un.
    Il existe déjà des outils pour faire du requêtage sur tous ces SGBDR, je pense à SquirrelSQL.
    Il existe déjà des outils pour superviser tous ces produits, voir le comm' à ce sujet.
    Il existe déjà des outils de CMDB qui gères tous ces produits.
    Le backup est souvent spécifique au produit bien que toujours sur le même modèle (informer du début du bkp, bkper incr ou full, informer de la fin du bkp) donc unifier dans un outil signifie souvent perdre la main sur les spécificités de chacun. D'ailleurs la plupart des outils de backup proposent des modules dédiés.
    Après, si cet outil est un vecteur pour vendre les compétences de ses concepteurs sous forme de service, pkoi pas.

    • [^] # Re: SGBD + R

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

      Désolé pour la fausse joie, il est vrai que pour l'instant on ne traite que du "R" …
      Il est à l'étude d'intégrer MongoDB et Cassandra mais il nous faut des contributeurs qui connaissent bien la partie exploitation de ceux-ci, donc si cela intéresse quelqu'un de contribuer, n'hésitez pas !

      Pour les septiques, je n'y peux pas grand chose.
      dbSQWare n'est pas un requêteur, donc SquirrelSQL pourquoi pas mais c'est hors-sujet, on ne fait pas la même chose.
      dbSQWare n'est pas non plus un outil de supervision comme dit dans un commentaire plus haut !
      Pour ce qui est de la CMDB, elle est dynamique et permet d'alimenter en automatique d'autres outils comme GLPI par exemple avec les versions, volumétries, … le tout, toujours à jour.
      Concernant le backup, je n'ai pas l'impression que les scripts soient limités en terme d'options, heureusement que l'on ne gère pas RMAN avec les mêmes options que le mysqldump ou le pg_dump !

      dbSQWare est avant tout un outil destiné aux DBA pour les aider dans leurs tâches quotidiennes mais il permet aussi de donner quelques indicateurs à des décideurs ou utilisateurs moins avertis.
      Ceux qui ne veulent pas l'utiliser peuvent très bien s'en passer bien sur.

    • [^] # Re: SGBD + R

      Posté par  . Évalué à 3.

      Bonjour,

      Étant utilisateur de dbSQWare au quotidien je peux dire qu'il rend bien service.

      Pour revenir sur vos remarques, je ne dirais qu'on puisse considérer cette solution comme un tout en un.
      Il couvre le champs large de l'administration des bases. Mais pas l'optimisation ou le requêtage. Ou alors j'ai vraiment raté un truc ;)

      De plus le fait que des outils existent déjà pour une tâche ne rend pas la création de nouvelles solutions inutiles.
      Ici les modules forment un tout cohérent et simple pour effectuer ces tâches, ce qui est confortable.
      Si le besoin de quelque chose de plus spécifique se fait sentir, tous est extensible par vos propres scripts.

      Je pense que les personnes qui ont actuellement 3 ou 4 outils pour réaliser ces tâches ou celles qui font tout à la main devraient laisser une chance à dbSQWare.

  • # postgres

    Posté par  . Évalué à 1.

    L'outil me semble très bien, mais ce que je note c'est encore un "cms" qui pousse à utiliser mysql et délaisse posgresql…

    • [^] # Re: postgres

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

      Je ne pense pas que dbSQWare puisse être qualifier de "CMS" mais je ne suis pas expert dans cette définition …
      Et oui, nous exploitons PostgreSQL mais les indicateurs sont contenus dans une base MySQL !
      Le choix a été fait comme ceci car un LAMP est courant pour ce genre d'outil (LAPP beaucoup moins), mais si cela vous intéresse de travailler sur le fait de laisser le choix postgres pour la base référentiel, vous êtes le bienvenu dans le groupe.

    • [^] # Re: postgres

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

      dbSQWare un CMS ?

      Mouarf, il m'a bien fait rire, ce commentaire.

      Franchement, si certains pouvaient s'abstenir de commenter le résultat de plusieurs années de travail, après avoir juste fait un tour de 5 minutes sur le produit, ca éviterait de sortir des énormités pareilles … ;o)

      highfeeling

      • [^] # Re: postgres

        Posté par  . Évalué à 3.

        Si certains pouvaient être légèrement moins pédant et regarder le fond des commentaires plutôt que la forme ça éviterait de passer pour un prétentieux.

        Avoir une infra sur une base et devoir se coltiner un autre SGBD pour les exploiter ça a quelque chose de contraignant surtout que si on peut imaginer que le support de divers SGBDR pour l'exploitation est contraignant ce n'est probablement pas le cas pour la partie persistance de votre application (pour l'exploitation vous utilisez peut être des spécificités de chaque base, pour la persistance un ORM fait probablement l'affaire).

        Se targuer d'avoir travailler 5 ans sur un projet quand on reproche le manque d'une fonctionnalité, c'est… comment dire ?…

        Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

        • [^] # Re: postgres

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

          Je n'ai pas croisé beaucoup d'entreprises (qui se posent la question d'exploiter de manière industrielle leurs parc de SGBD) qui n'ont pas au moins un petit MySQL dans un coin (pour tout dire aucune, même celles qui font quasi 100% de leur CA autour de PG).
          Maintenant, la remarque est prise en compte et nous adapterons le code si nous trouvons suffisamment de personnes intéressées par le fait de s'installer sur PG, sachant que les contributeurs ne courent pas les rues !

          • [^] # Re: postgres

            Posté par  . Évalué à 4.

            Je ne dis pas que c'est bloquant ou critique, juste que ce n'est pas particulièrement malin d'envoyer bouler quelqu'un qui fais une remarque.

            Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

            • [^] # Re: postgres

              Posté par  . Évalué à 1.

              L'outil me semble très bien, mais ce que je note c'est encore un "cms" qui pousse à utiliser mysql et délaisse posgresql…

              A aucun moment j'ai critiqué votre super dbSQWare.
              J'ai simplement voulu noter une impression que de plus en plus de "logiciels pour le web" utilisent MySQL et pas du tout PostgreSQL.
              Comme ça inclue beaucoup de CMS, j'ai pris le raccourci de mettre "CMS" entre double guillemet en espérant qu'on se focalise le fond du commentaire… J'aurai pu faire mieux !
              Je suis parfaitement conscient que ça donne plus de travail de prendre en charge plus d'une base de données… Ce qui augmente le mérite de tout ceux, entre autre les CMS, qui le font.

Suivre le flux des commentaires

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