Як насправді працює резервне копіювання / знімок Amazon RDS?


94

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

Хтось із Stack може пояснити, як насправді працює резервне копіювання Amazon RDS ? Я прочитав документи Amazon RDS, і, наскільки я можу зрозуміти, Amazon RDS не поводиться відповідно до специфікацій. Зокрема, ці операції резервного копіювання / знімка повинні потрапляти в мою репліку і, отже, не спричиняти будь-яких простоїв / швидкодії, або я так думав.

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

  • Що технічно відбувається під час знімка та резервного копіювання, і чим вони відрізняються? (Якщо ви відповідаєте на це запитання, скажіть, будь ласка, чи можете ви емпірично підтвердити свою відповідь, або просто цитуєте мені документацію).
  • Чи можна очікувати стрибка затримки запису під час вікна резервного копіювання при розгортанні з декількома AZ?
  • Чи очікується стрибок затримки запису в кінці знімка при розгортанні декількох AZ?
  • Чи мій стрибок затримки запису був би ще вищим, якби я не був мульти-AZ?
  • Архітектурно, чи зміг би я уникнути цих стрибків затримки запису, якщо б прокатував власну базу даних, що працює на двох екземплярах 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 під час створення знімка вашої репліки, тоді репліці потрібно буде «наздоганяти» транзакції, коли знімок буде завершено. Це може спричинити скачок затримки.

  • Реплікація при розгортанні декількох AZ за своєю суттю є повільнішою, ніж одне розгортання AZ. Ціна, яку ви платите за кращий надмірність.


7
Я можу підтвердити, що Amazon RDS використовує EBS як резервне сховище для своїх баз даних RDS. Графіки затримки читання та затримки запису в RDS Cloudwatch ефективно описують екземпляр EBS. Дякую за цю відповідь, це має сенс.
esilver

1
Amazon розповідає більше подробиць у своєму відключенні після смерті тут aws.amazon.com/message/65648
Джошуа

@Joshua у вас є якісь думки щодо цієї (дещо пов'язаної) теми? stackoverflow.com/questions/6799371/… Дякую!
esilver

якщо використовується репліка для читання, чи це вплине на головну репліку?
Матей

1
Зараз у документації AWS зазначено, що "коротке заморожування вводу-виводу, яке зазвичай триває кілька секунд, відбувається як під час автоматичних резервних копій, так і під час операцій зйомки БД в екземплярах DB з одним AZ". docs.aws.amazon.com/AmazonRDS/latest/UserGuide/…
baxang

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.