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

Affichage des résultats du sondage: Quel est selon vous le meilleur SGBD ?

Votants
46. Vous ne pouvez pas participer à ce sondage.
  • SQL

    34 73,91%
  • NoSQL

    3 6,52%
  • Pas d'avis

    9 19,57%
Décisions SGBD Discussion :

Quel est selon vous le meilleur SGBD : SQL ou NoSQL ?


Sujet :

Décisions SGBD

  1. #21
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Citation Envoyé par Waldar Voir le message
    Le paradigme généralement associé au bases NoSQL est celui d'une distributivité horizontale : on rajoute des petits serveurs pas trop puissants ni trop cher, et on augmente les performances de manière quasi linéaire.
    C'est aussi ce que font les SGBD relationnels qui reposent sur une architecture massivement parallèle (MPP : Massively Parallel Processing) comme Teradata.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  2. #22
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 563
    Points
    52 563
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    C'est aussi ce que font les SGBD relationnels qui reposent sur une architecture massivement parallèle (MPP : Massively Parallel Processing) comme Teradata.
    Sauf que l'on fait cela (fédération de serveurs SQL) généralement lorsque l'on a épuisé le scaling up (donc sur des gros serveurs)...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #23
    Membre actif
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 98
    Points : 206
    Points
    206
    Par défaut
    Citation Envoyé par SQLpro Voir le message

    Il serait peut être temps d'apprendre à modéliser correctement !

    A +

    Haha merci pour votre tacte Pour ma part je vois surtout un prof qui vit dans son monde académique idéaliste et complètement utopique face à un ingénieur dans la vie réelle.

    M'enfin continuez de voler sur votre petit nuage rose

    Un profil utilisateur sans champs nullable je pense qu'il faut que vous revoyez un peu les bases du monde réel mon cher monsieur c'est complètement dénué de sens !

    De plus dans le monde réel on utilise très très souvent des ORM et oui l'époque ou on faisait tout en sql avec du pl sql est bien derrière nous ... maintenant on travaille avec des API qui sont les seules à accéder à la bdd donc tout le travail mal propre et difficilement testable qui était fait directement côté bdd s'est vu déporté dans le code. Navré mais dans de nombreuses applications et je parle en connaissance de cause on utilise des ORMs ! Et oui... et je parle pas de petites application bien au contraire

  4. #24
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Mais ce n'est pas parce que beaucoup le font que c'est bien
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #25
    Membre actif
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 98
    Points : 206
    Points
    206
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    Mais ce n'est pas parce que beaucoup le font que c'est bien
    Non mais je pense par contre que si de grands projets qui ont plus de 10 ans utilisent des ORM comme hibernate (gestion des trains au niveau national). Je pense que c'est quand même que ça marche très bien

  6. #26
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 229
    Points : 265
    Points
    265
    Par défaut
    Ça devient intéressant.

    Nom : d64.gif
Affichages : 387
Taille : 522,4 Ko

  7. #27
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 563
    Points
    52 563
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par sbeex Voir le message
    Haha merci pour votre tacte Pour ma part je vois surtout un prof qui vit dans son monde académique idéaliste et complètement utopique face à un ingénieur dans la vie réelle.
    Cela fait plus de 25 ans que je travaille dans l'univers des SGBDR après avoir commencé développeur puis chef de projet, puis directeur de projet puis à mon compte en tant qu'expert conseil... Et si vous lisez aujourd'hui des choses sur développez.com et avez des débats aussi contradictoire, sachez que j'y suis pour une grande part...

    Si vous êtes un tant soit peu curieux, au lieu de dire des stupidités vous pourriez aller sur Internet (peut être ne savez vous pas ce que c'est ???) voir quelques site professionnel comme LINKEDIN ou vous en saurez plus sur moi...

    Pour info, j'ai créé de "grosses application" dont j'ai été le responsable du modèle car c'était des systèmes critiques... En particulier le concentrateur du SPC GD (application Aquaréel : gestion des crues du grand Delta du Rhone afin de prévenir des inondations) aujourd'hui repris partout en France et depuis quelques années en Europe. ERP dans le domaine de la santé. GMAO dans le domaine de l’hôpital. Gestion de mutuelle santé. Solution de recherche par text mining dans les brevets et thèses...
    Et mes clients actuels s'appellent Géodis, Thales, Alstom, SATEC (l'INSEE du Luxembourg), et bien d'autres dont quelques banques...
    Et quand je fait des audits de perf, et que je voit l'utilisation imbécile des ORM, je tue !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  8. #28
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 563
    Points
    52 563
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par sbeex Voir le message
    Non mais je pense par contre que si de grands projets qui ont plus de 10 ans utilisent des ORM comme hibernate (gestion des trains au niveau national). Je pense que c'est quand même que ça marche très bien
    ha oui, ben quand on voit par exemple le site tgv.com qui est la pire merde que je cite en exemple depuis 15 ans comme le plus catastrophique des sites web, on peut en effet parler de réussite !!!

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  9. #29
    Membre éprouvé
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Août 2014
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Août 2014
    Messages : 476
    Points : 1 042
    Points
    1 042
    Par défaut
    Citation Envoyé par sbeex Voir le message
    Haha merci pour votre tacte Pour ma part je vois surtout un prof qui vit dans son monde académique idéaliste et complètement utopique face à un ingénieur dans la vie réelle.

    M'enfin continuez de voler sur votre petit nuage rose

    Un profil utilisateur sans champs nullable je pense qu'il faut que vous revoyez un peu les bases du monde réel mon cher monsieur c'est complètement dénué de sens !

    De plus dans le monde réel on utilise très très souvent des ORM et oui l'époque ou on faisait tout en sql avec du pl sql est bien derrière nous ... maintenant on travaille avec des API qui sont les seules à accéder à la bdd donc tout le travail mal propre et difficilement testable qui était fait directement côté bdd s'est vu déporté dans le code. Navré mais dans de nombreuses applications et je parle en connaissance de cause on utilise des ORMs ! Et oui... et je parle pas de petites application bien au contraire
    Totalement pas d'accord sur l'ensemble de vos remarques. Toutes les fois ou j'ai rencontré des gens utilisant un ORM etaient systématiquement a la recherche de personnes pour les sauver
    de situations devenues ingérables (nhibernate/EF) car non maitrise de ce qui est réalisé.

    Dans ma boite je le vis au quotidien. Ceux qui font du EF (profils c# et pas BDD) et les autres (ADO.net classique ou les requetes sont maitrisées).
    Les resultats sont edifiants.
    La maintenance et les situations de crise sont légions pour ceux utilisant les ORM (modele objet C# == super puis rapidement on se rend compte que pour faire meme des requetes les plus simples, ce sont des requetes de plusieurs 10aines de lignes qui sont générées et qui te ramenent tout le modele objet et relations en memoire).
    Alors les dev passent ensuite du temps a essayer de comprendre comment fonctionne l'ORM pour le 'tuner'... au lieu de faire du SQL qui ne les interesse pas (jamais compris cette logique de fonctionnement).
    Idem pour les bases nosql; ce sont les ememes personnes qui disent que le SQL c'est compliqué et qui se noient dans mongodb et ses syntaxes barbares et inbitables = totalement illogique

    Probleme vecu recemment : utilisation Driver Devart+EF = le code generé faisait systématiquement des requetes abominables en terme de perfs = le code C# a ete revu afin qu'il genere le code SQL ciblé (un comble !).
    Puis quelques mois plus tard, on doit changer les versions de ces 2 logiciels ... et la encore patatrac, le code generé n'est plus le meme (!!!!).
    Donc la solution a ete vite resolue; suppression des couches devart+EF (il n'y avait pas des 100aines de requetes non plus). Resultat : quand c'est maitrisé les perfs sont là; le code est maitrisé; que demande t on de plus ?

    Depuis on a banni systématiquement tout ORM et on s'en porte pas plus mal (ne serait ce que pour la maintenance et eviter les situations de crise dans des logiciels qui sont deja des milles feuilles). Pour moi les ORM c'est fait pour cacher la faineantise de certains devs qui ne veulent pas chercher a comprendre ce qu'il font ("l'outil magique").

  10. #30
    Membre éprouvé
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Août 2014
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Août 2014
    Messages : 476
    Points : 1 042
    Points
    1 042
    Par défaut
    Citation Envoyé par sbeex Voir le message
    De plus dans le monde réel on utilise très très souvent des ORM et oui l'époque ou on faisait tout en sql avec du pl sql est bien derrière nous ... maintenant on travaille avec des API qui sont les seules à accéder à la bdd donc tout le travail mal propre et difficilement testable qui était fait directement côté bdd s'est vu déporté dans le code. Navré mais dans de nombreuses applications et je parle en connaissance de cause on utilise des ORMs ! Et oui... et je parle pas de petites application bien au contraire
    non non, ce mode de fonctionnement n'est pas obsolete et sans conteste le plus efficace encore en 2017. Encore une fois je le vis sur nos projets en intra.
    A la base on embauche plutot des dev C# (qui se serve de la BDD comme d'un serveur de fichier) la seule chose les interessant etant de faire des API (a la mode) + tests unitaires a gogo.

    Le pb c'est les perfs; la BDD est vue comme un simple stockage.
    Toute l'intelligence autrefois definie dans le code embarqué en BDD est fait ailleurs sur le reseau via une URL/Reverse Proxy.
    Du coup les A/R et charge reseau est phénomenale; les besoins memoires/puissance de calculs sont enormes; le couplage est fort entre les elements car si l'un des elements fonctionnels n'est pas present, y a plus rien qui marche.
    Ah oui, generalement il faut doubler les infras/redondance etc.

    Archi SOA donc, terme a la mode. Tout le monde fait des API mais faire des logiciels avec une granularité tres fine ca devient une catastrophe en perf lorsque tu dois faire du traitement de masse (tres bien gere dans du code directement en BDD puisque ca ne sort pas de la BDD).
    Dans nos API les données sont recuperees sur reseau (via reverse proxy) sur la BDD, traitées localement (besoins memoires potentiellement importants) puis enregistrées via autre API dans la meme BDD. Dans ces archi SOA on est dans des concepts tres theoriques; en pratique c'est pas on en terme de perf.
    Je le vis au quotidien avec certaines de nos nouvelles equipes (developpeurs chevronnés en C# et experts archi Orange) mais on voit aussi quels sont les projets qui ont "toujours des problemes avec l'infra (souvent le coupable lorsque l'usine a gaz SOA ne fonctionne pas ou mal).
    A coté nos autres projets codés facon old-school, on deroule sans aucun soucis de perfs.

    D'ailleurs notre hierarchie commence serieusement a revenir la dessus car ils voient qu'on deroulent des heures et qu'au final les logiciels ne sont pas plus performants, largement plus couteux et pas plus fiables (malgré les centaines d'heures passées a coder des TU).

  11. #31
    Inactif  

    Homme Profil pro
    NR
    Inscrit en
    Juin 2013
    Messages
    3 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : NR
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2013
    Messages : 3 715
    Points : 1 184
    Points
    1 184
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par kilroyFR Voir le message
    non non, ce mode de fonctionnement n'est pas obsolete et sans conteste le plus efficace encore en 2017. Encore une fois je le vis sur nos projets en intra.
    A la base on embauche plutot des dev C# (qui se serve de la BDD comme d'un serveur de fichier) la seule chose les interessant etant de faire des API (a la mode) + tests unitaires a gogo.

    Le pb c'est les perfs; la BDD est vue comme un simple stockage.
    Toute l'intelligence autrefois definie dans le code embarqué en BDD est fait ailleurs sur le reseau via une URL/Reverse Proxy.
    Du coup les A/R et charge reseau est phénomenale; les besoins memoires/puissance de calculs sont enormes; le couplage est fort entre les elements car si l'un des elements fonctionnels n'est pas present, y a plus rien qui marche.
    Ah oui, generalement il faut doubler les infras/redondance etc.

    Archi SOA donc, terme a la mode. Tout le monde fait des API mais faire des logiciels avec une granularité tres fine ca devient une catastrophe en perf lorsque tu dois faire du traitement de masse (tres bien gere dans du code directement en BDD puisque ca ne sort pas de la BDD).
    Dans nos API les données sont recuperees sur reseau (via reverse proxy) sur la BDD, traitées localement (besoins memoires potentiellement importants) puis enregistrées via autre API dans la meme BDD. Dans ces archi SOA on est dans des concepts tres theoriques; en pratique c'est pas on en terme de perf.
    Je le vis au quotidien avec certaines de nos nouvelles equipes (developpeurs chevronnés en C# et experts archi Orange) mais on voit aussi quels sont les projets qui ont "toujours des problemes avec l'infra (souvent le coupable lorsque l'usine a gaz SOA ne fonctionne pas ou mal).
    A coté nos autres projets codés facon old-school, on deroule sans aucun soucis de perfs.

    D'ailleurs notre hierarchie commence serieusement a revenir la dessus car ils voient qu'on deroulent des heures et qu'au final les logiciels ne sont pas plus performants, largement plus couteux et pas plus fiables (malgré les centaines d'heures passées a coder des TU).
    +1, mais la solution est pourtant simple, coder encore plus de tests unitaire

  12. #32
    Membre actif
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 98
    Points : 206
    Points
    206
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    ha oui, ben quand on voit par exemple le site tgv.com qui est la pire merde que je cite en exemple depuis 15 ans comme le plus catastrophique des sites web, on peut en effet parler de réussite !!!

    A +
    Si vous aviez regardé le drapeau qui se glisse sur mon profil developpez -> on y voit la Suisse. Le service de train le plus ponctuel d'Europe et également un des plus dense ! (soit dit en passant).

    Sur le reste je pense que vous ne connaissez pas les ORM suffisamment pour avoir un avis réel. Vous vous cachez derrière votre SQL puriste et c'est très bien mais dommage d'être si fermé au monde quand même Le développement évolue les moeurs aussi.

  13. #33
    Membre actif
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 98
    Points : 206
    Points
    206
    Par défaut
    Citation Envoyé par kilroyFR Voir le message
    Pour moi les ORM c'est fait pour cacher la faineantise de certains devs qui ne veulent pas chercher a comprendre ce qu'il font ("l'outil magique").
    Question de point de vue pour moi ce genre de remarque montre plutôt la fainéantise des gens qui ont appris le SQL et qui n'ont plus eu envie d'apprendre une autre façon de faire leur requêtes

    Perso je connais très bien le SQL j'ai commencé par la et oui c'est très bien. Mais un ORM simplifie et structure la communication entre le monde de la prog et celui de la bdd et évite pas mal de désagréments, offre pas mal de souplesse. On peut très bien faire des requêtes très performantes via un ORM suffit de pas être trop c**. C'est clair que si on réfléchi pas à l'impact de faire des boucles de findById() ca va pas aller ! Mais c'est pareil avec du SQL natif... sans oublier les système de cache. J'entend a moins que vous fassiez des applications boursière bien souvent vous pouvez mettre en cache les données et réduire les requêtes !

    C'est juste une question de maitrise et de préférence.

  14. #34
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 374
    Points : 1 401
    Points
    1 401
    Par défaut
    Citation Envoyé par sbeex Voir le message
    Mais un ORM [...] offre pas mal de souplesse.
    On parle de la même chose ?

  15. #35
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 153
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Ne connaissant pas du tout le "NoSQL" (rien que le concept, assorti du nom, me fait fuir), je me pose pas mal de questions.

    Déjà, sur la forme (ou le fond, en fait).

    "NoSQL" : le SQL étant un langage, je m'attends, sous ce nom, à trouver un "autre langage", ou "pas de langage du tout" (ça va être coton) pour accéder à mes données, quelle que soient leur forme et à la limite, le moteur de données dernière.
    => Le "NoSQL", c'est en fait ce que fait n'importe quel ORM, ou surcouche telle que Linq to SQL de .NET

    Mais en fait, quand on creuse un peu, non, pas du tout.
    En fait, le "NoSQL", c'est un "NoSGBD" en fait, voir même un SGBD (pour "Système de Gestion de Bordel Désorganisé").

    En effet, les inconditionnels du NoSQL, mettent en avant :
    - La possibilité de gérer des données non structurées (donc en gros, coder de la merde sans analyse)
    - La possibilité de faire évoluer la structure des données dans le temps (donc en gros, ne pas penser à demain quand on code)

    Parmi les exemples qui ont pu être donné ici, on parle de :
    - Gestion de sessions utilisateur sur un site WEB
    - Gestion de documents
    - Gestion de données hétérogènes (table poubelle powa)

    Ok, alors moi, je suis peut-être stupide, mais si j'aià gérer dans ma base de données des variables de session utilisateur :
    => Je sérialise mon objet en binaire, XML ou JSON, et je le met dans une table de type "clé/valeur".

    Si j'ai des documents à gérer :
    => J'utilise une colonne de type varbinary que je vais indexer (sâchant que sous SQL Server par exemple, je peux écrire mon propre filtre d'indexation, qui va être capable de me produire en sortie des données structurées telles que auteur, sujet, date de modif, l'âge du capitaine, couleur du bateau) y compris à partir d'un format totalement propriétaire (cf. mon projet, il y a quelques années, de faire un filtre d'image permettant d'indexer du texte reconnu par OCR dans des images insérées dans la base de données : et en plus ça marchait !).

    Si j'ai de la merde à stocker dans une table poubelle, je vais faire pareil que pour la table de session : clé/valeur avec données sérialisées

    Si j'ai juste besoin de stocker, je sérialise en binaire (on aura du mal à trouver plus rapide que de stocker et charger des données dans leur format natif).

    Et si j'ai besoin de faire des recherches dessus, une sérialisation XML ou JSON me permettra tout à fait de faire des recherches, y compris indexées, sur des données dont la structure diffère d'une ligne à l'autre.

    Après, je parle ici de fonctionnalités présentes dans SQL Server, certainement aussi dans Oracle, mais très probablement absentes de MySQL (car j'ai l'impression que le débat "SQL vs NoSQL" c'est surtout "MySQL vs tous les autres poubellarium de la terre".

    Suis-je le seul à avoir ce ressenti ?

    PS : Désolé si le ton est légèrement trollèsque, après-tout on est vendredi...
    On ne jouit bien que de ce qu’on partage.

  16. #36
    Membre expérimenté
    Profil pro
    Ingénieur système Linux N3
    Inscrit en
    Juillet 2008
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur système Linux N3

    Informations forums :
    Inscription : Juillet 2008
    Messages : 419
    Points : 1 527
    Points
    1 527
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    Bonjour,

    Ne connaissant pas du tout le "NoSQL" (rien que le concept, assorti du nom, me fait fuir), je me pose pas mal de questions.

    Déjà, sur la forme (ou le fond, en fait).

    "NoSQL" : le SQL étant un langage, je m'attends, sous ce nom, à trouver un "autre langage", ou "pas de langage du tout" (ça va être coton) pour accéder à mes données, quelle que soient leur forme et à la limite, le moteur de données dernière.
    => Le "NoSQL", c'est en fait ce que fait n'importe quel ORM, ou surcouche telle que Linq to SQL de .NET

    Mais en fait, quand on creuse un peu, non, pas du tout.
    En fait, le "NoSQL", c'est un "NoSGBD" en fait, voir même un SGBD (pour "Système de Gestion de Bordel Désorganisé").

    En effet, les inconditionnels du NoSQL, mettent en avant :
    - La possibilité de gérer des données non structurées (donc en gros, coder de la merde sans analyse)
    - La possibilité de faire évoluer la structure des données dans le temps (donc en gros, ne pas penser à demain quand on code)

    Parmi les exemples qui ont pu être donné ici, on parle de :
    - Gestion de sessions utilisateur sur un site WEB
    - Gestion de documents
    - Gestion de données hétérogènes (table poubelle powa)

    Ok, alors moi, je suis peut-être stupide, mais si j'aià gérer dans ma base de données des variables de session utilisateur :
    => Je sérialise mon objet en binaire, XML ou JSON, et je le met dans une table de type "clé/valeur".

    Si j'ai des documents à gérer :
    => J'utilise une colonne de type varbinary que je vais indexer (sâchant que sous SQL Server par exemple, je peux écrire mon propre filtre d'indexation, qui va être capable de me produire en sortie des données structurées telles que auteur, sujet, date de modif, l'âge du capitaine, couleur du bateau) y compris à partir d'un format totalement propriétaire (cf. mon projet, il y a quelques années, de faire un filtre d'image permettant d'indexer du texte reconnu par OCR dans des images insérées dans la base de données : et en plus ça marchait !).

    Si j'ai de la merde à stocker dans une table poubelle, je vais faire pareil que pour la table de session : clé/valeur avec données sérialisées

    Si j'ai juste besoin de stocker, je sérialise en binaire (on aura du mal à trouver plus rapide que de stocker et charger des données dans leur format natif).

    Et si j'ai besoin de faire des recherches dessus, une sérialisation XML ou JSON me permettra tout à fait de faire des recherches, y compris indexées, sur des données dont la structure diffère d'une ligne à l'autre.

    Après, je parle ici de fonctionnalités présentes dans SQL Server, certainement aussi dans Oracle, mais très probablement absentes de MySQL (car j'ai l'impression que le débat "SQL vs NoSQL" c'est surtout "MySQL vs tous les autres poubellarium de la terre".

    Suis-je le seul à avoir ce ressenti ?

    PS : Désolé si le ton est légèrement trollèsque, après-tout on est vendredi...
    Je ne peux que plussoyer à ton post. Tout ce que j'ai vu du nosql, c'est la gestion du bordel désorganisé. Une vision de l'avenir, des données bien organisées dans des champs bien définis, et même si on veut stocker du document, un fichier par document sur un stockage et une entrée dans une table pour garder la trace, c'est tout aussi performant que tout mettre en vrac dans un gros machin duquel on sera incapable de sortir le fichier voulu en cas de problème, alors qu'on pourra toujours réindexer une arborescence...

  17. #37
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 563
    Points
    52 563
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par sbeex Voir le message
    Si vous aviez regardé le drapeau qui se glisse sur mon profil developpez -> on y voit la Suisse. Le service de train le plus ponctuel d'Europe et également un des plus dense ! (soit dit en passant).

    Sur le reste je pense que vous ne connaissez pas les ORM suffisamment pour avoir un avis réel. Vous vous cachez derrière votre SQL puriste et c'est très bien mais dommage d'être si fermé au monde quand même Le développement évolue les moeurs aussi.
    Lisez ce que j'ai écrit sur ce sujet, il y a fort longtemps...
    http://sqlpro.developpez.com/cours/b...s-epaisses.pdf
    Pour info j'ai fait plus d'une dizaine d'audit sur des BD "victimes" d'ORM et le constat est toujours le même :
    revenir en arrière pour se débarrasser, d'une manière ou d'une autre, des plaies de l'ORM...
    J'ai connue deux entreprises d’édition de logiciel qui ont fait faillite à cause d'hibernate. L'une ayant été racheté par le Crédit Foncier de France qui a entièrement refait l'application principale en code Delphi à l'époque en moins de temps qu'avait duré le développement initial avec Hibernate.
    Il y a deux ans, le DSI d'une importante compagnie d'assurance du havre a été viré parce qu'il avait tout misé sur hibernate... Les audits ont montré des régressions spectaculaire de performances par rapport à l'ancienne application écrite en Power Builder malgré une batterie de serveur 20 fois plus rapide...
    Vous trouverez d'autres exemples dans mes conseils d'optimisation dans cette série d'article :
    http://sqlpro.developpez.com/optimisation/

    Enfin, lors du master class d'Orsys dont nous avons déjà parlé et qui a eut lieu cette semaine, plusieurs personnes qui y assistaient nous ont donné leurs sentiment sur les performances catastrophiques qu'ils avaient à cause des ORM et notamment d'Hibernate.

    Ted Neward disait déjà en 2004 "Object-Relational mapping is the Vietnam of our industry"... C'est hélas tragiquement encore le cas...
    http://blog.jonasbandi.net/2011/04/a...e-vietnam.html
    https://news.ycombinator.com/item?id=7310077

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  18. #38
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 563
    Points
    52 563
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par sbeex Voir le message
    ... sans oublier les système de cache. J'entend a moins que vous fassiez des applications boursière bien souvent vous pouvez mettre en cache les données et réduire les requêtes !...
    Le problème est que les SGBDR font naturellement du cache, car toutes les données sont traitées exclusivement en mémoire et pas comme le croient naïvement bon nombre de développeur par des fichiers sur des disques....

    Donc, faire du cache de données côté code, sur un SGBDR qui fait du cache de données, je n'en voit pas l'intérêt, à moins que vous n'ayez des actions chez Kingston ou autre fabriquant de RAM !!!

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  19. #39
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 153
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Donc, faire du cache de données côté code, sur un SGBDR qui fait du cache de données, je n'en voit pas l'intérêt, à moins que vous n'ayez des actions chez Kingston ou autre fabriquant de RAM !!!
    Là, ça dépend quand même un peu de ce qu'on met en cache (mais pas besoin d'un ORM pour réutiliser un array de données en mémoire).

    Un exemple classique, c'est les listes de valeur pour les "catalogues" : si dans un écran de recherche, je peux indiquer une vingtaine d'attributs, tous sous forme de listes déroulantes contenant quelques dizaines de lignes (couleur, taille, matière, etc.) autant stocker ces listes sur le serveur de traitement, voir même le poste client, et éviter de charger 20 x 50 lignes depuis la base de données à chaque chargement de cet écran de recherche.
    => Ces listes n'évoluent pour ainsi dire jamais, donc un cache d'une durée de quelques heures/jours évite un trafic inutile avec le serveur de base de données, et permet, même si le volume de données n'est pas énorme, d'éviter au serveur de conserver en cache ces données inutilement, d'autant que les libellés de ces valeurs ne sont généralement exploités que dans la partie front office (donc ne seront pas chargées en mémoire par d'autres requêtes).

    Mais en revanche, pas besoin d'un ORM ou d'une base NoSQL pour charger quelques tableaux en mémoire...
    On ne jouit bien que de ce qu’on partage.

  20. #40
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 563
    Points
    52 563
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    Mais en revanche, pas besoin d'un ORM ou d'une base NoSQL pour charger quelques tableaux en mémoire...
    On est tout tout à fait d'accord ,et c'est ce que je préconise à mes clients. Et pour ce faire j'utilise une vue qui concatène toutes les listes afin de ne faire qu'un seul round trip...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Sondage: Quel est selon vous le Meilleur livre sur les systèmes?
    Par Lana.Bauer dans le forum Autres systèmes
    Réponses: 0
    Dernier message: 07/06/2013, 14h29
  2. Débat : Quel est selon vous le Meilleur livre sur la virtualisation ?
    Par Community Management dans le forum Livres
    Réponses: 0
    Dernier message: 07/06/2013, 13h14
  3. Réponses: 0
    Dernier message: 10/08/2010, 15h56
  4. Réponses: 12
    Dernier message: 18/08/2009, 18h12
  5. Quel est selon vous le meilleur AV du marché ?
    Par lavazavio dans le forum Sécurité
    Réponses: 6
    Dernier message: 10/10/2005, 08h30

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