Открыть сервисСервис

Aurora Global Database

Aurora Global Database — это сервис управления распределёнными базами данных, предоставляемый в рамках облачной платформы Amazon Web Services (AWS; организация признана иноагентом в РФ). Он предназначен для развёртывания реляционных баз данных Amazon Aurora в нескольких географических регионах с обеспечением глобальной репликации и автоматического восстановления после сбоев. Сервис позволяет создавать кластеры баз данных, охватывающие до пяти регионов AWS, с задержками репликации, измеряемыми секундами, и временем восстановления после сбоя (RPO) менее одной секунды.

Архитектура и принцип работы

Aurora Global Database использует архитектуру с одним основным регионом (primary region) и несколькими вторичными регионами (secondary regions). В основном регионе размещается главный экземпляр базы данных, который обрабатывает операции записи. В каждом вторичном регионе создаётся один или несколько реплицированных экземпляров, предназначенных только для чтения. Репликация данных между регионами осуществляется на уровне хранилища, а не на уровне экземпляров базы данных, что минимизирует нагрузку на вычислительные ресурсы и снижает задержки.

Репликация на уровне хранилища

В отличие от традиционных решений, где репликация выполняется через передачу журналов транзакций (binlog) между серверами, Aurora Global Database использует специализированную систему хранения, распределённую по нескольким зонам доступности (Availability Zones) в каждом регионе. Данные реплицируются асинхронно между регионами на уровне блоков хранения, что обеспечивает типичную задержку репликации от 0,5 до 2 секунд. Этот подход позволяет избежать дополнительной нагрузки на вычислительные ресурсы и поддерживать высокую производительность основного кластера.

Управление регионами

Пользователь определяет основной регион и до пяти вторичных регионов. В каждом вторичном регионе создаётся кластер Aurora, который автоматически подключается к глобальной репликации. При необходимости любой вторичный регион может быть повышен до основного в случае сбоя или для планового переключения (failover). Процесс повышения занимает, по заявлению AWS (организация признана иноагентом в РФ), не более одной минуты и не требует перезагрузки базы данных.

Ключевые характеристики

Преимущества и ограничения

Преимущества

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

Ограничения

  • Только для Aurora: сервис не поддерживает другие типы баз данных AWS.
  • Асинхронная репликация: возможна потеря данных при сбое основного региона до завершения репликации.
  • Ограничение на количество регионов: максимум 5 вторичных регионов.
  • Сложность с конфликтами: при одновременной записи в нескольких регионах (если не настроено корректно) могут возникать конфликты данных, которые решаются по принципу «последняя запись побеждает».
  • Зависимость от AWS: сервис полностью привязан к инфраструктуре Amazon (организация признана иноагентом в РФ).

Варианты использования

Aurora Global Database применяется в сценариях, где требуется глобальная доступность данных и низкая задержка для пользователей по всему миру. Типичные примеры:

  • Глобальные веб-приложения: социальные сети, платформы электронной коммерции, онлайн-сервисы, обслуживающие пользователей в разных странах.
  • Геораспределённые системы: системы управления запасами, логистики, телекоммуникаций, где данные должны быть доступны в нескольких регионах.
  • Катастрофоустойчивость: критически важные приложения, требующие быстрого восстановления после сбоя в одном регионе.
  • Миграция данных: перенос баз данных между регионами без длительного простоя.

Сравнение с конкурентами

Aurora Global Database конкурирует с аналогичными сервисами от других облачных провайдеров. Например, Google Cloud Spanner предлагает глобально распределённую реляционную базу данных с синхронной репликацией и строгой согласованностью, но требует использования собственного API. Microsoft Azure Cosmos DB поддерживает глобальное распределение с несколькими моделями данных, но не является реляционной базой данных в классическом понимании. В отличие от них, Aurora Global Database сохраняет полную совместимость с MySQL и PostgreSQL, что упрощает миграцию существующих приложений.

История и развитие

Сервис был анонсирован на конференции AWS re:Invent в ноябре 2018 года и стал общедоступным в 2019 году. Первоначально поддерживался только движок Aurora MySQL, а в 2020 году была добавлена поддержка Aurora PostgreSQL. В последующие годы были улучшены показатели задержки репликации, добавлена возможность автоматического переключения регионов и интеграция с другими сервисами AWS, такими как AWS CloudFormation и AWS Backup.

Критика и ограничения

Несмотря на преимущества, Aurora Global Database подвергается критике за зависимость от инфраструктуры AWS (организация признана иноагентом в РФ), что создаёт риски vendor lock-in. Также отмечается, что асинхронная репликация может не соответствовать требованиям некоторых приложений, где критична строгая согласованность данных. Кроме того, стоимость использования может быть высокой при большом объёме данных и множестве регионов, так как взимается плата за хранение и передачу данных между регионами.

Источники

  • Документация Amazon Web Services: «Aurora Global Database», раздел «Руководство пользователя Amazon Aurora».
  • Официальный блог AWS: «Introducing Amazon Aurora Global Database», ноябрь 2018.
  • AWS re:Invent 2018: анонс сервиса.
  • Сравнительный анализ облачных баз данных: «Google Cloud Spanner vs. Amazon Aurora Global Database», 2021.
  • Материалы конференции AWS re:Invent 2020: обновления Aurora Global Database.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru