Хмарна база даних — база даних, що, зазвичай, працює на платформі хмарних обчислень. Є дві поширені моделі розгортання: користувачі можуть запускати бази даних на хмарі незалежно, використовуючи віртуальну машину, або вони можуть отримати доступ до сервісу бази даних, що підтримується провайдером хмарних БД. З баз даних, доступних на хмарі, деякі базуються на SQL-основі, інші використовують NoSQL модель даних.
Є два основних методи для запуску бази даних в хмарі:
- Образ віртуальної машини — хмарні платформи дозволяють користувачам отримати екземпляр віртуальної машини на обмежений час, і користувач може запустити базу даних на тій віртуальній машині. Користувачі можуть або самостійно завантажувати образ із встановленою на ньому базою даних, або використовувати попередньо створені образи, що вже включають оптимізовану інсталяцію. Наприклад, Oracle забезпечує готовий машинний образ з інсталяцією Oracle Database 11g Enterprise Edition на Amazon EC2[1] та на Microsoft Azure.[2]
- База даних як сервіс (DBaaS) — деякі хмарні платформи надають опції для використання бази даних як сервіса, без фізичного запуску екземпляра віртуальної машини для бази даних. При такій конфігурації, власникам додатків не потрібно встановлювати та підтримувати базу даних. Натомість, провайдер сервісу бази даних бере на себе відповідальність за її встановлення та підтримку, і власники додатків платять згідно з їх використанням. Наприклад, Amazon Web Services надає три сервіси баз даних як частину власної хмарної пропозиції: Amazon SimpleDB, NoSQL сховище ключ-пара; Amazon Relational Database Service, сервіс бази даних побудований на SQL з MySQL інтерфейсом; та Amazon DynamoDB. Подібним чином, Microsoft надає Azure SQL Database сервіс[3] як частина їх хмарної пропозиції.
- Третя опція включає керований хостинг бази даних у хмарі, де постачальник хмарної БД не пропонує базу даних як сервіс, а хостить базу даних і керує нею від імені власника додатку. Наприклад, хмарний постачальник Rackspace пропонує керований хостинг для MySQL на виділеному[4] та хмарні архітектури[5] та бази даних NoSQL через Object Rocket's керований MongoDB сервіс.[6] Схоже, на Azure[7] та на Amazon Web Services,[8] MongoLab надає MongoDB-as-a-Service.
Архітектура та загальні характеристики
- Більшість сервісів БД надають веборієнтовані консолі, що кінцевий користувач може використовувати для підготовки та налаштування екземплярів БД. Наприклад, Amazon Web Services вебконсоль дозволяє користувачам запускати екземпляри БД, створювати снапшоти (схоже до бекапів) баз даних, і спостерігати за статистикую БД.[9]
- Сервіси баз даних складаються з компоненту-менеджера БД, що керує основними екземплярами БД використовуючи API цього сервіса. API сервіса розкриті для кінцевого користувача, та дозволяє користувача виконувати обслуговування та операції зміни розміру на їх екземплярах БД. Наприклад, Amazon Relational Database Service's сервісне API дозволяє створювати екземпляр БД, проводити модифікацію ресурсів доступних для екземпляра БД, видаляти екземпляр БД, створювати снапшоти(схоже до бекапів) баз даних, та відновлювати БД з снапшоту.[10]
- Сервіс БД роблять основний софтвар-стек прозорим для користувача — типово стек включає операційну систему, базу даних та сторонній софт для управління БД. Надавач сервісу (наприклад — MongoLab або ObjectRocket) є відповідальним за встановлення, пропатчення та оновлення основного софтвер-стеку, та забезпечення загального благолополуччя бази даних.
- Сервіси БД піклується про масштабованість та високу доступніть БД. Фічі масштабованості відрізняються в залежності від постачальника — деякі пропонують автоматичне масштабування, інші дозволяють користувачу масштабувати використовуючи API, але без автоматичного масштабування. Існує правило, зобов'язання для певного рівня високої доступності (наприклад — 99.9 % або 99.99 %).
Також важливо відрізняти між хмарними БД що є реляційними, на відміну від не реляційних або NoSql:[джерело?]
- SQL Бази даних, такі як PostgreSQL, NuoDB, Oracle Database, Microsoft SQL Server, та MySQL, є одним з типів баз даних що можуть бути запущені у хмарі(на образі віртуальної машини або як сервіс, залежить від постачальника). SQL бази даних є тяжко масштабованими, це означає що вони першочервого не є пристосовані до хмарного середовища,[джерело?] проте хмарні сервіси БД що базуються на SQL почали вирішувати цю проблему.[11]
- NoSQL Бази даних, такі як Apache Cassandra, CouchDB та MongoDB, є ще одним типом баз даних, що можуть бути запущені в хмарі. NoSQL бази даних побудовані щоб обслуговувати великі операції Запису/Зчитування та можуть масштабуватися дуже легко,[12] і таким чином вони більш пристосовані до запуску в хмарі. Проте, найсучасніші додатки побудовані з використанням моделі SQL, тож робота з NoSQL базами даних часто потребує повного перенаписання коду додатку.[13]
Наступна таблиця містить список постачальників з пропозицією хмарних БД, яких варто взяти до уваги, та які класифікуються їх моделлю розгортання — машинний образ проти бази даних як сервісу — та моделі даних SQL проти NoSQL.
Більше інформації Розгортання на віртуальній машині, База даних як сервіс ...
Постачальники хмарних БД за розгортанням та моделлю даних
|
Розгортання на віртуальній машині |
База даних як сервіс |
SQL Модель даних |
|
|
NoSQL Модель даних |
|
|
Закрити