Voir le flux RSS

autran

Les bases de données, on peut s'en passer

Noter ce billet
par , 20/03/2017 à 19h32 (549 Affichages)
Je viens de tomber sur le forum MySql Python sur une jeune développeuse qui demande un conseil pour aller chercher dans un SGBD une table en lecture seule avec 3 colonnes et peut-être une centaine de lignes.
Je profite donc de ce billet pour mettre en garde contre l'utilisation systématique et abusive des SGBD.

Un SGBD est requis pour stocker un nombre important de données ou pour des données qui seraient lues et modifiées par plusieurs utilisateurs simultanées. C'est ce type de besoin que l'on retrouve dans 90% des systèmes d'information.
En dehors de ces cas d'utilisation je dirai que l'utilisation d'une base de données est à proscrire.

En effet utiliser une base de données surcharge le logiciel final le rendant moins portable moins sécurisé et plus compliqué.
Dans le cas d'un client lourd type python ou C++ qui doit charger des données depuis une petite table on pourrait en particulier utiliser un fichier simple léger et portable pour gagner en vitesse simplicité sécurité.

Je précise que ce billet n'est en rien une critique du dynamisme de cette jeune développeuse en herbe mais plutôt un constat de cette société de consommation du SGBD qui pousse systématiquement la population de développeurs à acheter de la base de données. Pourtant le fichier simple n'est en rien dépassé que se soit pour y stocker des données légère ou des options de configuration. Pour preuve JEE y recours massivement.

Envoyer le billet « Les bases de données, on peut s'en passer » dans le blog Viadeo Envoyer le billet « Les bases de données, on peut s'en passer » dans le blog Twitter Envoyer le billet « Les bases de données, on peut s'en passer » dans le blog Google Envoyer le billet « Les bases de données, on peut s'en passer » dans le blog Facebook Envoyer le billet « Les bases de données, on peut s'en passer » dans le blog Digg Envoyer le billet « Les bases de données, on peut s'en passer » dans le blog Delicious Envoyer le billet « Les bases de données, on peut s'en passer » dans le blog MySpace Envoyer le billet « Les bases de données, on peut s'en passer » dans le blog Yahoo

Catégories
Sans catégorie

Commentaires

  1. Avatar de CinePhil
    • |
    • permalink
    Comme j'ai déjà écrit parfois : une seule table (et relativement petite), c'est pour un tableur ; plusieurs tables (potentiellement grosses et avec des données interdépendantes, c'est pour une base de données.
    Dans ce cas d'un logiciel qui présente une table de données, je suis bien d'accord qu'un fichier (csv, clé/valeur, XML...) est bien suffisant.
    Mais dès qu'on veut mettre en oeuvre une BDD relationnelle, il faut le faire bien avec une vraie conception et une architecture de données solide.
  2. Avatar de autran
    • |
    • permalink
    Bonjour CinePhil et merci pour ce retour,

    Oui je ne l'ai pas précisé mais tu as parfaitement raison, concevoir une base de données est un vrai métier. Une telle réalisation nécessite au préalable d'avoir mené une analyse des données et des processus via une méthode telle que merise ou UML. Et même une analyse conceptuelle correcte qui aboutirait à un MCD qui tient la route ne serait pas encore suffisant. En effet encore faut-il connaître le SGBD pour produire un MPD solide et réactif.
  3. Avatar de gene69
    • |
    • permalink
    salut

    l'emploi d'une base de donnée c'est toujours un peu une surcharge apparante de travail par rapport à un fichier simple.
    le point de vue performance, je ne l'accepte pas, parce qu'une base de donnée nous epargne de coder la réentrance et le coté multi utilisateur, ça permet de faire gonfler le volume de données sans tout refaire... et SqlLite prétent avoir de meilleure performance que du fichier plat, par des optimisations d'acces aux données dont le moteur est capable.

    ça permet aussi d'avoir une distinction claire entre les données et le logiciel, ça permet d'éviter d'avoir du code qui écrit n'importe ou, et ça permet de simplifier la monté en charge (on peut plus facilement basculer sur une architecture 3 tier )

    La seule vraie question c'est quelle base de données sql pour quel usage. Oracle partout c'est trop cher, mais des petits fichiers plats c'est l'enfer à exploiter.
  4. Avatar de autran
    • |
    • permalink
    Bonjour Gene69

    Systématiser l’emploi d’une base de données pour tout les développements que ce soient des Systèmes d’information à 10 M€ ou à 50 € est à mon avis assez dangereux.
    Je sais que les urbanistes ont actuellement tendance à imposer se genre de règles au non de la bonne gouvernance car il pense que ce genre de mesure simplifie la cartographie du SI et fait émerger des briques factorisables (le SGBD entre autres).

    L’écueil principal de cette bonne pratique de la gouvernance est dans un premier temps de multiplier par 10 ou 100 le coût des petit logiciels à 1 ou 2 utilisateurs.
    De plus, Choisir comme tu le suggères un produit unique pour les 500 SI de la boite rendra le SI Global de l’entreprise totalement captif d’un éditeur ou d’une communauté open-source.

    Et oui a gouvernance technique, c’est plus compliqué qu’il n’y parait et penser simple n’est pas toujours penser juste