est-ce qu'il y aura un test avec une requête optimisé pour postgres avec un résultat déplorable sous ms sql server?
ou bien c'est impossible, ms sql server le surpasse pour quoi?
est-ce qu'il y aura un test avec une requête optimisé pour postgres avec un résultat déplorable sous ms sql server?
ou bien c'est impossible, ms sql server le surpasse pour quoi?
C'est bien pour ça qu'il écrit: "C'est identique à un INDEX RANGE SCAN suivi d'un TABLE ACCESS BY INDEX ROWID. "
OK alors sur le même site je vois: https://use-the-index-luke.com/fr/sq...cle/operations
Ici on parle de RANGE SCAN mais quand tu lis la définition tu retrouves exactement la même chose que ce qui était associé à INDEX SCAN dans la page précédente.
Mais c'est spécifique à Oracle.
Donc: les deux bases utilisent une terminologie différente pour désigner la même chose.
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/ * * * * *
Question philosophique… pourquoi croyez vous que je gens payent du Oracle ou du SQL Server ? Parce que les entreprises aiment jeter leur argent par les fenêtres ? S'il n'y avait pas un intérêt, notamment en terme de performances, tout le monde prendrait PostgreSQL et Microsoft comme Oracle auraient fait faillite. Or ce n'est pas le cas...
Dans le benchmark sur le spatial, les requêtes Q2 et Q4 sont meilleures avec PostgreSQL…
Quand à trouver des résultats ou PostgreSQL explose les performances par rapport à SQL Server, j'avoue en avoir rarement rencontré en prod… Peut être parce que je ne pratique PostgreSQL pas suffisamment…. Mais je me souvient que du temps d'avant la version 2016, SQL Server ne disposait pas de la fonction STRING_AGG et on était obligé de passer par du XML pour ce faire, alors que PostgreSQL l'implémentait… Dans ce cas, les différences étaient très sensibles !
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/ * * * * *
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/ * * * * *
j'ai arrêté de compté les fois où des licences étaient acheté mais que le produit n'était directement pas utilisé
ou bien que le produit choisie était un exagé pour les besoins
tel qu'oracle doit être utilisé car l'entreprise à beaucoup de donnée... et que tu te rends compte que beaucoup c'est même pas 10gig...
des décideurs pressés, c'est pas ça qui manque dans cette industrie
Bonjour
je vais me mêler de ce qui ne me regarde pas mais c'est pas grave.
J'ai un très grand respect pour SQLPro dont j'apprends depuis 20 ans à partir de ses cours et nombreux articles.
A la question pourquoi SQL Server ou Oracle, il serait bien que tu y répondes.
J'ai déjà fait remarquer il y a quelques temps ici en lisant les CGU de SQL Server 2016 Web que comme pour tous les produits microsoft, Micrtosoft décline toute responsabilité sur la conséquence de l'utilisation de ses produits. Ça commence basiquement par Windows, server ou non.
Moi j'ai peur que ce soit juste des grands noms de l'industrie, du bon marketing, et des développeurs qualifiés sur ces produits qui justifient ça. Et quand tu es décideur, tu prends rarement des risques. Et à partir de là on peut développer, notamment sur ces risques qu'on croit ne pas prendre.
quand je lis :
Donc je lis les requêtes, les jeux de données et je me pose quelques questions :Dans le cadre d'un long article à paraître dont le sujet est l'étude de la portabilité de bases Microsoft SQL Server vers PostGreSQL, j'ai été amené à effectuer des tests comparatifs.
Je publie ici un exemple concernant d'importantes différences de performances concernant les manipulation de chaines de caractères et notamment dans le cadre de recherches avec insensibilité à la casse ou aux accents.
Quel rapport avec une situation réelle ?
Cet article sent très fort l'article partial, à charge, biaisé, comme on veut... On parle d'une situation réelle, de vraies bases et d'une vraie base de code que l'on va porter ?
Ou bien c'est juste un scénario imaginaire qui va permettre de démontrer ce que l'on souhaite démontrer pour la rédaction de cet article ?
Ne pas réécrire de code ?
Je suis désolé mais quand on a une application, que le code relatif à la BDD soit coté langage applicatif ou coté BDD, j'entends par là pas seulement les requêtes mais aussi tout ce qui est procédures stockées, curseurs, vues, triggers...
Bref dans quel cas c'est réellement portable sans réécriture de code ? En vrai parce que déjà la requête donnée en exemple est déjà obligée d'incorporer un "LOWER"
Franchement... Pour n'utiliser que du SQL server je sais très bien que le moindre portage m'obligerait à repenser la base de code. Parce que évidemment quand je cherche à faire un truc, j'utilise cet outil et ses spécificités. Et la vie réelle d'une appli c'est rarement juste des select et des insert.
Enfin je sais pas quand on prend un produit comme drupal qui est censé pouvoir fonctionner aussi bien sur mysql que postgreSQL, on indique à l'installation ce que l'on va utiliser. On va pas juste changer un lien ODBC comme ça...
Ça rime à quoi tout ça ?
Émotion
Infantilisation
Culpabilisation
Christophe Alévèque - 18 Mars 2021
Pour PostGreSQL pas besoin de démarchage commercial, vu le lobbying que tu fais !
Pour ce qui est de l'Open Source, Microsoft est l'un des plus gros contributeur.... Donc tu peut lui dire merci, même si ça te fais mal au cul !
https://www.infoworld.com/article/32...en-source.html
https://www.freecodecamp.org/news/th...-be98ab854e87/
Microsoft ayant finalement décidé d’ouvrir complétement .net en 2015 du fait que les contributions externes devenaient plus importantes que le code réalisé en interne par les équipes de MS/
https://devblogs.microsoft.com/dotne...source-update/
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/ * * * * *
Ceci est en partie vraie et en partie faux.
https://www.microsoft.com/fr-fr/store/b/aboutwarranties
Tous les constructeurs, éditeurs et autres prestataires mettent des limites dans leurs contrats... Cependant il y a la Loi qui impose le défaut de vice caché.... et donc l'engagement de responsabilité ! C'est pour cela d'ailleurs que toute entreprise est obligé de prendre une assurance RC pour le cas ou...
C'est un extrait très court d'un article qui contient déjà plus de 90 pages word..... Vous me jugez déjà sur 1% de la chose ?......
Donc je lis les requêtes, les jeux de données et je me pose quelques questions :
Quel rapport avec une situation réelle ?
Cet article sent très fort l'article partial, à charge, biaisé, comme on veut... On parle d'une situation réelle, de vraies bases et d'une vraie base de code que l'on va porter ?
Ou bien c'est juste un scénario imaginaire qui va permettre de démontrer ce que l'on souhaite démontrer pour la rédaction de cet article ?C'est là tout l'enjeu de l'article que j'écris... Ou régler le curseur entre 10 % de modif à faire ou 90... ?
Ne pas réécrire de code ?
Je suis désolé mais quand on a une application, que le code relatif à la BDD soit coté langage applicatif ou coté BDD, j'entends par là pas seulement les requêtes mais aussi tout ce qui est procédures stockées, curseurs, vues, triggers...
C'est bien le problème !Bref dans quel cas c'est réellement portable sans réécriture de code ? En vrai parce que déjà la requête donnée en exemple est déjà obligée d'incorporer un "LOWER"J'ai commencé à écrire cet article suite à la demande d'un de mes clients qui voulait porter une application critique (ERP interne) vers PostGreSQL...
Franchement... Pour n'utiliser que du SQL server je sais très bien que le moindre portage m'obligerait à repenser la base de code. Parce que évidemment quand je cherche à faire un truc, j'utilise cet outil et ses spécificités. Et la vie réelle d'une appli c'est rarement juste des select et des insert.
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/ * * * * *
Je ne fais pas du lobbying Postgres. Je bosse sous Postgres, MariaDB, Sqlite ou Informix selon les projets. Je me moque juste des personnes qui sous couvert d'une pseudo-réputation se permettent d'écrire n'importe quoi et débordent de mauvaise foi pour chercher à valider leurs conviction personnelles.
Sur des petites applications, ça m'est arrivé énormément de fois.
Heureusement, le SQL est normé, et la syntaxe de création des vues change généralement pas ou peu d'un SGBD à l'autre.
Après, le portage du langage de script peut parfois être automatisé, mais sur un petit projet, il n'y en a généralement pas ou peu.
Enfin, vous oubliez que quand on décide de porter ou non une application, avant de savoir si on va bien le faire, il y a surtout la question de "est-ce que ça vaut le coût" ?
A savoir que si c'est pour économiser 5000 euros de licences tous les 5 ans, est-ce que ça vaut le coup d'y passer 20 jours ? (je parle bien d'un petit projet)
Car le problème est bien là aujourd'hui : le "seul" véritable intérêt d'utiliser PostgreSQL, MariaDB ou autre SGBD open source, c'est avant tout pour le coût des licences, et de la maintenance. Si au final ça coûte plus cher à porter puis à maintenir... c'est peut-être pas si bête de payer une licence... Ça s'appelle un investissement.
On ne jouit bien que de ce qu’on partage.
C'est peut-être aussi pour ça que le la démonstration de SQLpro n'a guère de sens.
La performance s'évalue de manière globale et en regard de l'application, mais est-ce que c'est vraiment le bon critère de décision ? Probablement pas.
Il y a souvent cette logique en matière d’informatique de comparer les produits sur la base de benchmark. Sauf que ces benchmarks sont souvent simplifiés à l’extrême et peu représentatifs de la diversité des applications.
A cela vient s'ajouter le fait que les matériels aujourd'hui sont très peu couteux, surtout la RAM, et on on sait à quel point c'est un des éléments essentiels
Par contre quand on commence à décliner le petit projet, la petite appli, sur quelques centaines de machines. Hé bien oui les 20 jours de portage seront sacrément bien investis à comparer aux 5000€ multipliés par 100, 1000 ou plus.
Et là encore c'est pas le benchmark brut sur une requête basique qui pourra rendre compte de ça.
Si tous les drupal ou wordpress avaient été développés sur SQL Server, même avec des licences web, je pense que M$ serait très heureux
Et je vois déjà des réponses se profiler du genre "oui mais il y a Express". Ok et c'est bien ça le truc, c'est un schéma de décision multifactoriel pondéré, et pas un benchmark qui dit 300 000 fois plus rapide
Émotion
Infantilisation
Culpabilisation
Christophe Alévèque - 18 Mars 2021
Je pense surtout qu'il y a un procès d'intention à l'encontre de SQLPro.
Comme il l'a expliqué maintes fois, l'article dont est tiré l'extrait en début de topic n'a pas pour vocation de comparer SQL Server et PostgreSQL, mais d'identifier les écueils d'un portage de SQL Server vers PostgreSQL.
C'est à dire que l'article, à priori de plus de 90 pages, est une compilation des contraintes, ou limites, ou autres problématiques liées au portage d'un traitement existant de SQL Server vers PostgreSQL.
Arriver à des conclusions que certaines requêtes sont 300 000 fois plus rapides ou plus lentes n'a rien de choquant : c'est juste qu'il faut garder en tête lors d'un tel portage que si on n'adapte rien, alors on va clairement au devant de gros problèmes (notamment de performances, mais pas que).
Je trouve cet article très utile au contraire, et sert PostgreSQL tout autant que SQL Server : si demain quelqu'un souhaite migrer, il sait quels pièges éviter, et quelles optimisations mettre en place pour pallier aux différences de fonctionnement des deux produits.
Là je suis très moyennement d'accord. Les licences SQL Server sont généralement par core, ou parfois par utilisateur (je ne sais même pas si ça existe encore). Mais jamais en nombre de machines y accédant ni en nombre de lignes stockées (sauf si on choisi un hébergement Azure évidement).
Par conséquent, si aujourd'hui j'investis dans un SQL Server Standard Edition et que j'ai 3 pellerins qui s'y connectent, je n'aurai pas un centime de plus à débourser le jour où il y en aura 30... Ni même 300 ou 3000, sauf si le serveur devient juste et que je dois ajouter des cores.
Même pire, si j'ai 50 petits projets, je peux parfaitement tous les héberger sur le même serveur avec une unique licence.
Tu l'as vu venir, mais je pense que 99% des drupal ou autres wordpress actuellement en ligne pourraient parfaitement se contenter d'un SQL Server Express. Et j'ai envie de dire... qu'un seul SQL Server Express pourrait parfaitement faire tourner plusieurs dizaines de ces applications sa sourciller.
Après tout, les contraintes de SQL Server Express en terme de mémoire notamment ne sont pas incompatibles avec des sites où tout est sur la même machine, et à mon sens, pour un CMS pas besoin d'une base de donnée de folie...
J'administre quotidiennement des applications clientes avec plus d'une dizaine de bases de quelques Go sur une même instance de SQL Server Express, avec des pics d'utilisation de plusieurs centaines de personnes simultanées, et c'est pas SQL Server qui ralenti quoi que ce soit.
On ne jouit bien que de ce qu’on partage.
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/ * * * * *
Je te rejoins là aussi. J'ai souvent prôné PostgreSQL pour des applications basiques et classique de l'entreprise. Exemple paye ou comptabilité. Mais le problème c'est que très peu d'éditeurs ont une version PostgreSQL. Pourtant c'est parfaitement adapté :
- pas une volumétrie énorme
- pas de 24h/24 et 7j/7
- pas un volume de transactions gigantesques
et gratuit…
Un de mes proches amis (on a fait Orsay ensemble) avait donné dans un ERP PostgreSQL pendant près de 2 ans. Il a du jeter l'éponge faute de client...
Une autre problématique est que PostgreSQL fait peur au TPE/PME parce qu'il n'y a pas d'outil graphique. Quand tu as un seul informaticien dans la boîte, voire même à mi temps… ils préfèrent largement Microsoft SQL Server parce que tout peut être piloté à la clicougnette !
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/ * * * * *
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager