Quels sont les avantages/limitations d'Amazon RDS vs EC2 avec MySQL?
Je réalise un couple de différences fondamentales entre les deux, c'est à dire
-
EC2 va être moins cher
-
RDS je n'aurais pas à faire de la maintenance
D'autres que ces deux-là, quels sont les avantages de la gestion de ma base de données à partir de RDS, par opposition à un autre EC2 serveur agissant comme un serveur MySQL. En supposant exemple similaire tailles, sont à la fois d'aller courir dans les mêmes limites en termes de capacité à gérer une charge?
Pour vous donner un peu plus d'informations à propos de mon utilisation, j'ai une base de données, rien de trop gros ou quoi que ce soit (le plus grand tableau 1 million de lignes), juste en haut SÉLECTIONNEZ volume.
- Juste en ajoutant sur ec2 cohérente de la méthode de sauvegarde. alestic.com/2009/09/ec2-consistent-snapshot - je utiliser cet outil avec un 300 go serveur et autour de 5 000 bases de données. À ce moment avec un 3000 IOPS volume, il faut environ 1,2 heures pour démarrer mysql comme il commence à partir d'un impur arrêt afin de mysql a à la numérisation de chaque table.
- Il y a un cross-site en double dba.stackexchange.com/questions/34525/... qui a obtenu quelques bonnes réponses.
Vous devez vous connecter pour publier un commentaire.
C'est une simple question avec un très compliquée réponse!
En bref: EC2 apportera un maximum de performances si vous allez avec un RAID0 de l'EBS. Faire RAID0 EBS nécessite une assez importante quantité de frais de maintenance, par exemple:
http://alestic.com/2009/06/ec2-ebs-raid
http://alestic.com/2009/09/ec2-consistent-snapshot
EC2 sans RAID0 EBS fournira de merde performances d'e/S, donc il n'est même pas vraiment une option.
RDS va très bien (mais pas au maximum) de la performance de la boîte. La console de gestion est fantastique et il est facile de mettre à niveau les instances. Haute disponibilité et de lire seulement les esclaves sont à portée de clic. C'est VRAIMENT génial.
Réponse courte: Aller avec RDS. Encore sur la clôture? Aller avec RDS!!! si vous aimez les maux de tête et de paramétrage de chaque dernier peu pour un maximum de performances, alors vous pouvez envisager EC2 + EBS RAID 0. Vanille EC2 est un terrible option pour MySQL hébergement.
Dans ce post il est une excellente base de comparaison entre:
L'indice de référence est très bien, car il n'est pas axé uniquement dans des conditions idéales (un seul thread), mais aussi dans des scénarios plus réalistes, avec 50 threads de frapper la base de données.
RDS n'est pas vraiment une haute disponibilité du système. Lire les petits caractères dans le RDS faq. En cas de basculement, il peut prendre jusqu'à 3 minutes pour le basculement. Supplémentaires amazon va se décider, il est nécessaire de "mise à niveau" de votre rds exemple et faire un basculement à ce point qui prendra votre base de données vers le bas pour "3 minutes" (notre expérience est que cela peut prendre un peu plus que ça).
RDS haute disponibilité est très différent de celui de maître - maître ou la réplication maître - esclave et est beaucoup plus lent. Ils n'utilisent pas la réplication mysql mais utilise une sorte de ebs de la réplication. Ainsi, dans un basculement de la situation, il va monter de l'ebs sur l'ordinateur de sauvegarde, de démarrer mysql, attendez mysql pour faire échec à récupérer (j'espère que rien n'a été endommagé trop mal), puis faire un dns commutateur.
J'espère que cela vous aide à vous d'évaluation.
Nous avons choisi d'utiliser EC2 MySQL cas parce que nous avons une lecture à haute volume et de la nécessité de la réplication maître-esclave. Bien sûr, vous pouvez faire tourner plusieurs instances RDS et de configuration de réplication MySQL entre eux vous-même, mais nous utilisons Scalr.net qui gère pour vous l'aide des instances EC2.
Fondamentalement, nous venons de dire Scalr combien de MySQL cas, nous voulons au il les maintient en place, permet d'automatiser la configuration de la réplication, les poignées de basculement automatique de la promotion d'un esclave à maître si le maître obtient résilié etc. Il n'SQL dump sauvegardes et EBS instantanés de volume du maître. Donc, quand il en a besoin pour créer un nouvel esclave, elle est automatiquement temporairement monte un volume EBS de le dernier maître de l'instantané pour initialiser l'esclave DB, puis commence à la réplication à partir du même point. Tous les point et cliquez sur 🙂
(et non, je ne travaille pas pour Scalr ou quoi que ce soit. Scalr est disponible en Open Source, si vous ne voulez pas utiliser leur service)
Concernant la maintenance, la fenêtre en question. Si vous utilisez Multi-AZ, puis RDS va créer une veille réplique dans une autre zone de disponibilité, de sorte qu'il n'y a aucun temps d'arrêt pour maintenance et de vous protéger vous-même contre une zone de l'échec.
C'est ce que je prévois de faire dans la prochaine semaine ou deux. Bien sûr qu'il va vous coûter plus cher, mais je n'ai pas travaillé que peu encore.
MySQL sur EC2, RDS vs MySQL
Avantages de MySQL sur EC2
Amazon EC2 Inter Région Réplication
Copie des Instantanés entre les régions Amazon EC2
RAID 0 avec EBS Entrelacement dans MySQL EC2
Plus de 3 to d'espace Disque ( Vous n'aurez pas besoin de cela pour votre taille) peut être fixé sur MySQL sur EC2.
Inconvénients de MySQL sur EC2
De Configuration, de Surveillance et d'Entretien par rapport à RDS
Point dans le temps des sauvegardes disponibles dans RDS
IOPS moindre que RDS MySQL ( même après un RAID 0) actuellement, 10800 avec 6 disques pour MySQL sur EC2 alors que 12500 IOPS 16KB sur RDS MySQL
J'ai essayé RDS pendant quelques mois, et voici quelques questions que j'ai:
À l'aide du générateur de profils SQL est délicate. Puisque vous ne pouvez pas vous connecter profiler directement sur le serveur, vous devez exécuter certaines procédures stockées pour créer un fichier journal que vous pouvez analyser. Alors qu'ils offrent des suggestions sur la façon que c'est fait, il est loin d'être convivial. Je recommanderais que vous avez certifié SQL professionnel de faire ce genre de travail.
tandis qu'Amazon sauvegarde de votre instance, vous ne pouvez pas restaurer une base de données individuel. J'ai une application web avec plusieurs clients différents, des bases de données spécifiques et ma solution a été de lancer une instance EC2 avec SQL en cours d'exécution sur l'attachement à la production RDB base de données et importer les données, puis de le sauvegarder sur l'instance EC2. L'autre solution est d'utiliser un outil 3ème partie qui crée un énorme script SQL (sur le serveur d'application) qui va recréer le schéma et remplir les données de retour à un point de restauration.
J'ai eu la même question ce week-end. Il y a 4 heures de temps d'arrêt de la fenêtre par semaine pour RDS, où ils font de la maintenance. RDS semblait plus cher si vous pouvez obtenir loin avec un micro instance EC2. (Ce qui est vrai des instances de test qui possède un minimum de trafic), je n'ai pas pu changer le fuseau horaire de la RDS exemple parce que je n'ai pas la permission.
Je suis maintenant à la recherche à http://xeround.com/ qui est de mysql sur EC2 par une autre société. Ils n'utilisent pas InnoDB, au contraire, ils ont leur propre moteur appelé IDG. Je commence tout juste à étudier, mais ils sont en version BÊTA et donnera 500 mo d'espace.