Все, що ви не знали про Amazon Aurora

Традиційні системи баз даних мають багато обмежень щодо продуктивності, доступності та масштабованості. Amazon Aurora — це вирішення цих обмежень.

Бази даних необхідні для роботи додатків, які ведуть бізнес. Вони мають бути більшими, надійнішими та швидшими, щоб надавати кращі послуги. Веб-сервіси Amazon полегшують компаніям керування даними та покращують задоволеність клієнтів.

Прикладом такого сервісу є веб-сервіс AWS Aurora від Amazon. Він використовує том кластера для керування своїми даними та розподілу їх для екстреного резервного копіювання.

Що таке Amazon Aurora?

Amazon Aurora, хмарна база даних, повністю сумісна з відкритим кодом MySQL і PostgreSQL. Aurora підтримує всі функції MySQL з відкритим кодом. Це також забезпечує сумісність із програмами, які працюють у цих базах даних.

Aurora була розроблена для клієнтів, яким потрібна повністю керована служба бази даних із економічною ефективністю та простотою баз даних з відкритим вихідним кодом, але такою ж продуктивністю, як комерційна база даних.

Aurora забезпечує продуктивність у п’ять разів швидше, ніж традиційний MySQL, і втричі краще, ніж PostgreSQL. Amazon RDS виконує такі завдання, як ініціалізація, резервне копіювання та відновлення. Попередніх витрат немає, ви сплачуєте лише щомісячну плату.

Унікальність Aurora полягає в тому, що вона пропонує досконалий досвід роботи та корпоративні функції за невелику частку вартості комерційних баз даних.

Aurora забезпечує неперевершену продуктивність, доступність, безпеку та надійність у всьому світі. Aurora була найшвидше зростаючою службою в портфоліо AWS з моменту її створення в 2014 році.

Для чого використовується Amazon Aurora?

Надзвичайне зростання Aurora було зумовлене сильним інтересом багатьох галузей. Протягом останніх дванадцяти місяців ми спостерігали великий інтерес до фінансових послуг, програмного забезпечення та Інтернету, а також розваг та ігор та роздрібної торгівлі.

Клієнти переходять на Aurora MySQL і Aurora PostgreSQL, щоб консолідувати свої бази даних MySQL і PostgreSQL. Ми також спостерігаємо, як багато клієнтів переходять із застарілих баз даних, таких як Oracle або Microsoft SQL Server, на Aurora PostgreSQL.

Ці клієнти, які «вільні», втомилися платити високі ліцензійні збори та замикатися в застарілих базах даних. Клієнти з високими темпами росту хочуть швидко та безперешкодно масштабуватися в усіх регіонах. Вони також хочуть мати можливість інтегрувати служби AWS.

Переваги Amazon Aurora

Нижче наведено переваги використання Amazon Aurora:

Масштабованість

Ви можете включити автомасштабування. Це збільшить ємність пам’яті, коли у вас буде більше пам’яті. Це також зменшить розмір вашої бази даних, якщо зменшиться простір для зберігання.

Економічно ефективним

Платіть лише за обчислювальну потужність і обсяг пам’яті, який ви використовуєте. Немає авансових чи інших комісій. Здійснювати щомісячні платежі просто.

Безпека

Amazon VPC дозволяє ізолювати мережу, з якої працює ваша база даних.

Використовуйте службу керування ключами AWS для створення ключів шифрування, які захищають ваші дані.

Висока доступність і довговічність

Ви можете створити копії Аврори в багатьох зонах доступності.

Це глобальна база даних, яку можна легко розподілити між кількома регіонами AWS, що може знизити локальну швидкість читання/запису.

Підтримка міграції

Щоб перенести вашу локальну базу даних до Aurora, ви можете скористатися командами pg-dump або MySQL dump.

Повністю керований

Аврора дуже проста у використанні. Налаштувати екземпляр за допомогою консолі AWS RDS легко. Aurora пропонує безкоштовний моніторинг за допомогою Amazon Cloudwatch.

Немає необхідності турбуватися про надання, оновлення чи оновлення. Amazon має повний контроль над усіма аспектами вашого програмного забезпечення та зробить усі необхідні виправлення.

Найкращі функції Amazon Aurora

Нижче наведено найкращі функції Amazon Aurora:

Масштабованість: це найкраща функція Amazon Aurora. Розмір бази даних автоматично збільшується відповідно до вимог до сховища. Обсяг може збільшуватися з кроком до 10 ГБ і досягати максимуму 128 ТБ. Це забезпечує безперебійне зберігання.

Висока пропускна здатність: тести SysBench показали збільшення пропускної здатності в 5 разів. Amazon Aurora використовує різноманітні програмні та апаратні методи, щоб максимізувати доступну пам’ять, обчислювальну систему та мережу. Щоб покращити узгодженість продуктивності, операції введення та виведення використовують методи розподіленої системи, такі як кворуми.

  Виправте код помилки Xbox Live 80072EF3

Моніторинг і відновлення екземплярів: Amazon RDS постійно відстежує стан і продуктивність бази даних Amazon Aurora, а також основних екземплярів EC2. Amazon RDS автоматично перезапускає базу даних у разі збою бази даних і всіх пов’язаних процесів.

Шифрування: Amazon Aurora забезпечує високий рівень безпеки, дозволяючи шифрувати базу даних за допомогою ключів, які ви керуєте та створюєте за допомогою AWS Key Management Service. Amazon Aurora використовує шифрування SSL для захисту даних під час передачі.

Простий у використанні: Amazon Aurora легко використовувати. Amazon RDS Management Console використовується для створення нового екземпляра Amazon Aurora DB. Цей виклик API, або CLI, приймає лише один виклик API. Екземпляри Amazon Aurora DB попередньо налаштовані з відповідними параметрами та налаштуваннями для кожного типу екземплярів БД.

Економічно: платіть лише за те, що використовуєте. Немає авансових витрат чи інших комісій. Здійснювати щомісячні платежі просто.

Підтримка міграції: щоб перенести вашу локальну базу даних з Aurora на Aurora, ви можете скористатися командами pg-dump або MySQL dump.

Aurora повністю керована: ви можете почати використовувати її негайно. Все, що вам потрібно зробити, це створити екземпляр за допомогою консолі AWS RDS або викликати API зі свого коду. Немає необхідності турбуватися про надання, оновлення чи оновлення.

Архітектура Amazon Aurora

Вся архітектура бази даних Aurora побудована на основі традиційної СУБД. Він повторно використовує більшість компонентів СУБД, таких як менеджер транзакцій, механізм виконання запитів і менеджер відновлення.

Amazon Aurora — це нова СУБД, яка виходить за рамки традиційної гри. Він вносить багато покращень у існуючі СУБД для підвищення їх доступності, надійності та масштабованості.

Ці зміни:

  • Використовується налаштування основної репліки
  • Віддалене зберігання даних можна тиражувати
  • На віддалений диск потрібно зберігати лише журнали змін

Архітектура Amazon Aurora може масштабувати рівні зберігання традиційних реляційних баз даних.

Основний екземпляр бази даних Amazon Aurora передає журнал повторного виконання на свій рівень зберігання для обробки. Журнали обробляються рівнем зберігання, який створює та зберігає нові версії сторінок і резервне копіювання всього на S3.

Автор зображення: AWS

Amazon Aurora потрібно лише створити додаткові екземпляри механізму баз даних і підключити їх до існуючого рівня зберігання під час масштабування. Це усуває вузьке місце в реплікації даних, делегуючи ці завдання для паралельної обробки рівню зберігання.

Це дозволяє створювати багато нових функцій, наприклад:

  • Миттєве відновлення після збою: Вам не потрібно відтворювати журнали з останньої контрольної точки
  • Швидке відновлення після збоїв: немає потреби турбуватися про те, яка репліка бази даних має останній запис журналу повторного виконання. Рівень зберігання справляється з цим.
  • Зворотне відстеження: оскільки рівень зберігання має потокові журнали повторення, він може «перемотувати» дані до певних точок у минулому без необхідності відновлення контрольної точки з резервної копії S3

Налаштування Amazon Aurora

Нижче наведено кроки для успішного налаштування Amazon Aurora.

#1. Увійдіть до консолі керування AWS і відкрийте RDS.

#2. Натисніть створити базу даних.

#3. Виберіть параметр Engine як Amazon Aurora.

#4. Виберіть потрібну версію Aurora MySQL.

#5. Створіть ідентифікатор кластера БД і встановіть ім’я користувача та пароль для параметрів облікових даних.

#6. Виберіть конфігурацію екземпляра зі спадного меню та виберіть опцію, створювати репліку чи ні.

#7. Виберіть параметри підключення, як показано нижче.

#8. Виберіть із існуючої групи безпеки VPC або створіть нову.

#9. Увімкніть розширений моніторинг, виберіть опцію деталізації та ролі моніторингу.

#10. Нарешті натисніть створити базу даних.

#11. Ви успішно створили базу даних Amazon Aurora.

Цінова модель: Amazon Aurora

Aurora Serverless ACU v2 коштує 0,12 доларів США на годину, що вдвічі дорожче за готові Aurora ACU. Це означає:

  • Мінімальна поточна вартість: 4 ACU, 0,48 дол. США на годину або 350 дол. США на місяць
  • Для робочих навантажень, які патологічно запускають функцію автоматичного масштабування, існує мінімальне збільшення масштабованості на 30 секунд або 0,0005 доларів США для половини ACU.

Щомісячна вартість Aurora Serverless V2 становить 350 доларів США. Кожна подія автоматичного масштабування стягуватиметься щонайменше 0,0005 доларів США. Хоча еквівалентна потужність Aurora становить 175 доларів США на місяць, вона не матиме адаптивного безсерверного автоматичного масштабування.

Випадки використання: Amazon Aurora

#1. Програмне забезпечення як послуга (SaaS)

Він використовує багатофункціональні архітектури, які можуть бути гнучкими в сховищі та масштабуванні екземплярів. У результаті Amazon Aurora дозволяє компаніям зосередитися на розробці високоякісних програм і не турбуватися про базу даних.

  Як приховати мою електронну пошту в поштовому додатку

#2. Ігрове призначення

AWS Aurora працює так само, як Relational Database. Він забезпечує високу пропускну здатність, величезну ємність для зберігання, високу доступність і високу доступність.

#3. Корпоративна програма

Amazon Aurora сумісна з будь-якою компанією, яка вже має більше фільмів, ніж Relational Database. Aurora є економічно ефективним, оскільки знижує ціну до 90% порівняно з іншими варіантами.

Сумісність Aurora з MySQL і PostgreSQL

Amazon Aurora створено для високої продуктивності, глобальної доступності та повної сумісності з MySQL/PostgreSQL. Стандартні інструменти спрощують перенесення баз даних MySQL і PostgreSQL з Aurora. Ви також можете запускати застарілі програми SQL Server за допомогою Babelfish для Aurora PostgreSQL, вимагаючи мінімальних змін коду.

Amazon Aurora працює зі стандартними інструментами імпорту/експорту PostgreSQL, такими як pg_dump або pg_restore. Ви також можете створити нову таблицю Amazon Aurora за допомогою знімка Amazon RDS або MySQL DB Snapshot.

Знімки БД зазвичай виконуються швидко, але це залежатиме від того, скільки та в якому форматі даних переміщується.

Amazon Aurora проти Amazon RDS

Архітектурний дизайн

Архітектура RDS подібна тим, що дозволяє інсталювати механізм бази даних на Amazon EC2 вручну, але залишає надання та обслуговування AWS. RDS надає багато функцій, як-от автоматичне перемикання після відмови, резервне копіювання тощо. RDS використовує томи Amazon EBS для зберігання журналів і даних бази даних.

Система зберігання баз даних «Аврора» є надійною та відмовостійкою. Сховище бази даних для Aurora не залежить від екземплярів. Aurora зберігає дані в шести копіях, кожна з яких містить фрагменти по 10 ГБ. Ці копії розповсюджуються в трьох зонах доступності. Навіть якщо у вас є лише один екземпляр Aurora, все одно буде шість копій ваших даних.

Продуктивність

RDS використовує накопичувачі SSD для покращення пропускної здатності вводу-виводу. Доступні два варіанти зберігання даних із підтримкою SSD. Один призначений для високопродуктивних програм OLTP, а інший призначений для економічно ефективного використання загального призначення.

Aurora пропонує вдвічі більшу продуктивність, ніж PostgreSQL, і вп’ятеро вищу, ніж стандартний MySQL, на порівнянному обладнанні. Продуктивність Aurora була незмінно вищою та стабільнішою.

Підтримка Database Engine

RDS сумісна з MySQL, PostgreSQL і MariaDB, а також з Microsoft SQL Server і Oracle.

Aurora сумісна як з PostgreSQL, так і з MySQL. Це означає, що ви можете використовувати існуючі інструменти бази даних і програми як на PostgreSQL, так і на MySQL, не вносячи жодних змін.

Довговічність і доступність

Aurora має унікальну модель зберігання, яка дозволяє безперервно створювати резервні копії та відновлювати з дуже низьким RPO (цільовою точкою відновлення). Це робить його більш надійним і довговічним, ніж RDS.

Дані в Aurora надійні. Завжди існує кілька копій ваших даних. Кожен кластер Aurora має шість вузлів зберігання, розподілених по трьох AZ. Навіть якщо у вас є лише один обчислювальний вузол, все одно є кілька копій ваших даних.

Стійкість

Завдяки своєму архітектурному дизайну Aurora є більш стійкою, ніж RDS. Швидко відновлюється після невдач. У разі збою обчислювального вузла Aurora може швидко відновитися.

Зберігання

Автоматичне масштабування сховища RDS масштабує ємність сховища до 64 TiB (окрім 16 TiB для SQL Server), щоб забезпечити зростаюче робоче навантаження бази даних. Простоїв немає.

Aurora автоматично збільшує обсяг пам’яті, збільшуючи його з мінімальних 10 ГБ до максимальних 128 ТіБ. Сховище збільшується з кроком у 10 ГБ без жодного впливу на продуктивність бази даних.

Масштабованість

Вертикальне масштабування: RDS і Aurora дозволяють масштабувати пам’ять і обчислювальні ресурси до максимум 244 ГіБ оперативної пам’яті та 32 віртуальних ЦП. За лічені секунди ви можете масштабувати операції.

Динаміка автоматичного масштабування Aurora: автоматичне масштабування Aurora динамічно регулює кількість реплік Aurora, доступних для кластера Aurora DB, використовуючи реплікацію з одним головним. RDS НЕ підтримує таке автоматичне масштабування.

тиражування

RDS можна використовувати для надання до п’яти копій. Процес реплікації також повільніший, ніж у Aurora.

Aurora може створити до 15 реплік, а реплікація займає лише кілька секунд. Aurora масштабується швидше, оскільки може швидко додавати нові репліки читання.

Перехід після відмови

У RDS відмова для читання репліки відбувається вручну. Це може призвести до втрати даних. Multi-AZ (Standby Instance) можна використовувати для автоматизації відновлення після відмови та запобігання втраті даних.

Щоб запобігти втраті даних, Aurora використовує відмову для автоматичного читання реплік. Aurora має швидший час відновлення після відмови.

  Керуйте музичною бібліотекою з центру сповіщень iPhone

Кінцеві точки кластера

RDS має кінцеву точку кластера, яку можна використовувати для виконання запитів на запис. Це покажчик DNS на ваш поточний головний екземпляр бази даних. RDS направляє кінцеву точку до нового головного за допомогою простої зміни DNS під час відновлення після відмови.

Кінцева точка кластера все ще доступна в Aurora для написання запитів. Ця кінцева точка також діє як балансир навантаження для ваших реплікацій читання. Цю кінцеву точку можна використовувати для відповіді на ваші запити читання.

Резервне копіювання

RDS автоматично створює та зберігає резервні копії ваших екземплярів БД під час вікна резервного копіювання вашого екземпляра БД. RDS робить знімок вашого екземпляра БД як тома зберігання, створюючи резервні копії всіх баз даних, а не лише тих, які ви вибрали.

Aurora автоматично створює резервні копії томів кластера та продовжує відновлення даних протягом періоду зберігання резервної копії. Резервне копіювання Aurora є безперервним і поступовим, тому ви можете швидко відновити будь-яку точку протягом періоду зберігання резервної копії.

Нижче наведено зведену таблицю для Amazon Aurora проти Amazon RDS:

Amazon AuroraAmazon RDSВи можете розширити сховище з 10 ГБ до 64 ГБDS, дозволяє 64 ГБ для всіх механізмів, але лише 16 ГБ для SQL-сервера. Ви можете масштабувати пам’ять і обчислювати максимум до 32 vCPU і 244 ГБ оперативної пам’яті Те саме, що AuroraПідтримує MySQL і PostgreSQLПідтримує Microsoft SQL Server, MariaDB, Oracle Database, MySQL, PostgreSQL і Amazon AuroraПідтримує п’ятнадцять реплікПідтримує п’ять реплікЦіна залежить від операцій вводу-виводуВи можете спробувати безкоштовно без мінімальної плати за використання

Amazon Aurora проти DynamoDB

Довговічність і доступність

Кожна частина даних DynamoDB реплікується на кілька фізичних вузлів. Amazon розмістив ці фізичні вузли в кількох зонах (так званих зонах доступності), щоб забезпечити високу надійність і доступність у разі стихійного лиха, як-от пожежа чи серйозне відключення електроенергії. Операція триватиме, навіть якщо одна копія вийде з ладу. SSD також дуже надійні та довговічні.

Резервне копіювання та відновлення

DynamoDB пропонує резервне копіювання на вимогу, а також PITR (резервне копіювання в певний момент часу), що дозволяє отримати доступ до будь-якого стану бази даних. DynamoDB здатний створювати резервні копії будь-якої кількості даних. Це не вплине на продуктивність і доступність. Резервне копіювання займає дуже мало часу, і користувачам не потрібно турбуватися про розклад резервного копіювання чи фонові процеси. AWS дозволяє відновлювати резервну копію лише одним викликом API.

Процес резервного копіювання Amazon Aurora подібний до DynamoDB. Він був створений без будь-яких перерв у продуктивності або перебоїв у службі бази даних. Резервні копії Amazon зберігаються у відрі S3. Aurora автоматично створить резервну копію на 30 хвилин, якщо ми не вкажемо вікно резервного копіювання.

Управління доступом

DynamoDB підтримує користувачів і ролі IAM за допомогою детальних політик, які обмежують привілеї створення бази даних і запитів. Amazon Aurora також має подібну схему дозволів.

Однак Aurora також надає сумісні з MySQL і PostgreSQL інтерфейси підключення до бази даних.

DynamoDB, регіональна служба, не підпадає під обмеження VPC. Однак кластери Aurora DB потрібно встановити у VPC, який чітко визначає межі мережі. Ви також можете використовувати групи безпеки VPC, щоб контролювати, яким пристроям або примірникам Amazon EC2 дозволено підключатися до примірника бази даних.

Нижче наведено зведену таблицю для Amazon Aurora проти DynamoDB:

Amazon AuroraDynamoDBРеляційну базу даних, що підтримує базу даних MySQL і PostgreSQLNoSQL. Багаторегіональна, один головний, багаторегіональна, багатоголовна. Репліку можна підвищити до основної за хвилину. Висока доступність. Затримка реплікації становить менше 1 секунди. Затримка реплікації становить менше мілісекунд.

Висновок

Це було все. Ми всі вступаємо в нову еру реляційних баз даних, і Aurora — це лише початок. Клієнти відповіли переважною згодою. Лідери в усіх галузях, як-от Capital One, Dow Jones, Netflix і Verizon, переносять робочі навантаження своїх реляційних баз даних на Aurora, включаючи випуски, сумісні з MySQL і PostgreSQL.