Pourquoi Heroku utilise-t-il Postgresql?

je suis occupé à transférer un code MySQL spécifique à Postgresql afin de l'utiliser avec Heroku. Je me demande juste s'il y a une raison spécifique pour laquelle Heroku est allé avec Postgresql au-dessus de MySQL? La Performance, l'architecture, etc?

mise à jour: D'un heroku billet de blog :

à Heroku, nous croyons que PostgreSQL offre le meilleur mélange de des fonctionnalités puissantes, l'intégrité des données, la vitesse, la conformité aux normes et open-source code de N'importe quelle base de données SQL sur la planète.

31
demandé sur markquezada 2010-12-09 05:45:08

6 réponses

Postgres est mieux que mysql dans bien des égards, . Vous pouvez lire ces messages sur l'application de migration rails de mysql à postgres. Bien que mysql est plus populaire que postgres, mais instagram utilise postgres peut-être en raison de ces raisons. Je pense que postgres est beaucoup plus mature et robuste que mysql. Alors que mysql est plus facile et simple à utiliser.

migration MySQL à PostgreSQL dans les Rails " m i n d l e v

la Conversion des Rails de demande de données de MySQL vers PostgreSQL

pour la migration de données, un petit script pratique: tâche de ratissage pour transférer une base de données Rails, dire de MySQL à Postgres et retour

26
répondu zengr 2017-05-23 12:02:38

Comparer la longueur de cette liste de MySQL pièges à cette liste de postgresql pièges . MySQL est beaucoup plus susceptible de vous gâcher.

11
répondu El Yobo 2010-12-09 04:03:38

en général, je trouve que pgsql se prête mieux aux opérations 24/7 que mysql. De plus, il semble y avoir moins de pistolets de pied. Je pense que si vous êtes plus familier avec l'un ou l'autre, qui est plus susceptible d'influencer votre décision qu'autre chose.

6
répondu Scott Marlowe 2010-12-09 03:41:51

Eh bien, la performance sur Postgres est généralement meilleure pour les querys complexes, comme le genre généré par les ORMs. En outre, postgres a juste tendance à être plus "solide". C'est ancedotal mais les serveurs postgres que j'ai gérés ont toujours été beaucoup moins gênants que mysql, qui aime se planter au hasard de temps en temps, corrompant parfois une table sur le chemin vers le bas.

5
répondu Tyler Eaves 2010-12-09 02:49:10

je déplace l'une des applications Rails de mon client de Heroku Postgresql vers Mysql (L'addon ClearDB) en ce moment. PostgreSQL est un service de base de données plus strict et plus "correct" à bien des égards, ce qui semble être la raison pour laquelle Heroku l'approuve. Cependant, je trouve que le cadre de Rails est plus ou moins lisse au-dessus des différences, et la majorité des applications de Rails ne se développeront pas assez grand pour que les problèmes de performance de Mysql deviennent un problème de rupture de contrat.

d'autre part, PostgreSQL (en Heroku en particulier l'offre) a un couple désavantages nets pour une application de démarrage:

  • le prix. pour prévenir les erreurs hebdomadaires" connexion de base de données perdue "lorsque vous travaillez avec Heroku Postgres, vous devez shell out $200 / mois. Sur ClearDB, vous obtenez une promesse de disponibilité de 100% (nous n'avons pas encore eu la chance d'évaluer cette réclamation) pour le plan $10 / mois, qui offre également 1 Go d'espace -- plus que nous avons besoin.
  • colonne de commande. en faisant le développement de Rails, je me réfère au fichier de schéma de base de données schema.rb toutes les 5 minutes, et pour garder ce fichier ordonné et lisible je trouve qu'il est crucial de pouvoir spécifier dans quel ordre les colonnes doivent être ajoutées. MySQL supporte la spécification de l'ordre des colonnes; PostgreSQL ne le fait pas. Dans de nombreux cas, cette caractéristique est sans importance, mais en raison de la façon dont Rail / ActiveRecord fonctionne, ma vie devient beaucoup plus difficile quand je ne peux pas réorganiser les colonnes.
1
répondu Topher Hunt 2015-03-22 00:37:41

ne contredisant aucun des conseils ci-dessus, mais si pour une raison quelconque vous voulez vraiment ou avez besoin de rester avec MySQL, J'ai récemment remarqué que Heroku offre maintenant un Add-on MySQL gratuit, appelé ClearDB:

https://addons.heroku.com/cleardb

ne l'a pas utilisé, donc je ne peux pas me porter garant. Heroku réclame 99,95% de temps de disponibilité pour la version gratuite (contre 100% de temps de disponibilité réclamé pour l'une des versions payées,) et ils rejettent la version gratuite comme étant " Production Ready."Ils prétendent que ClearDB est natif, MySQL non modifié."

0
répondu Adrien Lamothe 2012-12-18 12:04:02