Реплики чтения в Amazon RDS
Реплики чтения в Amazon RDS повышают производительность и надежность инстансов баз данных (БД) Amazon RDS. Они упрощают эластичное масштабирование ресурсов для выполнения рабочих нагрузок с большим количеством операций чтения, снимая ограничения, которые накладывает использование одного инстанса БД. Для заданного исходного инстанса БД можно создать одну или более реплик для обслуживания трафика приложений с большим количеством операций чтения из различных копий данных, что позволит увеличить общую пропускную способность таких операций. Реплики чтения при необходимости можно превратить в самостоятельные инстансы БД. Реплики чтения доступны в Amazon RDS для MySQL, Amazon RDS для MariaDB, Amazon RDS для PostgreSQL, Amazon RDS для Oracle, Amazon RDS для SQL Server и Amazon Aurora.
Amazon RDS создает для ядер БД MySQL, MariaDB, PostgreSQL, Oracle и SQL Server второй инстанс БД с помощью снимка состояния исходного инстанса БД. После этого при любом изменении исходного инстанса БД этот сервис обновляет реплику чтения с помощью встроенного механизма асинхронной репликации соответствующего ядра БД. Реплика чтения работает как инстанс БД, разрешающий подключения только для чтения; приложения могут подключаться к реплике чтения, как к любому другому инстансу БД. Amazon RDS реплицирует все базы данных в исходном инстансе БД.
Amazon Aurora дополнительно расширяет преимущества реплик чтения благодаря использованию виртуализированного уровня хранения на основе SSD, который создан специально для рабочих нагрузок баз данных. Реплики Amazon Aurora используют то же базовое хранилище, что и исходный инстанс, что позволяет сократить расходы и избавляет от необходимости копировать данные на узлы-реплики. Подробнее о репликации для Amazon Aurora написано в онлайн-документации.
Преимущества реплик чтения в Amazon RDS
Настройка
C помощью Консоли управления AWS можно без труда добавить реплики чтения к существующим инстансам БД. Воспользуйтесь параметром Create Read Replica (Создать реплику чтения) для своего инстанса БД в Консоли управления AWS. Amazon RDS для MySQL, Amazon RDS для PostgreSQL, Amazon RDS для MariaDB и Amazon RDS для SQL Server позволяют добавить до 15 реплик чтения к каждому инстансу БД. Amazon RDS для Oracle позволяет добавить до 5 реплик чтения к каждому инстансу БД.
Amazon RDS для MySQL, Amazon RDS для PostgreSQL, Amazon RDS для MariaDB и Amazon RDS для Oracle предусматривают два варианта носителей данных на базе SSD: общего назначения и выделенные IOPS. При использовании этих ядер варианты хранилищ, выбранные для реплик чтения и исходного инстанса БД, могут различаться. Выбор различных типов хранения для реплик чтения в некоторых случаях позволяет оптимизировать производительность или снизить затраты. Дополнительные сведения см. в документации по репликам Amazon RDS для MySQL, Amazon RDS для MariaDB, Amazon RDS для PostgreSQL, Amazon RDS для Oracle и Amazon RDS для SQL Server, а также Amazon Aurora.
Реплики чтения, развертывание в нескольких зонах доступности и развертывание в нескольких регионах
Реплики чтения Amazon RDS дополняют возможности развертывания в нескольких зонах доступности. Хотя обе эти возможности предусматривают хранение второй копии данных, между ними есть существенные отличия:
Развертывание в нескольких зонах доступности |
Развертывание в нескольких регионах |
Реплики чтения |
---|---|---|
Основная задача – обеспечение высокой доступности |
Основная задача – аварийное восстановление и обеспечение высокой производительности локально |
Основная задача – масштабирование |
За пределами сервиса Aurora – синхронная репликация; в пределах сервиса Aurora – синхронная репликация |
Асинхронная репликация |
Асинхронная репликация |
За пределами сервиса Aurora – активен только основной инстанс. В пределах сервиса Aurora – активны все инстансы |
Все регионы доступны и могут использоваться для операций чтения |
Все реплики чтения доступны и могут использоваться для масштабирования операций чтения |
За пределами сервиса Aurora – резервные копии снимаются автоматически с резервного инстанса. В пределах сервиса Aurora – резервные копии снимаются автоматически с общего уровня хранения |
Резервные копии могут сниматься автоматически с каждого региона |
По умолчанию резервное копирование не настроено |
Всегда охватывает по крайней мере две зоны доступности в одном регионе |
Для каждого региона можно выполнять развертывание в нескольких зонах доступности |
Могут находиться внутри одной зоны доступности, в разных зонах доступности и в разных регионах |
За пределами сервиса Aurora – обновление версий ядра базы данных осуществляется на основном инстансе. В пределах сервиса Aurora – все инстансы обновляются вместе |
За пределами сервиса Aurora – обновление версий ядра базы данных осуществляется независимо в каждом регионе. В пределах сервиса Aurora – все инстансы обновляются вместе |
За пределами сервиса Aurora – обновление версий ядра базы данных не зависит от исходного инстанса. В пределах сервиса Aurora – все инстансы обновляются вместе |
Автоматическая обработка отказов с переключением на резервную реплику (за пределами сервиса Aurora) или реплику чтения (в пределах сервиса Aurora) при обнаружении проблем |
Aurora позволяет назначить второстепенный регион в качестве основного |
Можно повысить вручную до отдельного инстанса базы данных (за пределами сервиса Aurora) или до основного инстанса (в пределах сервиса Aurora) |
Вы можете совмещать реплики чтения вместе с другими возможностями Amazon RDS и пользоваться всеми их преимуществами. Например, можно настроить исходную базу данных в нескольких зонах доступности для обеспечения высокой доступности и создать реплику чтения (в одной зоне доступности) для масштабирования операций чтения. Или же можно использовать Aurora Global Database, чтобы реплицировать в другие регионы данные из инстанса Aurora, развернутого в нескольких зонах доступности.
При использовании RDS для MySQL, RDS для MariaDB, RDS для PostgreSQL и RDS для Oracle можно настроить реплики чтения в нескольких зонах доступности, что позволяет использовать реплики чтения в качестве целевого объекта при аварийном восстановлении. При использовании реплики чтения как отдельной базы данных эта БД уже будет иметь поддержку нескольких зон доступности.