Я понимаю несколько основных различий между ними, т.е.
EC2 будет дешевле
RDS Мне не пришлось бы проводить техническое обслуживание
Помимо этих двух, есть ли какие-либо преимущества в запуске моей базы данных из RDS по сравнению с отдельным сервером EC2, действующим как сервер MySQL. Предполагая одинаковые размеры экземпляров, столкнутся ли оба с одними и теми же ограничениями с точки зрения способности выдерживать нагрузку?
Чтобы дать вам немного больше информации о моем использовании, у меня есть база данных, ничего слишком большого или чего-то еще (самая большая таблица 1 миллион строк), просто большой объем SELECT.
mysql
amazon-ec2
amazon-rds
МакГайвера
источник
источник
Ответы:
Это простой вопрос с очень сложным ответом!
Вкратце: EC2 обеспечит максимальную производительность, если вы используете RAID0 EBS. Выполнение RAID0 EBS требует значительных затрат на обслуживание, например:
http://alestic.com/2009/06/ec2-ebs-raid
http://alestic.com/2009/09/ec2-consistent-snapshot
EC2 без RAID0 EBS обеспечит низкую производительность ввода-вывода, поэтому это даже не вариант.
RDS обеспечивает очень хорошую (хотя и не максимальную) производительность сразу после установки. Консоль управления великолепна, и экземпляры легко обновлять. Высокая доступность и ведомые устройства только для чтения находятся на расстоянии одного клика. Это ДЕЙСТВИТЕЛЬНО круто.
Краткий ответ: используйте RDS. Все еще на заборе? Вперед с RDS !!! Если вы любите головную боль и настраиваете каждую мелочь для достижения максимальной производительности, тогда вы можете рассмотреть EC2 + EBS RAID 0. Vanilla EC2 - ужасный вариант для хостинга MySQL.
источник
В этом посте есть отличный тест между:
Тест очень хорош, поскольку он ориентирован не только на идеальные условия (только один поток), но и на более реалистичные сценарии, когда в базу данных попадает 50 потоков.
источник
RDS на самом деле не является системой высокой доступности. Прочтите мелкий шрифт в часто задаваемых вопросах RDS. Во время аварийного переключения на аварийное переключение может уйти до 3 минут. Дополнительная amazon решит, что ей необходимо «обновить» ваш экземпляр rds, и выполнить аварийное переключение на этом этапе, что приведет к отключению вашей базы данных на «до 3 минут» (по нашему опыту, это может занять больше времени).
Высокая доступность RDS сильно отличается от репликации главный-главный или главный-подчиненный и выполняется намного медленнее. Они не используют репликацию mysql, но используют какую-то репликацию ebs. Таким образом, в ситуации аварийного переключения он будет монтировать ebs на резервной машине, запускать mysql, ждать, пока mysql выполнит восстановление после сбоя (надеюсь, что ничего не было повреждено слишком плохо), а затем переключит DNS.
Надеюсь, это поможет вам с оценкой.
источник
Мы решили использовать экземпляры EC2 MySQL, потому что у нас большой объем чтения и требуется репликация главный-подчиненный. Конечно, вы можете развернуть несколько экземпляров RDS и самостоятельно настроить репликацию MySQL между ними, но мы используем Scalr.net, который управляет этим за вас с помощью экземпляров EC2.
По сути, мы просто сообщаем Scalr, сколько экземпляров MySQL мы хотим, чтобы он поддерживал их работу, автоматизирует настройку репликации, обрабатывает автоматическое переключение подчиненного устройства на ведущее устройство, если ведущее устройство прерывается и т. Д. Он выполняет как резервные копии дампа SQL, так и моментальные снимки томов EBS. мастер. Таким образом, когда ему нужно создать новое подчиненное устройство, он автоматически временно монтирует том EBS последнего главного снимка для инициализации подчиненного БД, а затем запускает репликацию с соответствующей точки. Все наведите и щелкните :) (и нет, я не работаю для Scalr или чего-то еще. Scalr доступен как с открытым исходным кодом, если вы не хотите использовать их сервис)
источник
Относительно вопроса окна обслуживания. Если вы используете несколько зон доступности, RDS создаст резервную реплику в другой зоне доступности, чтобы не было простоев для обслуживания и вы защитили себя от сбоя зоны.
Это то, что я планирую сделать на следующей неделе или около того. Конечно, это будет стоить вам дороже, но я еще не разобрался с этим.
источник
MySQL на EC2 против RDS MySQL
Преимущества MySQL при репликации между регионами EC2 Amazon EC2
Копирование снимков в регионах Amazon EC2
RAID 0 с чередованием EBS в MySQL EC2
Более 3 ТБ дискового пространства (для вашего размера вам не понадобится) можно подключить к MySQL на EC2.
Недостатки MySQL на EC2
Конфигурация, мониторинг и обслуживание по сравнению с RDS
Резервные копии на определенный момент времени, доступные в RDS
IOPS меньше, чем RDS MySQL (даже после RAID 0) в настоящее время, 10800 с 6 дисками для MySQL на EC2, тогда как 12500 IOPS 16 КБ на RDS MySQL
источник
Я пробовал RDS в течение нескольких месяцев, и вот некоторые проблемы, которые у меня есть:
Использование профилировщика SQL непросто. Поскольку вы не можете подключить профилировщик напрямую к серверу, вам нужно запустить некоторые хранимые процедуры, чтобы создать файл журнала, который вы можете проанализировать. Хотя они предлагают несколько предложений о том, как это сделать, это далеко не удобно для пользователя. Я бы только рекомендовал, чтобы у вас был сертифицированный специалист по SQL для выполнения такой работы.
пока Amazon выполняет резервное копирование вашего экземпляра, вы не можете восстановить отдельную базу данных. У меня есть веб-приложение с несколькими отдельными базами данных, ориентированными на клиента, и моим решением было запустить экземпляр EC2 с запущенным на нем SQL для подключения к производственной базе данных RDB и импорта данных, а затем резервного копирования на экземпляр EC2. Другое решение заключалось в использовании стороннего инструмента, который создает массивный скрипт SQL (на сервере приложений), который воссоздает схему и заполняет данные обратно в точку восстановления.
источник
У меня был такой же вопрос в эти выходные. Для RDS существует 4-часовое окно простоя в неделю, когда они проводят техническое обслуживание. RDS казался более дорогим, если вы могли обойтись без микроэкземпляра EC2. (Это верно для тестовых экземпляров с минимальным трафиком) Я также не смог изменить часовой пояс экземпляра RDS, потому что у меня нет разрешения.
Сейчас я смотрю на http://xeround.com/, который представляет собой mysql на EC2 от другой компании. Они не используют InnoDB, вместо этого у них есть собственный движок IDG. Я только начинаю исследовать это, но они находятся в бета-версии и предоставят 500 МБ пространства.
источник