Как работают облачные базы данных PostgreSQL в Selectel
Рассказываем про масштабирование облачных БД, их настройку, репликацию и отказоустойчивость.
Введение
Облачные базы данных — сервис для развертывания и управления кластерами баз данных в облаке. Облачные базы данных разворачиваются в кластере.
Кластер — это один или несколько серверов баз данных (нод), между которыми настроена репликация. Ноды кластера работают на базе вычислительных ресурсов облачной платформы Selectel. Облачные базы данных поддерживают мониторинг, резервное копирование и масштабирование кластера. Можно повысить отказоустойчивость кластера и настроить репликацию между нодами.
Настройки баз данных при создании кластера подобраны по умолчанию и зависят от конфигурации кластера и версии базы данных. При необходимости вы можете их изменить.
Настройка сетей облачной базы данных зависит от особенностей инфраструктуры, в которую встраивается облачная база данных.
В Selectel с облачными базами данных можно работать в панели управления, через API и Terraform.
Мониторинг
В облачных базах данных можно отслеживать состояние кластера в панели управления:
- смотреть информацию об использовании нод кластера и о нагрузке на базы данных в виде графиков в панели управления;
- смотреть статус кластера;
- получать уведомления о заполненности диска.
Метрики нод кластера и баз данных, которые доступны в панели управления, можно экспортировать в формате Prometheus.
Подробнее о мониторинге в нашей документации.
Резервное копирование
В облачных базах данных резервные копии кластера создаются автоматически с помощью WAL-G. Базы данных восстанавливаются на момент времени (Point-in-Time Recovery). Резервные копии хранятся в объектном хранилище Selectel изолированно от резервных копий других пользователей. Резервные копии нельзя выгрузить. Автоматическое создание резервных копий нельзя отключить.
Частота создания резервных копий для облачной базы данных PostgreSQL:
- Полные резервные копии кластера создаются один раз в неделю.
- Инкрементальные (дельта) резервные копии создаются один раз в день. Такие копии содержат все изменения с прошлой резервной копии.
- WAL-файлы создаются каждые 10 минут или при накоплении определенного объема изменений.
Подробнее о резервном копировании в нашей документации.
Масштабирование
Кластер облачных баз данных можно масштабировать — например, увеличить vCPU и RAM для повышения производительности кластера. Также можно изменить фиксированную конфигурацию нод на произвольную конфигурацию или произвольную конфигурацию на фиксированную, но только с бóльшим объемом дискового пространства. Процесс изменения конфигурации зависит от наличия реплик. Время изменения конфигурации зависит от объема данных в кластере.
Подробнее о масштабировании в нашей документации.
Отказоустойчивость и репликация
По умолчанию кластер состоит из одной главной ноды — мастер-ноды. При подключении к мастер-ноде доступны все операции: чтение (SELECT) и запись (INSERT, UPDATE, DELETE и другие). Чтобы обеспечить отказоустойчивость кластера, добавьте реплики — полные копии мастер-ноды. Они доступны только для чтения данных (SELECT). Если мастер-нода недоступна, реплики возьмут на себя ее роль, и кластер будет работать в штатном режиме. Их можно также использовать для снижения нагрузки на мастер-ноду при активном чтении.
Подробнее об отказоустойчивости в нашей документации.
Настройки облачных баз данных
Настройки базы данных влияют на производительность кластера баз данных. При создании кластера баз данных значения для всех настроек задаются автоматически. Значения подобраны так, чтобы обеспечить высокую производительность кластера, они отличаются в зависимости от конфигурации кластера и версии базы данных.
Если автоматические значения не подходят для ваших задач, вы можете установить свои значения при создании кластера или изменить настройки в уже созданном кластере.
Подробнее о настройках облачных баз данных в нашей документации.
Сети
При создании кластера облачных баз данных необходимо учесть особенности инфраструктуры, в которую встраивается облачная база данных — нужен ли доступ к нодам кластера из интернета и нужна ли сетевая связность с другими услугами Selectel.
Кластер может быть подключен:
- к приватной подсети — подсеть без доступа из интернета;
- публичной подсети — все адреса публичной подсети доступны из интернета.
После создания кластера подсеть нельзя изменить.
Подробнее о создании сетевой связности между выделенным сервером Selectel и кластером облачных баз данных в нашей документации.
Зоны ответственности
Selectel обеспечивает
- подбор оборудования для высокой производительности СУБД;
- установку операционной системы;
- установку и оптимальную настройку СУБД;
- обновление и обслуживание операционной системы и служебного ПО;
- надежность и отказоустойчивость кластера — когда вы создаете отказоустойчивый кластер, мы обеспечиваем аварийное переключение при сбое;
- настройку и обслуживание служебной сети для реплик кластера;
- резервное копирование — автоматическое создание и хранение копий;
- систему мониторинга состояния кластера в панели управления;
- безопасное хранение данных и защиту от краж и утечек;
- соответствие требованиям 152-ФЗ;
- наличие ресурсов для масштабирования кластера, если вы инициировали масштабирование;
- техническую поддержку.
Selectel не несет ответственность
- за корректное подключение к базе данных;
- оптимальность написания запросов к базе данных;
- схему и структуру данных в базе;
- инициирование масштабирования кластера.
Если вам нужна помощь с администрированием баз данных, закажите услуги администрирования сервисов.
Заключение
В этой статье мы рассказали, как работают облачные базы данных PostgreSQL в Selectel. Больше информации о продукте вы можете найти в нашей документации.