{"id":25,"date":"2007-04-19T00:00:00","date_gmt":"2007-04-19T00:00:00","guid":{"rendered":"http:\/\/netexpertise\/fr\/?p=25"},"modified":"2021-10-11T21:23:52","modified_gmt":"2021-10-11T20:23:52","slug":"mysql-postgresql","status":"publish","type":"post","link":"http:\/\/www.netexpertise.eu\/fr\/database\/mysql\/mysql-postgresql.html","title":{"rendered":"Mysql ou Postgresql pour Freeradius?"},"content":{"rendered":"<div style=\"float:left; margin-right:15px; margin-top:0px;\">\n<script async=\"\" src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script><br \/>\n<!-- 200x200, Netexpertise --><br \/>\n<ins class=\"adsbygoogle\" style=\"display:inline-block;width:200px;height:200px\" data-ad-client=\"ca-pub-6495750100906580\" data-ad-slot=\"1946825373\"><\/ins><br \/>\n<script><br \/>\n(adsbygoogle = window.adsbygoogle || []).push({});<br \/>\n<\/script><\/div>\n<p>Cet article ne cherche en aucun cas \u00e0 faire un comparatif complet de <a href=\"http:\/\/www.mysql.com\">Mysql<\/a> et <a href=\"http:\/\/www.postgresql.org\">Postgresql<\/a>. Le sujet a d\u00e9j\u00e0 \u00e9t\u00e9 trait\u00e9 maintes fois et chacun a son opinion \u00e0 cet \u00e9gard. Des directions seront donn\u00e9es et seuls quelques crit\u00e8res seront retenus pour faire un choix lors d&rsquo;une utilisation avec <a href=\"http:\/\/www.freeradius.org\">Freeradius<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h3>Crit\u00e8res<\/h3>\n<p>Si l&rsquo;on se base sur la majorit\u00e9 des comparatifs existants, de nombreux crit\u00e8res pourraient \u00eatre retenus. La base contenant les enregistrements Freeradius est tr\u00e8s simple, ne contient ni transactions, ni triggers, ni vues. Que doit offrir la base de donn\u00e9es Freeradius? La r\u00e9ponse \u00e0 cette probl\u00e9matique est \u00e9galement tr\u00e8s simple: disponibilit\u00e9 et rapidit\u00e9 seront les facteurs cl\u00e9 pour prendre une d\u00e9cision.<br \/>\nMysql et Postgresql offrent tous deux des solutions &#8211; semblables &#8211; pour r\u00e9pondre aux besoins des applications n\u00e9cessitant la haute disponibilit\u00e9. La r\u00e9plication semble \u00eatre un choix judicieux puisqu&rsquo;il est possible de sp\u00e9cifier des serveurs diff\u00e9rents pour l&rsquo;accounting et l&rsquo;authentification (\u00e9critures et lectures en d&rsquo;autres termes). On peut diriger les acc\u00e8s en \u00e9criture sur le master et en lecture sur les esclaves.<br \/>\nComme les deux SGBD ne posent pas de probl\u00e8me au niveau de la haute disponibilit\u00e9, notre choix se portera sur le temps d&rsquo;ex\u00e9cution des requ\u00eates. Mysql est r\u00e9put\u00e9 pour sa rapidit\u00e9 (notamment en lecture) mais d&rsquo;autres diront que la robustesse de Postgresql dans un environnement concurrentiel prendrait le dessus.<\/p>\n<p>&nbsp;<\/p>\n<h3>Tests<\/h3>\n<p>Nous allons tenter de d\u00e9terminer le nombre de transactions que chaque SGBD est capable de r\u00e9aliser en un temps d\u00e9fini. Les r\u00e9sultats seront compar\u00e9s \u00e0 un setup basique qui obtient les noms d&rsquo;utilisateurs \u00e0 partir d&rsquo;un fichier texte. Les conditions seront strictement identiques \u00e0 savoir:<\/p>\n<ul>\n<li>Ils seront ex\u00e9cut\u00e9s sur une m\u00eame machine: un Pentium II avec 384M de RAM<\/li>\n<li>Mysql et Postgresql ont \u00e9t\u00e9 compil\u00e9s avec des compilateurs et options similaires (notamment le flag -O3)<\/li>\n<li>La structure des tables contient des indexes identiques<br \/>\nLe code SQL (pris depuis la documentation Freeradius) peut \u00eatre trouv\u00e9 ici pour <a href=\"\/common\/mysql.sql\">Mysql<\/a> et <a href=\"\/common\/postgresql.sql\">Postgresql<\/a>.<\/li>\n<li>Des pools de 50 connexions sont cr\u00e9\u00e9s<\/li>\n<\/ul>\n<p>Nous mesurons le temps d&rsquo;ex\u00e9cution pour authentifier 50000 utilisateurs gr\u00e2ce \u00e0 l&rsquo;outil radclient en acc\u00e8s concurrents.<br \/>\ntime \/usr\/local\/bin\/radclient -p 1000 -q -s -f radius.test 127.0.0.1 auth test<\/p>\n<p>Les r\u00e9sultats sont plut\u00f4t \u00e9difiants:<\/p>\n<div align=\"center\">\n<table cellspacing=\"0\" cellpadding=\"10\" style=\"border:1px solid #000000;text-align:center;\">\n<tbody>\n<tr>\n<td style=\"border:1px solid #000000; width:130px;\"><b>Base de donn\u00e9es<\/b><\/td>\n<td style=\"border:1px solid #000000; width:80px;\">Fichier texte<\/td>\n<td style=\"border:1px solid #000000; width:80px;\">Postgresql<\/td>\n<td style=\"border:1px solid #000000; width:80px;\">Mysql<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #000000;\"><b>Temps<\/b><\/td>\n<td style=\"border:1px solid #000000;\">5&rsquo;13.552\u00a0\u00bb<\/td>\n<td style=\"border:1px solid #000000;\">1&rsquo;46.598\u00a0\u00bb<\/td>\n<td style=\"border:1px solid #000000;\">0&rsquo;35.146\u00a0\u00bb<\/td>\n<\/tr>\n<tr>\n<td style=\"border:1px solid #000000;\"><b>transactions\/s<\/b><\/td>\n<td style=\"border:1px solid #000000;\">159<\/td>\n<td style=\"border:1px solid #000000;\">469<\/td>\n<td style=\"border:1px solid #000000;\">1422<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>&nbsp;<br \/>\n&nbsp;<br \/>\nVoici une visualisation graphique du nombre de transactions trait\u00e9es par seconde.<\/p>\n<div style=\"text-align:center\"><img src=\"\/images\/Performance.png\" style=\"border:0\" alt=\"Performance\"><\/div>\n<p>La lecture depuis Postgresql tout comme Mysql, est beaucoup plus rapide que celle d&rsquo;un fichier texte. Ceci s&rsquo;explique en partie par la pr\u00e9sence d&rsquo;indexes \u00e0 l&rsquo;int\u00e9rieur des tables. Cette diff\u00e9rence serait moindre et pourrait m\u00eame s&rsquo;inverser pour une base contenant un nombre beaucoup plus restreint d&rsquo;utilisateurs.<br \/>\nMysql r\u00e9alise d&rsquo;excellents r\u00e9sultats en traitant trois fois plus de transactions que Postgresql.<\/p>\n<p>&nbsp;<\/p>\n<h3>Conclusion<\/h3>\n<div id=\"imgright\">\n<a href=\"http:\/\/www.amazon.fr\/gp\/product\/2212120079?ie=UTF8&amp;tag=netexpertis06-21&amp;linkCode=as2&amp;camp=1642&amp;creative=6746&amp;creativeASIN=2212120079\"><img border=\"0\" src=\"\/images\/41MTSQHEZVL._SL110_.jpg\"><\/a><img loading=\"lazy\" src=\"http:\/\/www.assoc-amazon.fr\/e\/ir?t=netexpertis06-21&amp;l=as2&amp;o=8&amp;a=2212120079\" width=\"1\" height=\"1\" border=\"0\" alt=\"\" style=\"border:none !important; margin:0px !important;\"><\/div>\n<p>Ces tests de performance sont \u00e0 relativiser puisqu&rsquo;ils ne prennent pas en compte les utilisateurs qui se logguent avec un mot de passe incorrect. Certains aspects ne sont pas pris en compte. Citons le temps donn\u00e9 aux processus d&rsquo;accounting, de pre et post-authentification. Les r\u00e9sultats seraient assez proches de ceux-ci n\u00e9anmoins dans un environnement <a href=\"..\/Mysql\/Replication.html\">Master-Slave<\/a> o\u00f9 les lectures s&rsquo;effectueraient sur un serveur autre que les \u00e9critures.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cet article ne cherche en aucun cas \u00e0 faire un comparatif complet de Mysql et Postgresql. Le sujet a d\u00e9j\u00e0 \u00e9t\u00e9 trait\u00e9 maintes fois et chacun a son opinion \u00e0 cet \u00e9gard. Des directions seront donn\u00e9es et seuls quelques crit\u00e8res seront retenus pour faire un choix lors d&rsquo;une utilisation avec Freeradius. &nbsp; Crit\u00e8res Si l&rsquo;on [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false},"categories":[3,4,5],"tags":[16,403,404,26,405,9],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Netexpertise - Mysql ou Postgresql pour Freeradius?<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/mysql-postgresql.html\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Netexpertise - Mysql ou Postgresql pour Freeradius?\" \/>\n<meta property=\"og:description\" content=\"Cet article ne cherche en aucun cas \u00e0 faire un comparatif complet de Mysql et Postgresql. Le sujet a d\u00e9j\u00e0 \u00e9t\u00e9 trait\u00e9 maintes fois et chacun a son opinion \u00e0 cet \u00e9gard. Des directions seront donn\u00e9es et seuls quelques crit\u00e8res seront retenus pour faire un choix lors d&rsquo;une utilisation avec Freeradius. &nbsp; Crit\u00e8res Si l&rsquo;on [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/mysql-postgresql.html\" \/>\n<meta property=\"og:site_name\" content=\"Netexpertise\" \/>\n<meta property=\"article:published_time\" content=\"2007-04-19T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-10-11T20:23:52+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.assoc-amazon.fr\/e\/ir?t=netexpertis06-21&amp;l=as2&amp;o=8&amp;a=2212120079\" \/>\n<meta name=\"author\" content=\"dave\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@netexpertise\" \/>\n<meta name=\"twitter:site\" content=\"@netexpertise\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/mysql-postgresql.html\",\"url\":\"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/mysql-postgresql.html\",\"name\":\"Netexpertise - Mysql ou Postgresql pour Freeradius?\",\"isPartOf\":{\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/#website\"},\"datePublished\":\"2007-04-19T00:00:00+00:00\",\"dateModified\":\"2021-10-11T20:23:52+00:00\",\"author\":{\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/e398f0307e2b167f6b884c4953be2632\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/mysql-postgresql.html#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/mysql-postgresql.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/mysql-postgresql.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"http:\/\/www.netexpertise.eu\/fr\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mysql ou Postgresql pour Freeradius?\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/#website\",\"url\":\"http:\/\/www.netexpertise.eu\/fr\/\",\"name\":\"Netexpertise\",\"description\":\"Syst\u00e8mes \/ R\u00e9seaux \/ DevOps\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/www.netexpertise.eu\/fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/e398f0307e2b167f6b884c4953be2632\",\"name\":\"dave\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"http:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/1.gravatar.com\/avatar\/1129916e1f4955bd632f27f836f64e55?s=96&d=mm&r=g\",\"contentUrl\":\"http:\/\/1.gravatar.com\/avatar\/1129916e1f4955bd632f27f836f64e55?s=96&d=mm&r=g\",\"caption\":\"dave\"},\"sameAs\":[\"http:\/\/www.netexpertise.eu\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Netexpertise - Mysql ou Postgresql pour Freeradius?","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/mysql-postgresql.html","og_locale":"fr_FR","og_type":"article","og_title":"Netexpertise - Mysql ou Postgresql pour Freeradius?","og_description":"Cet article ne cherche en aucun cas \u00e0 faire un comparatif complet de Mysql et Postgresql. Le sujet a d\u00e9j\u00e0 \u00e9t\u00e9 trait\u00e9 maintes fois et chacun a son opinion \u00e0 cet \u00e9gard. Des directions seront donn\u00e9es et seuls quelques crit\u00e8res seront retenus pour faire un choix lors d&rsquo;une utilisation avec Freeradius. &nbsp; Crit\u00e8res Si l&rsquo;on [&hellip;]","og_url":"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/mysql-postgresql.html","og_site_name":"Netexpertise","article_published_time":"2007-04-19T00:00:00+00:00","article_modified_time":"2021-10-11T20:23:52+00:00","og_image":[{"url":"http:\/\/www.assoc-amazon.fr\/e\/ir?t=netexpertis06-21&amp;l=as2&amp;o=8&amp;a=2212120079"}],"author":"dave","twitter_card":"summary_large_image","twitter_creator":"@netexpertise","twitter_site":"@netexpertise","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/mysql-postgresql.html","url":"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/mysql-postgresql.html","name":"Netexpertise - Mysql ou Postgresql pour Freeradius?","isPartOf":{"@id":"http:\/\/www.netexpertise.eu\/fr\/#website"},"datePublished":"2007-04-19T00:00:00+00:00","dateModified":"2021-10-11T20:23:52+00:00","author":{"@id":"http:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/e398f0307e2b167f6b884c4953be2632"},"breadcrumb":{"@id":"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/mysql-postgresql.html#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/mysql-postgresql.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.netexpertise.eu\/fr\/database\/mysql\/mysql-postgresql.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"http:\/\/www.netexpertise.eu\/fr"},{"@type":"ListItem","position":2,"name":"Mysql ou Postgresql pour Freeradius?"}]},{"@type":"WebSite","@id":"http:\/\/www.netexpertise.eu\/fr\/#website","url":"http:\/\/www.netexpertise.eu\/fr\/","name":"Netexpertise","description":"Syst\u00e8mes \/ R\u00e9seaux \/ DevOps","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.netexpertise.eu\/fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"http:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/e398f0307e2b167f6b884c4953be2632","name":"dave","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"http:\/\/www.netexpertise.eu\/fr\/#\/schema\/person\/image\/","url":"http:\/\/1.gravatar.com\/avatar\/1129916e1f4955bd632f27f836f64e55?s=96&d=mm&r=g","contentUrl":"http:\/\/1.gravatar.com\/avatar\/1129916e1f4955bd632f27f836f64e55?s=96&d=mm&r=g","caption":"dave"},"sameAs":["http:\/\/www.netexpertise.eu"]}]}},"_links":{"self":[{"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/posts\/25"}],"collection":[{"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/comments?post=25"}],"version-history":[{"count":0,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/posts\/25\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/media?parent=25"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/categories?post=25"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.netexpertise.eu\/fr\/wp-json\/wp\/v2\/tags?post=25"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}