Вы наверняка слышали о бессерверных (serverless) вычислениях, которые позволяют развертывать приложения, не заботясь о базовой инфраструктуре. Вы также можете использовать бессерверный подход и к базам данных, пишет на портале ITPro Today независимый эксперт Кристофер Тоцци.

Рассмотрим, как работают бессерверные базы данных, почему они становятся популярными и какие варианты представлены на рынке в настоящее время.

Что такое бессерверная база данных?

Это база данных, которая позволяет хранить, управлять и анализировать данные без необходимости управлять базовой хост-инфраструктурой.

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

Надо уточнить, что бессерверные базы данных имеют базовую инфраструктуру. Но этой инфраструктурой управляет не пользователь, а кто-то другой — а именно поставщик платформы бессерверных баз данных. Таким образом, с точки зрения пользователя, сервера, по сути, не существует.

Бессерверные базы данных vs. бессерверные вычисления

То же самое справедливо и для бессерверных вычислений, которые также избавляют пользователей от необходимости управлять базовой инфраструктурой при развертывании приложений. Действительно, концепция бессерверных баз данных была вдохновлена трендом бессерверных вычислений, которые были популяризированы запуском AWS Lambda в 2014 г.

При этом важно не путать бессерверные базы данных с бессерверными вычислениями. Это разные типы решений, ориентированные на решение разных задач. Бессерверные вычислительные платформы позволяют развертывать приложения; они не предназначены для хранения данных или аналитики. Аналогичным образом, бессерверная база данных не может быть хостом для вашего приложения. Она может просто хранить ваши данные и поддерживать аналитические операции.

Преимущества и недостатки бессерверных баз данных

По сравнению с обычными базами данных, которые требуют от пользователей настройки и администрирования хост-инфраструктуры, бессерверные базы данных обеспечивают несколько основных преимуществ:

  • Скорость развертывания. Поскольку вам не нужно беспокоиться о процессе настройки или инициализации, вы можете быстро развертывать бессерверные базы данных.
  • Производительность. Бессерверные базы данных могут обеспечивать более высокую производительность в виде более быстрых запросов к данным, особенно в ситуациях, когда пользователям было бы сложно оптимизировать инфраструктуру базы данных для повышения производительности, если бы они сами управляли инфраструктурой.
  • Стоимость. Хотя бессерверные базы данных по своей сути не являются менее дорогими, чем традиционные базы данных, они могут быть более экономичными, поскольку (как и в случае с бессерверными вычислительными платформами) вы платите только за то, что потребляете. Другими словами, вам не нужно тратить деньги на инфраструктуру, которая теоретически может понадобиться, но фактически не используется.
  • Надежность. Передавая управление инфраструктурой поставщику бессерверных баз данных, многие организации могут добиться более высоких показателей надежности, чем если бы они управляли своей собственной инфраструктурой. Поставщики, специализирующиеся на предоставлении масштабируемой, отказоустойчивой и отказоустойчивой инфраструктуры баз данных, скорее всего, лучше справятся с управлением этой инфраструктурой, чем типичная корпоративная ИТ-организация.
С другой стороны, у бессерверных баз данных есть несколько потенциальных недостатков:
  • Привязка к поставщику. Некоторые платформы бессерверных баз данных построены на основе Open Source, но они, как правило, включают проприетарные дополнения. Это затрудняет переход от одной бессерверной базы данных к другой без необходимости изучения новых типов запросов и, возможно, реструктуризации данных.
  • Расходы. Хотя бессерверные базы данных способны сэкономить деньги, они могут оказаться и более дорогими, особенно если вы постоянно выполняете большое количество операций по анализу данных. В последнем случае традиционная база данных может оказаться более рентабельной.
  • Меньше контроля. Бессерверные базы данных предоставляют вам меньше контроля над тем, как структурируются данные и как выполняются запросы. Это хорошо для команд, которые просто хотят выполнять общие запросы, но не идеально, если у вас очень специализированные типы операций с данными или вы хотите внедрить оптимизацию базы данных, которую платформа бессерверных баз данных не поддерживает.

Где можно найти бессерверную базу данных?

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

  • Amazon Aurora Serverless, бессерверная версия AWS Aurora. (Сама по себе Aurora не является бессерверной базой данных, но, обеспечивая автоматизированное управление инфраструктурой, Aurora Serverless привносит в Aurora бессерверную функциональность.)
  • Amazon Athena, которая функционирует как служба бессерверной базы данных для анализа данных, хранящихся в AWS S3.
  • Firestore, сервис бессерверных баз данных в Google Cloud.
  • Azure SQL Database serverless, основное решение Microsoft Azure для бессерверных баз данных.
  • FaunaDB, проприетарная бессерверная база данных, разработанная независимо от ведущих облачных провайдеров.
  • MongoDB Atlas, бессерверное предложение на основе NoSQL-базы данных MongoDB с открытым исходным кодом.

Заключение

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