35 votes

Pourquoi Heroku utilise-t-il Postgresql ?

Je suis occupé à porter du code spécifique à MySQL vers Postgresql afin de l'utiliser avec Heroku. Je me demande s'il y a une raison spécifique pour laquelle Heroku a choisi Postgresql plutôt que MySQL ? Performances, architecture, etc.

UPDATE : D'un heroku article de blog :

Chez Heroku, nous pensons que PostgreSQL offre le meilleur mélange de de fonctionnalités puissantes, d'intégrité des données, de vitesse, de conformité aux code open-source de toute base de données SQL sur la planète.

1 votes

L'une des fonctionnalités les plus puissantes pourrait être l'extension PostGIS de PostgreSQL, qui offre une capacité spatiale très puissante. Nous l'utilisons comme un SGBD auxiliaire, avec MongoDB comme magasin principal de valeurs clés.

28voto

zengr Points 14506

Postgres est meilleur que mysql en matière de de nombreuses façons . Vous pouvez lire ces articles sur la migration des applications rails de mysql à postgres. Bien que mysql soit plus populaire que postgres, mais instagram utilise postgres peut-être dû à ces des raisons. Je pense que postgres est beaucoup plus mature et robuste que mysql. Alors que mysql est plus facile et simple à utiliser.

Migration de MySQL vers PostgreSQL dans Rails " m i n d l e v

Conversion des données des applications Rails de MySQL à PostgreSQL

Pour la migration des données, un petit script bien pratique : Tâche Rake pour transférer une base de données Rails, par exemple de MySQL à Postgres et inversement.

1 votes

Merci pour les liens. Je ne pense pas que ce soit vrai, même de loin, de dire que la plupart des startups choisissent postgres plutôt que mysql. Je travaille dans une startup qui utilise MySQL (ainsi que Cassandra et Mnesia). Un certain nombre de grands acteurs (comme Yahoo ! et Amazon) utilisent également MySQL.

0 votes

Oui, ce n'est pas vrai. Facebook et Twitter utilisent MySQL, même à leurs débuts.

0 votes

Ma faute. Après une petite recherche, mysql est plus populaire. J'ai travaillé pour 2 startups dans la vallée et les deux utilisaient postgres. Donc, j'ai eu mon parti pris là. Mise à jour de la réponse.

12voto

El Yobo Points 7580

Comparez la longueur de cette liste de Les pièges de MySQL à cette liste de postgresql gotchas . MySQL est beaucoup plus susceptible de vous mettre dans le pétrin.

7voto

Scott Marlowe Points 2231

D'une manière générale, je trouve que pgsql se prête mieux aux opérations 24/7 que mysql. De plus, il semble qu'il y ait moins d'armes à feu intégrées. Je pense que si vous êtes plus familier avec l'un ou l'autre, c'est plus susceptible d'influencer votre décision qu'autre chose.

5 votes

+1 pour l'utilisation du terme "footgun". MySQL est bien meilleur si vous activez toutes les options de rigueur pour lui faire croire qu'il s'agit d'une vraie base de données, plutôt que d'incrémenter silencieusement les timestamps ou de tronquer les données qui sont plus longues que la longueur varchar spécifiée, etc. Postgres fonctionne correctement dès sa sortie de l'emballage.

5voto

Tyler Eaves Points 5758

Les performances de Postgres sont généralement meilleures pour les requêtes complexes, comme celles générées par les ORM. De plus, Postgres a tout simplement tendance à être plus "solide". C'est anecdotique, mais les serveurs postgres que j'ai gérés ont toujours été beaucoup moins problématiques que mysql, qui aime se planter aléatoirement de temps en temps, corrompant occasionnellement une table en cours de route.

0 votes

J'ai entendu dire (de manière anecdotique) que Postgres est également plus solide. Je me demande sur quoi d'autre ils ont basé leur décision.

3 votes

Oui, c'est exactement comme ça que je le dirais : solide. Tout ce système, y compris la documentation, sent l'ingénierie solide, alors que MySQL a toujours été plus "eh, c'est assez bon pour le web".

0voto

Adrien Lamothe Points 840

Je ne contredis pas les conseils ci-dessus, mais si, pour une raison ou une autre, vous voulez ou devez vraiment utiliser MySQL, j'ai récemment remarqué que Heroku propose désormais un module complémentaire MySQL gratuit, appelé ClearDB :

https://addons.heroku.com/cleardb

Je ne l'ai pas utilisé, donc je ne peux pas en témoigner. Heroku revendique un temps de fonctionnement de 99,95 % pour la version gratuite (contre 100 % pour les versions payantes), et la version gratuite n'est pas considérée comme "prête pour la production". Ils affirment que ClearDB est "MySQL natif, non modifié".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X