Типы инстансов и гибкость
- Более 50 типов инстансов доступны в конфигурациях, оптимизированных по вычислительным ресурсам, памяти и хранилищу
- NVMe-хранилище на всех типах инстансов обеспечивает стабильно высокую производительность дискового ввода-вывода
- Независимое масштабирование ресурсов: выбирайте оптимальный баланс CPU, памяти и хранилища в зависимости от вашей рабочей нагрузки
Выбор подходящего типа инстанса
Как работает масштабирование
Процесс масштабирования
- Подготовка резервного инстанса: Создаётся новый резервный инстанс с целевым типом инстанса (CPU, память и конфигурация хранилища)
- Восстановление из резервных копий в S3: Резервный инстанс инициализируется восстановлением из самой свежей резервной копии, хранящейся в S3
-
Параллельное воспроизведение WAL: Резервный инстанс применяет все изменения Write-Ahead Log (WAL), произошедшие с момента создания резервной копии, с помощью механизмов параллельного восстановления на базе WAL-G
- WAL-G обеспечивает быстрые параллельные операции восстановления
- Создатель WAL-G входит в команду Ubicloud, с которой мы сотрудничаем, что обеспечивает глубокую экспертизу и оптимизацию
- Догоняющая репликация: Резервный инстанс догоняет основной, потоково получая и применяя текущие изменения WAL
-
Failover: Когда резервный инстанс полностью синхронизирован, контролируемый failover переводит его в роль нового основного
- Это единственный шаг, который вызывает простой (~30 секунд)
- Все активные соединения прерываются во время failover
- После завершения failover клиентам необходимо переподключиться
- Вывод старого инстанса из эксплуатации: Исходный инстанс выводится из эксплуатации после завершения failover
Продолжительность масштабирования
- Восстановление резервной копии: время, необходимое для восстановления последней полной резервной копии из S3 на новый инстанс
- Воспроизведение WAL: время, необходимое для воспроизведения инкрементальных изменений WAL с момента последней полной резервной копии
- Параллельное восстановление: механизмы параллельного восстановления WAL-G значительно ускоряют процесс
Параллельное восстановление с WAL-G
- Параллельную загрузку и распаковку: Несколько сегментов резервной копии одновременно загружаются из S3 и распаковываются
- Эффективное воспроизведение WAL: Инкрементальные изменения WAL по возможности применяются параллельно
- Оптимизированную потоковую передачу: Прямая потоковая передача из хранилища S3 без промежуточного копирования
- Быстрое восстановление: Хотя общее время зависит от объема данных, параллельный подход заметно ускоряет этот процесс
Запуск операции масштабирования
- Перейдите на вкладку Настройки вашего инстанса
- В разделе Масштабирование прокрутите страницу до пункта Размер сервиса
- Выберите целевой тип инстанса
- Просмотрите изменения и нажмите «Применить изменения»
Стратегии масштабирования
Вертикальное масштабирование
- Точную настройку: Выбирайте из более чем 50 типов инстансов, чтобы точно подобрать CPU, память и хранилище
- Оптимизацию под рабочую нагрузку: Выбирайте конфигурации, оптимизированные под конкретную рабочую нагрузку (с упором на вычисления, память или хранилище)
- Экономичность: Платите только за те ресурсы, которые вам нужны, без избыточного выделения
Реплики для чтения для горизонтального масштабирования
- Перенесите запросы на чтение на выделенные реплики для чтения
- Каждая реплика для чтения — это полностью независимый инстанс Postgres с собственными вычислительными ресурсами и памятью
- Реплики для чтения получают изменения WAL из Объектного хранилища, что обеспечивает эффективную репликацию
Масштабирование CDC для интеграции ClickHouse
- Масштабируйте CDC-воркеры от 1 до 24 ядер ЦП
- Объем памяти автоматически масштабируется в 4 раза от количества ядер ЦП
- Настраивайте масштабирование через ClickPipes OpenAPI
Автомасштабирование
- Использование диска: 85%: Вы получите уведомление в облачной консоли и по электронной почте.
- Использование диска: 90%: Запускается автомасштабирование. Объём хранилища увеличивается до следующего доступного размера для семейства вашего инстанса. CPU и память не изменяются, если текущий размер инстанса не поддерживает диск большего объёма; в этом случае размер инстанса также увеличивается. Реплики для чтения масштабируются одновременно с основным инстансом.
- Использование диска: 95%: Переключение выполняется без учёта настроенного окна обслуживания сразу после готовности нового сервера.
Переключение и соединения
Режим только для чтения
Операции чтения продолжают работать, а операции записи завершаются стандартной ошибкой Postgres
cannot execute INSERT in a read-only transaction. Если свободное место продолжает уменьшаться, существующие соединения разрываются, чтобы каждый сеанс применил настройку только для чтения; после повторного подключения клиентов операции чтения снова работают. Режим только для чтения отключается автоматически после восстановления свободного места, обычно сразу после завершения переключения при масштабировании вверх.
Пример
- При использовании 870 ГБ (85%) вы получите уведомление о заполнении хранилища.
- При использовании 922 ГБ (90%) запускается автомасштабирование. Будет подготовлен сервер замены с хранилищем объёмом 2048 ГБ и восстановлен из последней резервной копии, при этом ваш инстанс продолжит обслуживать трафик.
- Когда сервер замены синхронизируется, будет выполнено переключение — в пределах окна обслуживания, если оно настроено. Подключения прервутся менее чем на минуту, ваше приложение повторно подключится к тому же имени хоста, а использование хранилища снизится примерно до 45%.
- Если до завершения переключения свободное пространство опустится ниже 2% (около 20 ГБ), инстанс перейдёт в режим только для чтения. Запись автоматически возобновится после завершения переключения на диск большего размера.