image

Бизнес применяет самые разные способы хранения корпоративных документов и персональных данных. Среди них встречаются нестандартные решения. Так, в одной западной компании, занимающейся разработкой, записи хранили в обычном текстовом файле JSON на диске, пока не перешли на etcd — key-value базу данных (позже компания вернулась к концепции единого файла из-за личных предпочтений фаундера).

В принципе любая компания может развернуть систему управления базами данных самостоятельно, если есть собственный ИТ-отдел и необходимые компетенции. Однако не каждая компания может себе позволить нанять администратора баз данных, чтобы тот занимался поддержкой. Следил за ресурсами, использованием оперативной памяти и хранилища и при необходимости их увеличивал, а также обеспечивал мониторинг, регулярное бэкапирование, настраивал оптимальную конфигурацию сервера СУБД.

Упростить все эти задачи можно, используя облачные базы данных по модели DBaaS (Database-as-a-Service). Что еще могут предложить базы данных в облаке? Как минимум две вещи — масштабируемость и производительность. О них расскажем далее. Материал подан доступно для начинающих.


СУБД уходят в облака


Наиболее распространенными инструментами в сфере хранения и управления данными по-прежнему остаются коммерческие решения, однако открытые платформы вроде MySQL, Redis, SQLite и PostgreSQL также обзавелись обширной аудиторией. Последнюю, например, даже применяют на Международной космической станции, и все они регулярно попадают в топ самых популярных систем управления базами данных в опросах на Stack Overflow.

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

Вторая причина — надежность и защищенность. Открытое программное обеспечение регулярно проходит независимые аудиты на безопасность, а открытость кода позволяет самостоятельно вносить в него изменения при необходимости.

Каждая открытая СУБД обладает своими сильными сторонами, однако многие из представленных реляционных решений не очень хорошо работают с тысячами серверов. Однако на помощь могут прийти облачные технологии, которые повышают ресурс масштабируемости. И на этом возможности облака для работы с БД не заканчиваются.

Плюсы, минусы и эффекты DBaaS


Для хранения данных нужно железо — закупить его в текущих условиях не так и просто для малого и среднего бизнеса. Когда компания переносит БД в облако, ей больше не нужно самостоятельно приобретать оборудование. В то же время провайдер берет на себя всё обслуживание и отвечает за:

  • безопасность данных;
  • резервное копирование и восстановление;
  • своевременную установку обновлений;
  • контроль нагрузки.

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

В портфолио поставщика DBaaS есть инструменты, направленные на повышение информационной безопасности. Например, что делаем мы в #CloudMTS:

  • ограничиваем доступ извне по определённым сетевым портам;
  • регулярно сканируем кластеры БД на уязвимости;
  • предоставляем возможности облачного файервола для ограничения доступа с определённых IP-адресов (клиент может ходить с конкретного постоянного IP-адреса, доступ с остальных будет заблокирован).

Хотя стоит отметить и потенциальные проблемы, возникающие в процессе работы с облачными базами данными. Принципы взаимодействия с БД одинаковы у разных провайдеров, но зачастую они входят в целую экосистему сервисов — виртуальных машин, виртуальных дата-центров и контейнеров. Глубокое погружение в неё может приводить к ситуации vendor lock-in, а миграция инфраструктуры из облака одного поставщика в другое — не самая простая задача.

Другой нюанс — отсутствие доступа к виртуальным машинам, на которых хранятся БД, и системным пользователям СУБД. Провайдер намеренно ограничивает возможность изменений конфигурации сервиса, поскольку сам несет ответственность за его работоспособность и снижает число точек отказа.

Как начать работу с DBaaS


image

DBaaS в личном кабинете #CloudMTS

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

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

Что касается развертывания кластеров баз данных, здесь все зависит от выбранного облачного провайдера. Однако в большинстве случаев этот процесс сводится к указанию требуемых параметров — например, объёма вычислительных ресурсов и конфигурации кластера — в панели управления при создании услуги.

Далее рассмотрим на примере кластера PostgreSQL в облаке #CloudMTS (этот раздел у нас доступен после регистрации).

image

Создание кластера

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

image

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

Работа в формате DBaaS имеет свои ограничения и подойдет не для всех компаний. Сервис позволяет гибко настроить кластеры баз данных, но он не подойдет организациям с особыми требованиями к конфигурации и устанавливаемому ПО. В таких случаях стоит проконсультироваться с провайдером и, возможно, развернуть кластер БД в рамках проектных услуг по развёртыванию и сопровождению. В любом случае специалисты #CloudMTS всегда помогут решить технические моменты и ответят на вопросы по продуктам.

Комментарии (2)


  1. fzfx
    22.11.2022 17:24

    Попробовал повторить ваш пример создания кластера. Кнопка "Создать" неактивна. Почему неактивна - нигде не написано. Это баг? Это ограничения бета-версии? Недоработка пользовательского интерфейса? Или связано с тем, что где-то в среди прочих элементов управления я ничего не производил с пунктом "Настройка сети" (хотя мне сеть как-раз таки и не нужна, посмотреть я хотел только на облачную СУБД)?


    1. randall Автор
      22.11.2022 17:52
      +1

      Добрый день. Да, для создания кластера необходимо указать настройки сети. Обратите внимание, что справа на экране есть кнопка "Обратная связь". Через нее можно выйти на службу технической поддержки.

      Также у нас есть база знаний с инструкциями по настройке (полностью открыта, регистрация не требуется). По DBaaS все подробности изложены тут.