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

Альтернатива традиційним базам даних: Amazon Aurora

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

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

Одним із яскравих прикладів є AWS Aurora від Amazon, що використовує кластерний том для ефективного управління даними та їх розподілу з метою резервного копіювання.

Що являє собою Amazon Aurora?

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

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

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

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

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

Сфери застосування Amazon Aurora

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

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

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

Переваги Amazon Aurora

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

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

Можливість автоматичного масштабування дозволяє збільшувати обсяг пам’яті за потреби та зменшувати його у разі зниження вимог до зберігання даних.

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

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

Безпека

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

Використання AWS Key Management Service дозволяє створювати ключі шифрування для надійного захисту ваших даних.

Висока доступність та надійність

Aurora дозволяє створювати репліки у різних зонах доступності.

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

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

Для перенесення локальної бази даних на Aurora можна скористатися командами pg-dump або MySQL dump.

Повна керованість

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

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

Найкращі особливості Amazon Aurora

Нижче наведено ключові функції Amazon Aurora:

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

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

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

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

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

Економічна ефективність: Ви платите лише за те, що використовуєте, без початкових витрат чи інших комісій. Щомісячні платежі є прозорими і простими.

Підтримка міграції: Для перенесення локальної бази даних на 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)

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

#2. Ігри

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

#3. Корпоративні додатки

Amazon Aurora підходить для будь-якої компанії, яка використовує великі обсяги даних у порівнянні з реляційними базами даних. 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 не залежить від екземплярів. 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 має шість вузлів зберігання, розподілених у трьох зонах доступності. Навіть якщо є лише один обчислювальний вузол, все одно є кілька копій даних.

Стійкість

Завдяки архітектурному дизайну 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 (резервний екземпляр) можна використовувати для автоматизації відновлення після відмови та запобігання втраті даних.

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

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

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

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

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

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

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

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

Amazon Aurora Amazon RDS
Можливість розширити сховище від 10 ГБ до 64 ГБ Дозволяє 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 Aurora DynamoDB
Реляційна база даних, що підтримує MySQL та PostgreSQL. NoSQL.
Багаторегіональна, один головний, багатоголовна. Репліку можна підвищити до основної за хвилину. Висока доступність. Затримка реплікації становить менше 1 секунди.
Затримка реплікації становить менше мілісекунд.

Висновок

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