Облачные базы данных
— это базы данных, которые запускаются на платформах
облачных вычислений
, таких как
Amazon EC2
,
и
Rackspace
. Существуют две распространённые модели развёртывания: пользователи могут приобрести непосредственно услугу доступа к базам данных, обслуживаемым поставщиком облачного сервиса, или же запустить базы данных в облаке независимо, используя образ виртуальной машины. Среди облачных баз данных присутствуют как
SQL
-ориентированные, так использующие модель данных
NoSQL
.
Содержание
Модель развёртывания
Существует два основных метода запуска базы данных в облаке:
Образ
виртуальной машины
— облачные платформы позволяют приобретать виртуальные машины, где возможно запускать базы данных. Пользователи могут загружать свои образы с уже установленной базой или же воспользоваться готовыми, где установлен уже оптимизированный экземпляр. Например,
Oracle
предлагает готовый образ для виртуальной машины с Oracle Database 11g Enterprise Edition на Amazon EC2.
База данных как сервис
— некоторые облачные платформы предлагают сервис баз данных, при помощи которого можно обойтись без виртуальной машины. В данном случае, пользователю не нужно устанавливать и поддерживать базу данных самостоятельно. Вместо этого, поставщик сервиса берёт на себя ответственность в установке и обслуживании базы данных.
Например,
Amazon Web Services
предоставляет три базы данных, входящие в их облачный сервис:
Amazon SimpleDB
(NoSQL, где данные хранятся в парах ключ-значение),
Amazon Relational Database Service
(SQL-ориентированная база данных с MySQL интерфейсом) и
DynamoDB
.
Так же можно приобрести
хостинг
базы данных, в случае если база данных не предоставляется как сервис. Например, облачный провайдер
Rackspace
предлагает такую услугу для баз данных MySQL.
Архитектура и общие характеристики
Многие провайдеры к базам данных предоставляют веб-интерфейс, при помощи которого пользователи могут устанавливать и настраивать экземпляры баз данных. Например, веб-консоль Amazon Web Services позволяет запускать экземпляры баз данных, создавать
(то же, что и резервное копирование) и следить за статистикой.
Так же предлагается компонент управления базами данных, который контролирует основную базу данных, используя специальное API сервиса. API открыто для пользователя и позволяет ему выполнять обслуживание и масштабирование своих экземпляров баз данных. Например, API для Amazon Relational Database Service позволяет создавать сам экземпляр базы данных, модифицировать его содержимое, а также создавать снапшоты или восстанавливать данные из ранее созданных снапшотов.
Подобный сервис делает прозрачным для пользователя весь стек программного обеспечения, который используется для поддержания работоспособности базы. Обычно он включает в себя операционную систему, саму систему управления базами данных и стороннее программное обеспечение, используемое в работе. Поставщик услуг берёт на себя ответственность за установку, исправление и управление данным программным обеспечением.
Данный сервис берёт на себя масштабируемость и доступность базы данных, причём особенности масштабируемости различаются у разных поставщиков — кто-то это делает автоматически, а другие позволяют пользователю производить расширение при помощи API. Также провайдеры обычно гарантируют высокую доступность сервиса (около 99,9 % или 99,99 %).
Модели данных
Также важно различать реляционные и не реляционные, NoSQL, базы данных:
SQL базы данных
— это такие базы, как
,
Oracle Database
,
Microsoft SQL Server
и
MySQL
. Любую из них можно запускать в облаке, причём только от поставщика зависит, будет ли это образ виртуальной машины или сервис. SQL базы данных трудно масштабировать, потому что изначально они не были рассчитаны на облачную среду.
NoSQL базы данных
— это такие базы, как
Apache Cassandra
,
CouchDB
и
MongoDB
. NoSQL базы данных были созданы, чтобы выдерживать большую нагрузку на чтение/запись данных, а также легко расширяться и уменьшаться
[
источник не указан 3658 дней
]
, к тому же они изначально создавались под облачные платформы. Однако, большинство современных программ были созданы с использованием SQL, поэтому работа с NoSQL базами данных часто требует полностью переписывать код приложения.
Поставщики
Следующая таблица предоставляет информацию об основных поставщиках облачных баз данных, классифицированных по модели развёртывания — образ виртуальной машины или база данных, как сервис — и модели данных, SQL против NoSQL.
Поставщики облачных баз данных по модели развёртывания и модели данных