Amazon Relational Database Service (або Amazon RDS) — розподілена реляційна база даних (СКБД), яка надається як послуга від Amazon Web Services (AWS)Amazon RDS, Cloud Relational Database Service: MySQL, Oracle, SQL Server . Aws.amazon.com (2010-07-28). Retrieved on 2013-08-09.. Це серверне програмне забезпечення, яке виконується у «хмарі», клієнту надається доступ до всіх можливостей використання бази даних як створення баз, таблиць та роботи з ними. Провайдер забезпечує послуги системного адміністрування як розгортання, налаштування, масштабування, резервного копіювання.MySQL in the cloud at Airbnb — Airbnb Engineering . Nerds.airbnb.com (2010-11-15). Retrieved on 2013-08-09.Amazon RDS, Introduced . Aws.amazon.com (2010-01-01). Retrieved on 2013-08-09.. Управління такими адміністративними діями як зміна дискового простору, ресурсів для обчислення, запити на налаштування резервного копіювання та відновлення резервної копії виконується через вебінтерфейс або через API AWS. Під час зміни ресурсів для обчислення, RDS пропонує типи віртуальних машин EC2, проте це не передбачає можливість віддаленого адміністрування хостом такими інструментами як ssh.

Хронологія Amazon RDS був випущений 22 жовтня 2009 року з підтримкою MySQL баз данихRelease: Amazon Relational Database Service: Release Notes: Amazon Web Services . Developer.amazonwebservices.com. Retrieved on 2013-08-09.Vogels, Werner. (2009-10-26) Expanding the Cloud: The Amazon Relational Database Service (RDS) . All Things Distributed. Retrieved on 2013-08-09.. В червні 2011 року добавлена підтримка БД Oracle , Microsoft SQL Server у травні 2012Amazon Web Services Blog: Amazon RDS for SQL Server and .NET support for AWS Elastic Beanstalk . Aws.typepad.com (2012-05-08). Retrieved on 2013-08-09., PostgreSQL у листопаді 2013 та MariaDB (форк MySQL) у жовтні 2015 та ще 80 додаткових властивостей протягом 2017 року.

У листопаді 2014 AWS анонсувала Amazon Aurora, MySQL-сумісну базу даних, яка передбачає підвищену та продуктивність, а в жовтні 2017 року було запущено базу даних сумісну з PostgreSQL.

У березні 2019 року AWS оголосила про підтримку PostgreSQL 11 в RDS, через п'ять місяців після офіційного релізу.

Ключові особливості Amazon RDS легкий та зрозумілий у використанні. Екземпляри нових баз можуть бути запущені із AWS Management Console або використовуючи Amazon RDS APIs .. Управління відбувається з AWS Management Console або з Amazon CloudWatch APIs .

Amazon RDS пропонує різні функції для різних випадків використання. Деякими основними особливостями є:

Багатозонне розгортання У травні 2010 року Amazon оголосила про підтримку багатозонного розгортання. Це дозволяє користувачам автоматично надавати та підтримувати синхронну фізичну чи логічну «резервну» репліку, залежно від рушія бази даних, в іншій зоні доступності (незалежна інфраструктура у фізично окремому місці). Екземпляр багатозонної бази даних може бути створений як під час розгортання, так і пізніше. Багатозонне розгортання має на меті забезпечити підвищену та даних для РБД MySQL, MariaDB, Oracle, PostgreSQL та SQL Server та призначені для виробничих середовищ ()Replication for Availability & Durability with MySQL and Amazon RDS: O'Reilly MySQL Conference & Expo 2011 — O'Reilly Conferences, April 11 — 14, 2011, Santa Clara, CA . En.oreilly.com. Retrieved on 2013-08-09.. У разі запланованого обслуговування бази даних або незапланованих збоїв у роботі служби Amazon RDS на використання резервних реплік, що дозволяє відновити виконання операцій з базою даних без адміністративного втручання.

Багатозонність для RDS є необов'язковою та накладають додаткові витрати. Під час створення екземпляру RDS користувача запитують, чи хотів би він використовувати багатозонний екземпляр RDS. При багатозонному розгортанні резервне копіювання проводиться для екземплярів у режимі очікування, тому активність вводу / виводу не припиняється, хоча під час резервного копіювання можуть виникнути підвищені затримки на декілька хвилин.

Репліки для читання Опція створення копій БД для читання () використовується в різних ситуаціях, зазвичай для масштабування при суттєвих навантаженнях бази даних на читання. Доступно до п'яти реплік для екземплярів MySQL, MariaDB та PostgreSQL, які використовують вбудовану функцію асинхронної реплікації відповідних рушіїв бази даних, не мають резервних копій, налаштованих за замовчуванням і є доступними і можуть використовуватися для масштабування читання. З жовтня 2012 можливо зробити так, щоб репліки для читання MySQL та MariaDB працювали на запис; репліки для читання PostgreSQL не мають такої можливості. Репліки створюються на рівні сервера баз даних і не підтримують реплікацію на рівні екземпляра бази даних або на рівні таблиці.

Моніторинг і показники продуктивності

Надає вбудовані засоби моніторингу для оцінювання продуктивності та стану екземплярів баз даних. Основні показники продуктивності автоматично збираються та публікуються в сервісі Amazon CloudWatch, що дозволяє відстежувати роботу бази даних у режимі реального часу.

До стандартних метрик належать: використання процесора (CPU utilization); споживання оперативної пам’яті; дискові операції введення-виведення (IOPS); затримки читання та запису; обсяг вільного дискового простору; мережевий трафік.

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

Для детальнішого аналізу навантаження Amazon RDS підтримує Enhanced Monitoring, який надає інформацію про використання ресурсів операційної системи екземпляра бази даних із вищою частотою збору даних, ніж стандартні метрики CloudWatch.

Крім того, для підтримуваних рушіїв баз даних доступна функція Performance Insights, що дозволяє аналізувати продуктивність на рівні запитів. Вона відображає вплив окремих SQL-запитів, очікувань і блокувань на загальне навантаження системи, що спрощує виявлення вузьких місць у роботі бази даних.

Засоби моніторингу Amazon RDS використовуються як для повсякденного контролю стану сервісу, так і для планування оптимізації продуктивності та масштабування інфраструктури.

Вартість RDS

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

Сервіс підтримує кілька моделей оплати: On-Demand — оплата лише за фактичний час роботи екземпляра без довгострокових зобов’язань; Зарезервовані екземпляри (Reserved DB Instances) — попереднє резервування екземпляра на термін один або три роки з можливістю повної, часткової або нульової передоплати, що дозволяє зменшити загальну вартість використання.

Окрім вартості самого екземпляра, додатково оплачуються: обсяг провізіонованого сховища; операції введення-виведення (IOPS), зокрема при використанні Provisioned IOPS SSD; передавання даних між сервісами та за межі регіону AWS.

Для Amazon Aurora доступна безсерверна конфігурація Aurora Serverless, у якій плата нараховується за використані обчислювальні ресурси в одиницях Aurora Capacity Units (ACU).

Нові користувачі AWS можуть скористатися Amazon RDS у межах програми AWS Free Tier для навчальних і тестових цілей за умови дотримання встановлених лімітів безкоштовного використання.

Автоматичне резервне копіювання

Amazon Relational Database Service підтримує автоматичне резервне копіювання, яке дає змогу відновлювати базу даних до будь-якого моменту часу в межах заданого періоду зберігання резервних копій. Автоматичні резервні копії створюються щоденно та зберігаються в окремому сховищі Amazon S3, що забезпечує їхню високу надійність і доступність.

Період зберігання автоматичних резервних копій може налаштовуватися користувачем і становить від одного до тридцяти п’яти днів. У межах цього періоду можливе відновлення бази даних до будь-якого часу з точністю до секунди (point-in-time recovery).

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

Окрім автоматичних резервних копій, користувачі можуть створювати ручні знімки бази даних (DB snapshots). Такі знімки зберігаються доти, доки їх не буде видалено вручну, і не залежать від налаштувань періоду автоматичного резервного копіювання.

Експлуатація

Amazon Relational Database Service надає керований підхід до експлуатації реляційних баз даних, у межах якого більшість адміністративних завдань автоматизовано. Користувачі керують екземплярами баз даних через вебінтерфейс AWS Management Console, інтерфейс командного рядка AWS CLI або програмні інтерфейси (API).

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

Користувачі не мають прямого доступу до операційної системи екземпляра бази даних (наприклад, через SSH). Адміністрування здійснюється на рівні підтримуваного рушія бази даних за допомогою стандартних інструментів і протоколів, таких як SQL-клієнти.

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

Для забезпечення високої доступності Amazon RDS підтримує розгортання в режимі Multi-AZ. У разі відмови основного екземпляра сервіс автоматично виконує перемикання на резервний екземпляр без необхідності втручання користувача.

Класи баз даних Станом на грудень 2017 року Amazon RDS зараз підтримує 36 можливих класів БД, з яких 27 належать до останнього покоління, які підтримують різні типи навантаження :

Поточне покоління Тип екземпляра (інстанса) Пам'ять Amazon Elastic Block Store оптимізований / пропускний Ядер Навантаження мережіdb.t2.micro 1 GB N/A 1 ядро Від низького до помірногоdb.t2.small 2 GB N/A 1 ядро Від низького до помірногоdb.t2.medium 4 GB N/A 2 ядра Від низького до помірногоdb.t2.large 8 GB N/A 2 ядра Помірнеdb.t2.xlarge16 GBN/A4 ядраПомірнеdb.t2.2xlarge32 GBN/A8 ядерВисокеdb.r3.large 15.25 GB N/A 2 ядра Помірнеdb.r3.xlarge 30.5 GB N/A 4 ядра Помірнеdb.r3.2xlarge 61 GB N/A 8 ядер Високеdb.r3.4xlarge 122 GB N/A 16 ядер Високеdb.r3.8xlarge 244 GB N/A 32 ядра 10 Gigabitdb.r4.large15.25 GB437 Mbit/s2 ядраДо 10 Gbpsdb.r4.xlarge30.5 GB875 Mbit/s4 ядраДо 10 Gbpsdb.r4.2xlarge61 GB1750 Mbit/s8 ядерДо 10 Gbpsdb.r4.4xlarge122 GB3500 Mbit/s16 ядерДо 10 Gbpsdb.r4.8xlarge244 GB7000 Mbit/s32 ядра10 Gbpsdb.r4.16xlarge488 GB14000 Mbit/s64 ядра25 Gbpsdb.m4.large 8 GB 450 Mbit/s 2 ядра Помірнеdb.m4.xlarge 16 GB 750 Mbit/s 4 ядра Високеdb.m4.2xlarge 32 GB 1000 Mbit/s 8 ядер Високеdb.m4.4xlarge 64 GB 2000 Mbit/s 16 ядер Високеdb.m4.10xlarge 160 GB 4000 Mbit/s 40 ядер 10 Gigabitdb.m4.16xlarge256 GB10000 Mbit/s64 ядра25 Gigabitdb.m3.medium 3.75 GB N/A 1 ядро Помірнеdb.m3.large 7.5 GB N/A 2 ядра Помірнеdb.m3.xlarge 15 GB 500 Mbit/s 4 ядра Високеdb.m3.2xlarge 30 GB 10000 Mbit/s 8 ядер Високе

Попереднє покоління Тип екземпляра (інстанса) Пам'ять EBS оптимізований / пропускний Ядер Навантаження мережіdb.t1.micro 0.613 GB N/A 1 ядро Дуже низькеdb.m1.small 1.7 GB N/A 1 ядро Низькеdb.m1.medium 3.75 GB N/A 1 ядро Помірнеdb.m1.large 7.5 GB N/A 2 ядра Помірнеdb.m1.xlarge 15 GB N/A 4 ядра Високеdb.m2.xlarge 17.1 GB N/A 2 ядра Помірнеdb.m2.2xlarge 34.2 GB N/A 4 ядра Помірнеdb.m2.4xlarge 68.4 GB N/A 8 ядер Високеdb.cr1.8xl 244 GB N/A 32 ядра 10 Gigabit

Див. також