Статьи

База данных как услуга: MySQL в облаке

Теперь, когда все размещено в облаке, почему бы вам не разместить свою базу данных в облаке? В этой статье я расскажу о облачных провайдерах, предлагающих облачный хостинг MySQL. Я буду обсуждать их особенности, простоту использования и цену. Эта статья будет охватывать:

  • два провайдера, предлагающие только MySQL в облаке: ClearDB и Xeround (Xeround закрывается с 15 мая 2013 года. Читайте здесь ).
  • Два основных облачных провайдера, которые предлагают хостинг MySQL как часть их общего предложения: Amazon RDS для MySQL и Google Cloud SQL.

Характеристики

Хотя все провайдеры предлагают размещенную базу данных MySQL, есть некоторые различия. Вы найдете ограничения с:

  • Xeround: ограничение полной совместимости с MySQL, например, табличные функции ALTER, файлы журналов и многое другое. Смотрите примечания к выпуску . Эти ограничения в основном применяются для обеспечения динамической масштабируемости.
  • Google Cloud SQL: ограничение полной совместимости с MySQL, а также такие функции, как пользовательские функции и репликация MySQL. Смотрите FAQ .

Amazon RDS для MySQL и Google Cloud SQL — это достаточно простые экземпляры MySQL на основе облачных вычислений, без особых изысков, но с дополнительным преимуществом работы в облаке (когда дело касается масштабирования вверх или вниз, простого клонирования и т. Д.). Они просто позволяют размещать вашу базу данных в их облачной инфраструктуре с указанными выше ограничениями. Amazon RDS для MySQL также имеет опцию ожидания репликации в случае сбоя основной базы данных и предлагает автоматическое резервное копирование.

Выбор одного из них зависит в основном от того, какую инфраструктуру вы используете для запуска основных приложений. Amazon RDS подойдет лучше всего, если вы разместите их на EC2, например, из-за низких задержек. Но комбо не требуется, вы можете разместить базу данных Google Cloud SQL на сервере EC2.

Xeround en ClearDB поднял его на уровень выше, обеспечивая высокую доступность (100% времени безотказной работы), простое резервное копирование и геораспределение. Xeround дополняет его динамической масштабируемостью для соответствия требованиям к размеру и пропускной способности. Они оба пытаются упростить размещение вашей базы данных в облаке, не беспокоясь о том, что происходит в случае сбоя узла. Оба они работают на Amazon AWS, а также на Rackspace Cloud и HP Cloud (Xeround) или Microsoft Azure (ClearDB).

Простота использования и специфическая функциональность

Теперь давайте посмотрим, насколько просто для каждого провайдера запустить вашу базу данных.

Amazon RDS

Amazon RDS

Вы запускаете экземпляр Amazon RDS для MySQL, как и любой другой экземпляр AWS, и через несколько минут вы можете получить к нему доступ. Для этого требуется активная учетная запись AWS. Amazon предлагает множество опций, таких как автоматическое резервное копирование, развертывание Multi-AZ (резервная реплицируемая версия вашей базы данных для отработки отказа) и Provisioned IOPS (оптимизация ввода-вывода) прямо из установки, что очень удобно.

Amazon использует группу безопасности базы данных для вашего экземпляра базы данных, для которой вам нужно авторизовать IP вашего сервера. Как только это будет сделано, используйте конечную точку экземпляра БД в качестве сервера базы данных вместе с учетными данными для входа, указанными в настройке, и все готово. Вы также можете предоставить доступ к определенной зоне безопасности EC2. Мониторинг запускается сразу же и дает вам представление о метриках использования, таких как ЦП, память, задержка и т. Д. Вы также можете настроить аварийные сигналы, чтобы уведомлять вас, когда одна из этих метрик пересекает указанный порог.

Amazon RDS

ClearDB

ClearDB

Настройка ClearDB буквально выполняется за минуту, но имеет один недостаток. Вы можете настроить его только у одного из их партнеров, будь то Heroku, Microsft Azure Cloud или Appfog. Я использую последний, Appfog. Но это почти так же просто с Heroku, где вы можете подключить его с вашим приложением. Appfog использует свои собственные переменные окружения, чтобы вы могли подключаться к вашей базе данных с вашим приложением / сайтом, который включает местоположение базы данных и учетные данные для входа.

ClearDB не предлагает особого мониторинга, только производительность запросов и рост базы данных (МБ). Он позволяет вам сделать резервную копию самостоятельно, но он автоматически отслеживает последние пять дней вашей базы данных в рамках своей службы.

ClearDB

Google Cloud SQL

Google Cloud SQL

Запуск базы данных Google Cloud SQL осуществляется с сайта API Google и требует наличия активной учетной записи (подтвержденной выставлением счетов). Вы раскручиваете новый экземпляр и выбираете настройки, которые вам нравятся. Google Cloud SQL предлагает автоматическую репликацию вашей базы данных, где вы можете выбрать между синхронной репликацией (при обновлении базы данных вы должны ждать завершения репликации) или асинхронной репликацией (вам не нужно ждать обновления, что быстрее, но может вызвать проблемы с перебоями во время резервного копирования).

Вы можете подключить свою базу данных к своему приложению Google App Engine или из внешнего ресурса. Они предлагают ряд вариантов подключения для управления (инструмент командной строки на основе Java) или для вашего приложения (JDBC). Google Cloud SQL предлагает все основные параметры мониторинга, такие как чтение, запись, запросы и многое другое. Google Cloud SQL автоматически устанавливает ежедневное резервное копирование, и вы можете бесплатно сохранить до 7 дней резервного копирования.

Google Cloud SQL

Xeround

Xeround

Как и в случае с ClearDB, вы можете запускать базу данных Xeround из Appfog и Heroku, но также в качестве отдельной службы. Вы просто регистрируетесь в Xeround и добавляете новую базу данных. Через несколько минут он работает. Затем вам дадут два адреса для использования в качестве местоположения базы данных. Один из них внутренний, если ваш сайт находится в том же центре обработки данных, что и ваша база данных, а второй — внешний адрес, если вы размещены в другом месте.

Xeround предлагает четыре метрики для мониторинга, как в цифрах, так и в графиках. Вы не можете сделать резервную копию с их бесплатным планом, но всегда есть автоматическое резервное копирование резервирования.

Xeround

ценообразование

Все провайдеры (в настоящее время) предоставляют бесплатный план:

Amazon RDS : экземпляр Micro DB (630 МБ ОЗУ) с 20 ГБ хранилища, 20 ГБ места для резервного копирования и 10 МБ операций ввода-вывода в месяц (низкая емкость ввода-вывода), как часть их бесплатного уровня.

ClearDB : бесплатный тариф предлагает 5 МБ памяти, макс. 10 подключений, ежедневное резервное копирование, низкая производительность ввода-вывода.

Google Cloud SQL : один облачный экземпляр с небольшим (неуказанным) объемом оперативной памяти, 0,5 ГБ хранилища и «разумной» производительностью ввода-вывода (Google намеренно остается неопределенным в отношении того, что вы получаете: это пробный план).

Xeround : бесплатный план предлагает 10 МБ хранилища, макс. 5 подключений, макс. Пропускная способность 1 МБ / с, резервных копий нет.

Но что, если вы используете очень популярный сайт с интенсивным использованием баз данных? Сколько это будет стоить? ClearDB и Xeround работают с размером БД, макс. соединения и производительность ввода-вывода, в то время как Google Cloud SQL и Amazon RDS используют традиционный размер экземпляра (когда в игру вступает ОЗУ). Вот несколько примеров для каждого из средних планов:

Amazon RDS : средний экземпляр БД, 3,75 ГБ ОЗУ, умеренная емкость ввода-вывода, 5 ГБ хранилища, 129,60 долл. США в месяц.

ClearDB : Scream DB, размер базы данных до 10 ГБ, макс. 40 соединений, высокая производительность ввода-вывода, $ 99,95 в месяц.

Google Cloud SQL : D4, 2 ГБ ОЗУ, 1,7 М / В в день, 5 ГБ хранилища, $ 175,80 в месяц.

Xeround : PRO, размер базы данных до 3 ГБ, до 4800 подключений, неограниченная пропускная способность, ежедневное резервное копирование, автоматическое масштабирование, $ 453,60 в месяц.

Как видите, Amazon RDS предлагает максимальную выгоду, но консервативен в гарантировании производительности ввода-вывода (хотя они развертывают выделенное хранилище IOPS, что дает вам больший контроль над вводом-выводом). В Google Cloud SQL это уточняется, но предлагает более низкую оперативную память по более высокой цене, чем Amazon RDS. Экземпляр Google Cloud SQL будет кэшировать ваше хранилище в оперативной памяти, уменьшая операции ввода-вывода и сокращая время загрузки. Для Amazon RDS вам понадобится Amazon ElastiCache, который сам по себе является платным сервисом.

ClearDB и Xeround запускаются одинаково, но сильно отличаются, когда используется больше памяти. Справедливости ради, Xeround предлагает более дешевый план (BASIC), но он ограничен объемом хранилища 0,5 ГБ. Этот план стоит 17 долларов в месяц, а ClearDB будет стоить 9,95 долларов в месяц за 1 ГБ хранилища. И у ClearDB есть специальная среда, начинающаяся с 399,95 долларов в месяц, но это не сравнимо с Xeround, поскольку последний всегда использует мультитенантную среду. Xeround PRO имеет дорогой SLA и предлагает автоматическое масштабирование. Но цена высока, и это то, что может повлиять на ваше решение, даже если ваша база данных, если всего несколько мегабайт при запуске.

Вывод

В этой статье я хотел дать вам представление о том, что доступно в базе данных как услуга. Как и в большинстве облачных сервисов, возможности безграничны. Но Amazon RDS является хорошим универсальным продуктом с конкурентоспособной ценой и широким спектром функций. Вы можете легко создать базу данных высокой доступности самостоятельно с автоматической репликацией и множеством параметров мониторинга. Помогает то, что вы, вероятно, уже хотя бы немного знакомы с Amazon AWS, если вы увлекаетесь облачными вычислениями, а RDS использует знакомые методы экземпляров.

Google Cloud SQL предлагает впечатляющее предложение, но его может быть немного сложнее настроить. Это помогает, если вы уже знакомы с App Engine, но, поскольку Google Cloud не так широко используется, как Amazon AWS, у него более высокая кривая обучения. Они использовали опыт, полученный при запуске поиска Google, для построения своей инфраструктуры, поэтому это доказано и быстро. Но вы платите цену за эту скорость.

Поначалу ClearDB и Xeround кажутся конкурентами, но они явно хотят отличаться друг от друга как по цене, так и по функциональности. Их стартовые планы в основном схожи, но план Xeround PRO находится в своей собственной лиге. Это очень дорого, но очень надежно и масштабируемо. Это не означает, что ClearDB ненадежен, но их подход отличается, и они знают свои ограничения (благодаря масштабируемости Xeround не может предложить полный пакет MySQL, как описано в их ограничениях в начале этой статьи).

Они оба делают базу данных MySQL высокой доступности доступной, простой в настройке (Xeround более универсальной, чем ClearDB) и доступной (если вы держите ее небольшим), полностью используя возможности облака. И за это достижение они оба являются победителями в этом сравнении.