Je réalise quelques différences fondamentales entre les deux, à savoir
EC2 va être moins cher
RDS je n'aurais pas à faire de maintenance
À part ces deux-là, il y a des avantages à exécuter ma base de données à partir de RDS par rapport à un serveur EC2 séparé agissant comme un serveur MySQL. En supposant des tailles d'instance similaires, les deux vont-ils rencontrer les mêmes limitations en termes de capacité à gérer une charge?
Pour vous donner un peu plus d'informations sur mon utilisation, j'ai une base de données, rien de trop gros ou quoi que ce soit (la plus grande table 1 million de lignes), juste un volume SELECT élevé.
mysql
amazon-ec2
amazon-rds
Macgyver
la source
la source
Réponses:
C'est une question simple avec une réponse très compliquée!
En bref: EC2 fournira des performances maximales si vous optez pour un RAID0 EBS. Faire RAID0 EBS nécessite une charge de maintenance assez importante, par exemple:
http://alestic.com/2009/06/ec2-ebs-raid
http://alestic.com/2009/09/ec2-consistent-snapshot
EC2 sans RAID0 EBS fournira des performances d'E / S merdiques, donc ce n'est même pas vraiment une option.
RDS fournira de très bonnes performances (mais pas maximales) hors de la boîte. La console de gestion est fantastique et il est facile de mettre à niveau les instances. La haute disponibilité et les esclaves en lecture seule sont à portée de clic. C'est vraiment génial.
Réponse courte: optez pour RDS. Toujours sur la clôture? Allez avec RDS !!! si vous aimez les maux de tête et régler le moindre petit peu pour des performances maximales, alors vous pouvez envisager EC2 + EBS RAID 0. Vanilla EC2 est une option terrible pour l'hébergement MySQL.
la source
Dans cet article, il y a un excellent point de repère entre:
Le benchmark est très bon car il ne se concentre pas seulement dans des conditions idéales (un seul thread) mais aussi dans des scénarios plus réalistes, avec 50 threads atteignant la base de données.
la source
RDS n'est pas vraiment un système à haute disponibilité. Lisez les petits caractères dans la FAQ RDS. Lors d'un événement de basculement, le basculement peut prendre jusqu'à 3 minutes. Amazon supplémentaire décidera qu'il a besoin de «mettre à niveau» votre instance rds et de faire un basculement à ce moment-là, ce qui arrêtera votre base de données pendant «jusqu'à 3 minutes» (notre expérience est que cela peut prendre plus de temps).
La haute disponibilité RDS est très différente de la réplication maître-maître ou maître-esclave et est beaucoup plus lente. Ils n'utilisent pas la réplication mysql mais utilisent une sorte de réplication ebs. Donc, dans une situation de basculement, il montera l'ebs sur la machine de sauvegarde, démarrera mysql, attendra que mysql effectue une récupération après échec (avec un peu de chance, rien n'a été trop corrompu), puis effectuera un changement DNS.
J'espère que cela vous aidera dans votre évaluation.
la source
Nous avons choisi d'utiliser des instances EC2 MySQL car nous avons un volume de lecture élevé et avons besoin d'une réplication maître-esclave. Bien sûr, vous pouvez lancer plusieurs instances RDS et configurer vous-même la réplication MySQL entre elles, mais nous utilisons Scalr.net, qui gère cela pour vous à l'aide d'instances EC2.
Fondamentalement, nous disons simplement à Scalr combien d'instances MySQL nous voulons qu'il les maintienne, automatise la configuration de la réplication, gère le basculement automatique de la promotion de l'esclave vers le maître si le maître est arrêté, etc. le maître. Ainsi, lorsqu'il a besoin de créer un nouvel esclave, il monte automatiquement temporairement un volume EBS du dernier instantané maître pour initialiser le DB esclave, puis démarre la réplication à partir du point approprié. Tous pointez et cliquez :) (et non, je ne travaille pas pour Scalr ou quoi que ce soit. Scalr est disponible en Open Source si vous ne souhaitez pas utiliser leur service)
la source
Concernant la question de la fenêtre de maintenance. Si vous utilisez Multi-AZ, RDS créera un réplica de secours dans une autre zone de disponibilité afin qu'il n'y ait pas de temps d'arrêt pour la maintenance et que vous vous protégiez contre une défaillance de zone.
C'est ce que je prévois de faire dans la semaine prochaine. Bien sûr, cela vous coûtera plus cher mais je n'ai pas encore travaillé sur ce point.
la source
MySQL sur EC2 vs RDS MySQL
Avantages de MySQL sur EC2 Réplication interrégionale Amazon EC2
Copier des instantanés dans les régions Amazon EC2
RAID 0 avec striping EBS dans MySQL EC2
Plus de 3 To d'espace disque (vous n'en aurez pas besoin pour votre taille) peuvent être attachés sur MySQL sur EC2.
Inconvénients de MySQL sur EC2
Configuration, surveillance et maintenance par rapport au RDS
Sauvegardes ponctuelles disponibles dans RDS
IOPS inférieurs à RDS MySQL (même après RAID 0) actuellement, 10800 avec 6 disques pour MySQL sur EC2 alors que 12500 IOPS 16KB sur RDS MySQL
la source
J'essaye RDS depuis quelques mois et voici quelques problèmes que j'ai:
L'utilisation du profileur SQL est délicate. Étant donné que vous ne pouvez pas connecter le profileur directement au serveur, vous devez exécuter certaines procédures stockées pour créer un fichier journal que vous pouvez analyser. Bien qu'ils offrent quelques suggestions sur la façon dont cela est fait, c'est loin d'être convivial. Je recommanderais seulement que vous ayez un professionnel SQL certifié pour ce genre de travail.
tandis qu'Amazon sauvegarde votre instance, vous ne pouvez pas restaurer une base de données individuelle. J'ai une application Web avec plusieurs bases de données spécifiques au client et ma solution consistait à lancer une instance EC2 avec SQL en cours d'exécution pour l'attacher à la base de données RDB de production et importer les données, puis les sauvegarder sur l'instance EC2. L'autre solution consistait à utiliser un outil tiers qui crée un script SQL massif (sur le serveur d'application) qui recréera le schéma et remplira les données vers un point de restauration.
la source
J'ai eu la même question ce week-end. Il y a une fenêtre de temps d'arrêt de 4 heures par semaine pour RDS où ils effectuent la maintenance. RDS semble plus cher si vous pouvez vous en tirer avec une micro instance d'EC2. (Ceci est vrai pour les instances de test qui ont un trafic minimum) Je n'ai pas non plus été en mesure de modifier le fuseau horaire de l'instance RDS car je n'ai pas l'autorisation.
Je suis maintenant en train de regarder http://xeround.com/ qui est mysql sur EC2 par une autre société. Ils n'utilisent pas InnoDB, mais ont leur propre moteur appelé IDG. Je commence juste à enquêter sur cela, mais ils sont en version BETA et donneront 500 Mo d'espace.
la source