Что такое база данных как услуга?

Источник · Перевод автора

Проблема: покупка, установка и подготовка компьютеров требуют времени, денег и места. Установка баз данных и обновлений безопасности – это рутинная работа. Что еще хуже, спрос на хранение и извлечение данных часто будет резко возрастать, а это означает, что нужно покупать достаточно, чтобы справиться с максимальной нагрузкой, а не только со средней.

Решение состоит в том, чтобы арендовать то, что вам нужно – другими словами, то, что некоторые компании называют «база данных как услуга» (DBaaS, database-as-a-service). Компании выстраиваются в очередь, чтобы взять пакет ваших битов и обещают дать вам еще один экземпляр когда-нибудь в будущем, когда вы захотите. За это они выставят счет на минимальную сумму. Например, AWS Glacier стоит 0,004 доллара США за гигабайт в месяц. Отправка им данных ничего не стоит. Но если вы хотите получить копию, что ж, это будет стоить вам. Если вам нужен более быстрый ответ, это будет стоить дороже.

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

Некоторые из сервисов также облегчают жизнь командам программирования, поддерживая старые API-интерфейсы унаследованного программного обеспечения. Некоторые используют версии исходных баз данных и выставляют счет как услугу. Другие просто имитируют старый API, обычно на SQL, поэтому ваше программное обеспечение не узнает, что оно не взаимодействует с имитацией.

Как к этому подходят старые игроки

Крупные компании, производящие базы данных, признают, что клиенты очарованы простотой облака, и запускают множество различных сервисов, чтобы удовлетворить эту потребность. Oracle имеет около дюжины основных сервисов, которые предоставляют все, от флагманского продукта до версий его новых опций, таких как MySQL или NoSQL. Доступны более старые версии для поддержки устаревших приложений, которые не были обновлены для работы с новейшими версиями баз данных.

Microsoft идет по тому же пути со своим SQL Server, который теперь не просто один продукт, а их семейство. Основной продукт доступен либо как отдельный продукт, работающий на отдельной виртуальной машине, либо как чистая услуга, счет за которую оплачивается транзакцией. Первый расположен ближе к серверу в вашем центре обработки данных, который он заменяет. Вторая – это гибкая современная схема ценообразования, которая позволяет быстро масштабироваться для обработки нагрузок размером до 100 терабайт.

IBM Db2 также был преобразован в набор продуктов, которые можно запускать либо на ваших собственных машинах, либо в облаке IBM. Существует несколько различных версий, в том числе некоторые из них, настроенные для приложений больших данных, охватывающих кластер Hadoop. Другие нацелены на определенные типы приложений, например отслеживание потоков данных, управляемых событиями.

Эти три компании ведут серьезную конкуренцию по цене и общей стоимости владения, добавляя новые функции, упрощающие управление и ускоряющие реагирование. Oracle, например, добавила новый движок Heatwave в свой почтенный продукт MySQL; компания утверждает, что она ускорит некоторые сложные аналитические запросы в 400 раз. Более того, Oracle также заявляет, что Heatwave более чем в 2,7 раза быстрее, чем другие облачные версии, но при этом на одну треть дешевле.

Выскочки

Вероятно, было бы несправедливо ставить Amazon Web Services в один ряд со многими стартапами, учитывая его размер, но он намного моложе, чем некоторые из старых баз данных, таких как Oracle, которые были созданы более сорока лет назад. AWS теперь предлагает более десятка различных сервисов баз данных, а также еще десяток, таких как S3, которые просто хранят необработанные биты. AWS также стирает грань между этими классами, поскольку в сегментах S3 можно выполнять поиск с помощью запросов SQL.

Некоторые из предложений AWS – это новые сервисы, например базы данных бухгалтерской книги. Другие – это управляемые экземпляры популярных баз данных с открытым исходным кодом, таких как PostgreSQL или MySQL. Один из сервисов, Aurora, предлагает совместимость как с PostgreSQL, так и с MySQL, обещая при этом быть в три-пять раз быстрее, чем стандартная версия. Невозможно суммировать широту и сложность вариантов хранения данных AWS за какой-то короткий промежуток времени.

Google – еще один гигант, который может показаться не новичком, но он все же намного моложе устаревших баз данных. Компания предлагает широкий выбор баз данных с различными интерфейсами. Его Firebase отличается не емкостью хранилища или стилем запросов, а тем, как он использует интеллектуальную репликацию, чтобы разработчикам мобильных устройств было проще создавать приложения, объединяющие локальное хранилище с облачными резервными копиями.

Есть много других сервисов, которые также будут управлять популярными базами данных с открытым исходным кодом как экземплярами с предопределенными образами. Некоторые облака, такие как DigitalOcean, запускают управляемый экземпляр, доставляющий MySQL или PostgreSQL. Другие, такие как Linode, предлагают только блочное или объектное хранилище. Облачные компании хотят предлагать товарные хранилища наряду с товарными вычислениями.

Другие конкурируют по цене и способу расчета счетов. Васаби, например, утверждает, что это одна пятая стоимости AWS S3. Дело не только в необработанных затратах на хранилище, потому что Wasabi также не будет выставлять счета за исходящие данные или некоторые вызовы API. Найти самый дешевый способ хранения и извлечения ваших битов не так просто, как взглянуть на одно число.

А как насчет управления?

Контроль данных и программного обеспечения по-прежнему будет проблемой для клиентов, и простого решения не существует. Раньше проприетарные базы данных часто оказывали давление на клиентов, когда требовалось продлить лицензию. Переход на другую базу данных может занять столько времени и быть чреватым опасностями, что многие администраторы баз данных просто заплатили дополнительную плату и научились незаметно проклинать привязку к поставщику.

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

Многие службы разрабатывают планы сортировки на случай чрезвычайных ситуаций, которые организуют данные по уровням. Наиболее важные данные могут регулярно реплицироваться в несколько локальных баз данных, расположенных в офисах в разных географических точках. Это может включать контактную информацию клиента, учетные данные для входа и записи сотрудников. Цель состоит в том, чтобы поддерживать минимальный жизнеспособный объем данных, необходимый для скорейшего возобновления работы предприятия.

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

Есть ли что-то, чего не может сделать база данных как сервис?

В основном цены пропорциональны количеству, которое будет храниться, и это часто означает, что надбавка за услугу слишком высока для крупных предприятий с относительно большими наборами данных. Dropbox, например, начал строить свой собственный центр обработки данных в 2016 году, и по некоторым оценкам, таким образом удалось сэкономить десятки миллионов долларов. Активным пользователям с долгосрочными постоянными потребностями в хранении данных будет проще и значительно дешевле последовать примеру Dropbox.

Но Dropbox – это крайний случай компании, которая хранит довольно много данных. Не только это, но и его маржа невелика, потому что он также перепродает хранилище по товарной цене. Он напрямую конкурирует с основными поставщиками облачных услуг. Многие другие компании считают, что размер страховых взносов ниже, чем при найме собственных сотрудников и проведении аналогичного процесса в их собственном центре обработки данных.