Каковы соответствующие преимущества / ограничения Amazon RDS против EC2 с MySQL? [закрытый]


Я понимаю пару основных различий между ними, т. е.

  1. EC2 будет дешевле

  2. RDS мне бы не пришлось делать техническое обслуживание

кроме этих двух, есть ли какие-либо преимущества для запуска моей базы данных из RDS в отличие от отдельного сервера EC2, действующего как сервер MySQL. Предполагая одинаковые размеры экземпляров, оба будут сталкиваться с одинаковыми ограничениями с точки зрения возможности обработки a грузить?

чтобы дать вам немного больше информации о моем использовании, у меня есть база данных, ничего слишком большого или ничего (самая большая таблица 1 миллион строк), просто высокий объем выбора.

8 132

8 ответов:

Это простой вопрос с очень сложным ответом!

короче говоря: 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. Ваниль EC2-это ужасный вариант для хостинга MySQL.

на этот пост есть отличный тест между:

  • запуск MySql на небольшом EC2 + EBS
  • запуск MySql на небольшом EC2 + EBS + скорректированные параметры MySql
  • маленький RDS

бенчмарк очень хорош, так как он ориентирован не только на идеальные условия (только один поток), но и на более реалистичные сценарии, когда 50 потоков попадают в базу данных.

RDS на самом деле не является системой высокой доступности. Прочитайте мелкий шрифт в faq RDS. В случае сбоя это может занять до 3 минут для отказа. Дополнительный amazon решит, что ему нужно "обновить" ваш экземпляр rds и выполнить отказоустойчивость в этот момент, что приведет к отключению вашей базы данных на "до 3 минут" (наш опыт заключается в том, что это может занять больше времени).

высокая доступность RDS очень отличается от репликации master-master или master-slave и намного замедлившийся. Они не используют репликацию mysql, но используют некоторую репликацию ebs. Таким образом, в ситуации отработки отказа он смонтирует ebs на резервной машине, запустит mysql, дождется, пока mysql не выполнит восстановление после сбоя (надеюсь, ничего не испортилось слишком плохо), а затем сделает DNS-коммутатор.

Я надеюсь, это поможет вам с вами оценки.

мы решили использовать экземпляры EC2 MySQL, потому что у нас есть большой объем чтения и нужна репликация master-slave. Конечно, вы можете развернуть несколько экземпляров RDS и настроить репликацию MySQL между ними самостоятельно, но мы используем Scalr.net, который управляет этим для вас, используя экземпляры EC2.

в принципе, мы просто говорим Scalr, сколько экземпляров MySQL мы хотим, чтобы он поддерживал их, автоматизировал настройку репликации, обрабатывал автоматическую отработку отказа ведомого продвижения к мастеру, если мастер увольняют и т. д. Он делает как резервные копии дампа SQL, так и снимки Тома EBS мастера. Таким образом, когда ему нужно создать новое ведомое устройство, он автоматически временно монтирует том EBS последнего главного снимка для инициализации подчиненной БД, а затем запускает репликацию из соответствующей точки. Все точки и нажмите кнопку :) (и нет, я не работаю на Scalr или что-то еще. Scalr предоставляется с открытым исходным кодом, если вы не хотите использовать их услуги)

по поводу обслуживания вопрос. Если вы используете Multi-AZ, то RDS создаст резервную реплику в другой зоне доступности, чтобы не было времени простоя для обслуживания, и вы защитите себя от сбоя зоны.

Это то, что я планирую сделать в течение следующей недели или около того. Конечно, это будет стоить вам больше, но я еще не разобрался с этим.

Я пробовал RDS в течение нескольких месяцев, и вот некоторые вопросы, которые у меня есть:

  1. использование SQL profiler сложно. Поскольку профилировщик нельзя подключить непосредственно к серверу, необходимо выполнить некоторые хранимые процедуры для создания файла журнала, который можно анализировать. Хотя они предлагают некоторые предложения о том, как это делается, это далеко не удобно для пользователя. Я бы только рекомендовал, чтобы у вас был сертифицированный SQL professional сделать такой вид работа.

  2. в то время как Amazon создает резервную копию вашего экземпляра, вы не можете восстановить отдельную базу данных. У меня есть веб-приложение с несколькими отдельными клиентскими базами данных, и мое решение состояло в том, чтобы запустить экземпляр EC2 с SQL, работающим на нем, чтобы подключиться к производственной базе данных RDB и импортировать данные, а затем создать резервную копию на экземпляре EC2. Другим решением было использовать сторонний инструмент, который создает массивный SQL-скрипт (на сервере приложений), который воссоздаст схему и заполните данные обратно в точку восстановления.

MySQL на EC2 vs RDS MySQL

преимущества MySQL на EC2 Амазон ЕС2 в области репликации

копирование снимков по регионам Amazon EC2

RAID 0 с чередованием EBS в MySQL EC2

более 3 ТБ дискового пространства (вам это не понадобится для вашего размера) могут быть прикреплены на MySQL на EC2.

недостатки MySQL на EC2

настройки, мониторинга и Техническое обслуживание по сравнению с RDS

момент времени резервные копии доступны в RDS

ввода-вывода в секунду меньшей, чем в RDS для MySQL ( даже после того, как в RAID 0) в настоящее время, 10800 с 6 дисками для MySQL на EC2, а 12500 IOPS в 16 КБ на RDS для MySQL

У меня был тот же вопрос в эти выходные. Существует 4-часовое окно простоя в неделю для RDS, где они выполняют техническое обслуживание. RDS казался более дорогим, если вы можете уйти с микро-экземпляром EC2. (Это верно для тестовых экземпляров, которые имеют минимальный трафик) я также не смог изменить часовой пояс экземпляра RDS, потому что у меня нет разрешения.

теперь я на самом деле смотрю на http://xeround.com/ который является mysql на EC2 другой компанией. Они не используйте InnoDB, вместо этого у них есть свой собственный двигатель под названием IDG. Я только начинаю исследовать это, но они находятся в бета-версии и дадут 500 МБ пространства.