Dans cet article, je veux faire une comparaison de haut niveau entre PostgreSQL et MySQL.
L'un des principaux arguments de vente de PostgreSQL est la licence. PostgreSQL est Open Source, possède la licence GPL et appartient à la communauté PostgreSQL Global Development Group.
MySQL appartient aujourd'hui à Oracle et possède 2 licences différentes. L'un est open source, l'autre est commercial. Cela n'est pas signifie que si vous souhaitez utiliser MySQL pour un projet commercial, vous devez payer. La licence commerciale fournit une assistance payante et des logiciels supplémentaires basés sur MySQL, d'Oracle.
Il existe un fork entièrement Open Source de MySQL appelé MariaDB, qui est beaucoup moins populaire en termes d'utilisation et de marque, car il n'a pas le même historique de MySQL, mais c'est un remplacement optimal si vous préférez MySQL mais que vous êtes inquiet au sujet des licences.
Parlons des fonctionnalités.
Plus ou moins, l'ensemble de fonctionnalités de MySQL et de PostgreSQL est équivalent. L'un peut faire quelque chose que l'autre ne fait pas, mais nous parlons de fonctionnalités très avancées que je n'aborde pas ici.
Les deux sont des systèmes de gestion de base de données très avancés qui ont une longue histoire.
Les deux prennent en charge la norme SQL (pas complètement, mais une grande partie) et ajoutent des fonctionnalités en plus. Les deux fournissent la conformité ACID (atomicité, cohérence, isolation, durabilité).
Les deux permettent de créer facilement une réplication, les deux sont très sécurisés, les deux ont une énorme communauté autour d'eux pour tout problème que vous pourriez avoir.
Les deux ont un large ensemble d'outils construits autour d'eux.
Lequel choisir ? C'est difficile à dire.
À moins que vous n'ayez besoin d'une fonctionnalité particulière implémentée dans l'un et non implémentée dans l'autre, je choisirais celle que vous connaissez déjà.
Par exemple, si vous venez de WordPress et que vous avez déjà interagi avec MySQL, vous pouvez simplement vous y tenir (ou MariaDB).
Cela peut également dépendre de la plate-forme sur laquelle vous souhaitez déployer votre logiciel. Heroku, par exemple, fournit une base de données cloud PostgreSQL gérée intégrée en tant que service, ce qui peut être très pratique au lieu de gérer votre propre serveur de base de données.