Как на самом деле работает резервное копирование / моментальный снимок Amazon RDS?

94

Я клиент Amazon RDS и ежедневно испытываю скачки задержки записи Amazon RDS, примерно соответствующие периоду резервного копирования. Я также вижу всплески в конце моментального снимка (показательный пример: запуск моментального снимка занимает около 1 часа, а в последние 5 минут возникают всплески задержки записи). Я использую развертывание m1.large в нескольких зонах доступности.

Есть ли в Stack кто-нибудь, кто может объяснить, как на самом деле работает резервное копирование Amazon RDS ? Я прочитал документацию по Amazon RDS и, насколько я могу судить, Amazon RDS не работает в соответствии со спецификацией. В частности, эти операции резервного копирования / создания моментальных снимков должны воздействовать на мою реплику и, следовательно, не вызывать простоев / снижения производительности, по крайней мере, я так думал.

Я могу разделить свою проблему на шесть вопросов:

  • Что технически происходит во время моментального снимка и резервного копирования и чем они отличаются? (Если вы ответите на этот вопрос, скажите, пожалуйста, можете ли вы эмпирически подтвердить свой ответ или просто цитируете мою документацию).
  • Следует ли ожидать всплеска задержки записи во время окна резервного копирования при развертывании в нескольких зонах доступности?
  • Следует ли ожидать скачка задержки записи в конце моментального снимка при развертывании в нескольких зонах доступности?
  • Был бы мой всплеск задержки записи еще выше, если бы я не работал с несколькими зонами доступности?
  • Смогу ли я с точки зрения архитектуры избежать этих всплесков задержки записи, если разверну собственную базу данных, работающую на двух экземплярах m1.large EC2?
  • Существуют ли какие-либо конфигурации, которые я могу использовать, чтобы избежать этих всплесков задержки записи, по-прежнему размещая мою БД с RDS, или я фактически во власти Amazon?

Дополнительный вопрос: где и как вы размещаете свою базу данных mysql?

Могу сказать, что в целом я доволен RDS, за исключением этих ежедневных проблем с задержкой записи. Мне нравится встроенный мониторинг базы данных, и его довольно просто настроить и начать работу.

Спасибо!

Задержка записи amazon RDS

Серебряный
источник

Ответы:

78

Мы также запускаем несколько экземпляров RDS в дополнение к MySQL на некоторых машинах, которыми управляем сами. Я не могу комментировать конкретно, так как я не инженер Amazon, но я узнал несколько вещей, которые могут объяснить то, что вы видите:

  • Хотя Amazon не на 100% раскрывает подробности серверной части, мы сильно подозреваем, что они используют свою систему EBS для поддержки баз данных RDS.

  • Эта статья помогает объяснить ограничения EBS и функциональность моментальных снимков http://blog.rightscale.com/2008/08/20/amazon-ebs-explained/ Опять же, хотя это не является явным, для Amazon было бы разумно использовать эту инфраструктуру для предоставлять услуги RDS.

  • Как правило, резервное копирование MySQL, в отличие от моментального снимка, включает использование такого инструмента, как mysqldump, для создания файла операторов SQL, которые затем будут воспроизводить базу данных. Для этого не нужно замораживать базу данных. При использовании серверной части EBS лучше всего заморозить базу данных (приостановить все транзакции) во время создания моментальных снимков, чтобы избежать повреждения данных.

  • Пики, которые вы видите на концах окна резервного копирования. Если репликация приостановлена ​​Amazon во время создания моментального снимка вашей реплики, реплике потребуется «наверстать упущенное» по транзакциям, когда моментальный снимок будет завершен. Это вызовет всплеск задержки.

  • Репликация в развертывании в нескольких зонах доступности по своей сути медленнее, чем в случае развертывания в одной зоне доступности. Цена, которую вы платите за лучшее резервирование.

Джошуа
источник
7
Я могу подтвердить, что Amazon RDS использует EBS в качестве резервного хранилища для своих баз данных RDS. Графики задержки чтения и записи в RDS Cloudwatch эффективно описывают экземпляр EBS. Спасибо за такой ответ, он имеет смысл.
esilver 08
1
Amazon делится более подробной информацией в своем вскрытии сбоя
Джошуа
@ Джошуа, у вас есть какие-нибудь мысли по этой (отчасти связанной) теме? stackoverflow.com/questions/6799371/… Спасибо!
esilver
если используется реплика для чтения, повлияет ли это на главную реплику?
Matej
1
В документации AWS теперь указано, что «кратковременное замораживание операций ввода-вывода, обычно продолжающееся несколько секунд, происходит как во время автоматического резервного копирования, так и во время операций создания моментальных снимков БД в инстансах БД в одной зоне доступности». docs.aws.amazon.com/AmazonRDS/latest/UserGuide/…
baxang