Все, что вы не знали об Amazon Aurora

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

Базы данных необходимы для работы приложений, управляющих бизнесом. Они должны быть больше, надежнее и быстрее, чтобы предоставлять более качественные услуги. Amazon Web Services упрощает управление данными и повышает удовлетворенность клиентов.

Примером такого сервиса является веб-сервис Amazon AWS Aurora. Он использует том кластера для управления своими данными и выделения их для аварийного резервного копирования.

Что такое Амазон Аврора?

Amazon Aurora, облачная база данных, полностью совместима с открытым исходным кодом MySQL и PostgreSQL. Aurora поддерживает все функциональные возможности MySQL с открытым исходным кодом. Это также обеспечивает совместимость с приложениями, работающими в этих базах данных.

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

Aurora обеспечивает производительность в пять раз быстрее, чем традиционный MySQL, и в три раза лучше, чем PostgreSQL. Amazon RDS выполняет такие задачи, как выделение ресурсов, резервное копирование и восстановление. Нет предоплаты, и вы платите только ежемесячную плату.

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

Aurora обеспечивает непревзойденную производительность, доступность, безопасность и надежность во всем мире. Aurora является самым быстрорастущим сервисом в портфолио AWS с момента его создания в 2014 году.

Для чего используется Amazon Aurora?

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

Клиенты переходят на Aurora MySQL и Aurora PostgreSQL, чтобы консолидировать свои базы данных MySQL и PostgreSQL. Мы также видим, что многие клиенты переходят с устаревших баз данных, таких как Oracle или Microsoft SQL Server, на Aurora PostgreSQL.

Эти «свободные» клиенты устали платить высокие лицензионные сборы и замыкаться на устаревших базах данных. Клиенты с высокими темпами роста хотят быстро и беспрепятственно масштабироваться во всех регионах. Они также хотят иметь возможность интеграции между сервисами AWS.

Преимущества Amazon Аврора

Ниже приведены преимущества использования Amazon Aurora:

Масштабируемость

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

Экономически эффективным

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

Безопасность

Amazon VPC позволяет изолировать сеть, из которой работает ваша база данных.

Используйте сервис AWS Key Management Service для создания ключей шифрования, защищающих ваши данные.

Высокая доступность и долговечность

Вы можете создавать копии Aurora во многих зонах доступности.

Это глобальная база данных, которую можно легко распределить по нескольким регионам AWS, что может снизить локальную скорость чтения/записи.

Поддержка миграции

Чтобы перенести локальную базу данных в Aurora, вы можете использовать команды pg-dump или MySQL dump.

Полностью управляемый

Аврора очень проста в использовании. Экземпляр легко настроить с помощью консоли AWS RDS. Aurora предлагает мониторинг с помощью Amazon Cloudwatch без дополнительной платы.

Нет необходимости беспокоиться о подготовке, обновлении или обновлении. Amazon имеет полный контроль над всеми аспектами вашего программного обеспечения и выполнит все необходимые исправления.

Лучшие возможности Amazon Aurora

Ниже приведены лучшие функции Amazon Aurora:

Масштабируемость. Это лучшая функция Amazon Aurora. База данных автоматически увеличивается в размере в соответствии с требованиями к хранилищу. Объем может увеличиваться с шагом до 10 ГБ и может достигать максимум 128 ТБ. Это обеспечивает бесперебойное хранение.

Высокая пропускная способность: тесты SysBench показали пятикратное увеличение пропускной способности. Amazon Aurora использует различные программные и аппаратные методы, чтобы максимально использовать доступную память, вычислительные и сетевые ресурсы. Чтобы улучшить согласованность производительности, операции ввода и вывода используют методы распределенной системы, такие как кворумы.

Мониторинг и восстановление инстансов. Amazon RDS постоянно отслеживает работоспособность и производительность базы данных Amazon Aurora, а также базовых инстансов EC2. Amazon RDS автоматически перезапускает базу данных в случае сбоя базы данных и всех связанных процессов.

Шифрование. Amazon Aurora обеспечивает высокий уровень безопасности, позволяя шифровать базу данных с помощью ключей, которые вы контролируете и создаете с помощью службы управления ключами AWS. Amazon Aurora использует шифрование SSL для защиты данных во время передачи.

Простота использования. Использовать Amazon Aurora просто. Консоль управления Amazon RDS используется для создания нового инстанса БД Amazon Aurora. Этот вызов API или CLI принимает только один вызов API. Инстансы БД Amazon Aurora предварительно настроены с соответствующими параметрами и настройками для каждого типа инстанса БД.

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

Поддержка миграции. Чтобы перенести локальную базу данных из Aurora в Aurora, вы можете использовать команды pg-dump или MySQL dump.

Aurora полностью управляема: вы можете начать использовать ее немедленно. Все, что вам нужно сделать, это создать экземпляр с помощью консоли AWS RDS или вызвать API из своего кода. Нет необходимости беспокоиться о подготовке, обновлении или обновлении.

Архитектура Амазон Аврора

Вся архитектура базы данных Aurora построена на основе традиционной СУБД. Он повторно использует большинство компонентов СУБД, таких как диспетчер транзакций, механизм выполнения запросов и диспетчер восстановления.

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

Эти изменения:

  • Используется настройка первичной реплики
  • Удаленное хранилище данных может быть реплицировано
  • На удаленный диск должны быть сохранены только журналы изменений.

Архитектура Amazon Aurora позволяет масштабировать уровни хранения традиционных реляционных баз данных.

Основной экземпляр базы данных Amazon Aurora передает журнал повторов на свой уровень хранения для обработки. Журналы обрабатываются уровнем хранения, который создает и сохраняет новые версии страниц и создает резервные копии всего до S3.

Кредит изображения: AWS

Amazon Aurora нужно только создать дополнительные экземпляры ядра базы данных и подключить их к существующему уровню хранения во время горизонтального масштабирования. Это устраняет узкое место в репликации данных, делегируя эти задачи для параллельной обработки уровню хранения.

Это позволяет создавать множество новых функций, таких как:

  • Мгновенное восстановление после сбоя: вам не нужно воспроизводить журналы с последней контрольной точки.
  • Быстрая отработка отказа: не нужно беспокоиться о том, какая база данных-реплика имеет самую последнюю запись журнала повторного выполнения. Уровень хранения обрабатывает это.
  • Возврат: поскольку на уровне хранилища есть журналы повторного выполнения в потоковом режиме, он может «перематывать» данные на определенные точки в прошлом без необходимости восстанавливать контрольную точку из резервной копии S3.

Настройка Амазон Аврора

Ниже приведены шаги для успешной настройки Amazon Aurora.

№1. Войдите в консоль управления AWS и откройте RDS.

№ 2. Нажмите на создание базы данных.

№3. Выберите опцию Engine как Amazon Aurora.

№ 4. Выберите нужную версию Aurora MySQL.

№ 5. Создайте идентификатор кластера БД и задайте имя пользователя и пароль для параметров учетных данных.

№ 6. Выберите конфигурацию экземпляра из раскрывающегося списка и выберите вариант создания реплики или нет.

№ 7. Выберите параметры подключения, как показано ниже.

№8. Выберите из существующей группы безопасности VPC или создайте новую.

№ 9. Включите расширенный мониторинг, выберите параметр детализации и роль мониторинга.

№10. Наконец, нажмите «Создать базу данных».

№ 11. Вы успешно создали базу данных Amazon Aurora.

Модель ценообразования: Amazon Aurora

Aurora Serverless ACU версии 2 стоит 0,12 доллара США в час, что вдвое превышает стоимость подготовленных ACU Aurora. Это означает:

  • Минимальные текущие эксплуатационные расходы: 4 ACU, 0,48 доллара в час или 350 долларов в месяц.
  • Для рабочих нагрузок, которые патологически активируют функцию автоматического масштабирования, минимальное увеличение масштабируемости составляет 30 секунд или 0,0005 доллара США за половину ACU.

Ежемесячная стоимость Aurora Serverless V2 составляет 350 долларов США. За каждое событие автоматического масштабирования будет взиматься плата не менее 0,0005 доллара США. Хотя эквивалентная мощность Aurora составляет 175 долларов в месяц, у нее не будет адаптивного бессерверного автоматического масштабирования.

Примеры использования: Amazon Aurora

№1. Программное обеспечение как услуга (SaaS)

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

№ 2. Игровая цель

AWS Aurora работает так же, как реляционная база данных. Он обеспечивает высокую пропускную способность, большую емкость хранилища, высокую доступность и высокую доступность.

№3. Корпоративное приложение

Amazon Aurora совместима с любой фирмой, которая уже лучше реляционной базы данных. Aurora экономически эффективна, так как снижает цену до 90% по сравнению с другими вариантами.

Совместимость Aurora с MySQL и PostgreSQL

Amazon Aurora создан для обеспечения высокой производительности, глобальной доступности и полной совместимости с MySQL/PostgreSQL. Стандартные инструменты упрощают миграцию баз данных MySQL и PostgreSQL из Aurora. Вы также можете запускать устаревшие приложения SQL Server с помощью Babelfish для Aurora PostgreSQL, требуя минимальных изменений кода.

Amazon Aurora работает со стандартными инструментами импорта/экспорта PostgreSQL, такими как pg_dump или pg_restore. Вы также можете создать новую таблицу Amazon Aurora с помощью моментального снимка БД Amazon RDS или MySQL.

Снимки БД обычно создаются быстро, но это будет зависеть от того, сколько и в каком формате переносятся данные.

Amazon Aurora и Amazon RDS

Архитектурный дизайн

Архитектура RDS аналогична тем, что позволяет вручную установить ядро ​​базы данных на Amazon EC2, но предоставляет AWS обеспечение и обслуживание. RDS предоставляет множество функций, таких как автоматическое переключение при сбое, резервное копирование и т. д. RDS использует тома Amazon EBS для хранения данных журнала и базы данных.

Система хранения баз данных «Аврора» надежна и отказоустойчива. Хранилище базы данных для Aurora не зависит от экземпляров. Aurora хранит данные в шести копиях, каждая из которых состоит из фрагментов размером 10 ГБ. Эти копии распределяются по трем зонам доступности. Даже если у вас есть только один экземпляр Aurora, все равно будет шесть копий ваших данных.

Производительность

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

Aurora предлагает вдвое большую производительность, чем PostgreSQL, и в пять раз большую, чем стандартная MySQL, на сопоставимом оборудовании. Производительность Aurora была стабильно выше и стабильнее.

Поддержка ядра базы данных

RDS совместим с MySQL, PostgreSQL и MariaDB, а также с Microsoft SQL Server и Oracle.

Aurora совместима как с PostgreSQL, так и с MySQL. Это означает, что вы можете использовать существующие инструменты и приложения для работы с базами данных как в PostgreSQL, так и в MySQL, не внося никаких изменений.

Долговечность и доступность

Aurora использует уникальную модель хранения, которая позволяет выполнять непрерывное резервное копирование и восстановление с очень низким RPO (целевым количеством точек восстановления). Это делает его более надежным и долговечным, чем RDS.

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

Устойчивость

Благодаря своей архитектуре Aurora более устойчива, чем RDS. Быстро восстанавливается после неудач. В случае сбоя вычислительного узла Aurora может быстро восстановиться.

Хранилище

Автоматическое масштабирование хранилища RDS масштабирует емкость хранилища до 64 ТиБ (за исключением 16 ТиБ в SQL Server) для размещения растущих рабочих нагрузок базы данных. Нет времени простоя.

Aurora автоматически увеличивает объем хранилища, увеличивая его с минимума 10 ГБ до максимума 128 ТиБ. Хранилище увеличивается с шагом 10 ГБ без какого-либо влияния на производительность базы данных.

Масштабируемость

Вертикальное масштабирование: RDS и Aurora позволяют масштабировать память и вычислительные ресурсы максимум до 244 ГБ ОЗУ и 32 виртуальных ЦП. За считанные секунды вы можете масштабировать операции.

Aurora Auto Scaling Dynamic: Aurora Auto Scaling динамически регулирует количество реплик Aurora, доступных для кластера БД Aurora, с помощью репликации с одним мастером. RDS НЕ поддерживает такое автоматическое масштабирование.

Репликация

RDS можно использовать для предоставления до пяти реплик. Процесс репликации также медленнее, чем у Aurora.

Aurora может подготовить до 15 реплик, и репликация занимает всего несколько секунд. Aurora масштабируется быстрее, поскольку может быстро добавлять новые реплики чтения.

Отказоустойчивость

В RDS отработка отказа для чтения реплики происходит вручную. Это может привести к потере данных. Multi-AZ (резервный экземпляр) можно использовать для автоматизации аварийного переключения и предотвращения потери данных.

Чтобы предотвратить потерю данных, Aurora использует отработку отказа для автоматического чтения реплик. У Aurora более быстрое восстановление после сбоя.

Конечные точки кластера

RDS имеет конечную точку кластера, которую можно использовать для выполнения запросов на запись. Это DNS-указатель на ваш текущий экземпляр основной базы данных. RDS направляет конечную точку к новому мастеру посредством простого изменения DNS во время отработки отказа.

Конечная точка кластера по-прежнему доступна в Aurora для написания запросов. Эта конечная точка также действует как балансировщик нагрузки для ваших репликаций чтения. Эту конечную точку можно использовать для ответа на ваши запросы на чтение.

Резервное копирование

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

Aurora автоматически создает резервные копии томов кластера и продолжает восстанавливать данные в течение периода хранения резервной копии. Резервные копии Aurora являются непрерывными и инкрементными, поэтому вы можете быстро восстановить любую точку в течение срока хранения резервной копии.

Ниже представлена ​​сводная таблица для Amazon Aurora и Amazon RDS:

Amazon AuroraAmazon RDSВы можете расширить хранилище с 10 ГБ до 64 ГБ DS позволяет использовать 64 ГБ для всех ядер, но только 16 ГБ для сервера SQLВы можете масштабировать память и вычисления до максимум 32 виртуальных ЦП и 244 ГБ ОЗУТо же, что и AuroraПоддерживает MySQL и PostgreSQLПоддерживает Microsoft SQL Server, MariaDB, Oracle Database, MySQL, PostgreSQL и Amazon AuroraПоддерживает пятнадцать репликПоддерживает пять репликЦена зависит от операций ввода-выводаПопробовать бесплатно без минимальной платы за использование

Amazon Aurora и DynamoDB

Долговечность и доступность

Каждая часть данных DynamoDB реплицируется на несколько физических узлов. Amazon разместила эти физические узлы в нескольких зонах (также называемых зонами доступности), чтобы обеспечить высокую надежность и доступность в случае стихийного бедствия, такого как пожар или серьезное отключение электроэнергии. Операция продолжится, даже если одна копия выйдет из строя. SSD также очень надежны и долговечны.

Резервное копирование и восстановление

DynamoDB предлагает резервное копирование по требованию, а также PITR (моментальное резервное копирование), что позволяет получить доступ к любому состоянию базы данных. DynamoDB может создавать резервные копии любого объема данных. Производительность и доступность не пострадают. Резервное копирование занимает очень мало времени, и пользователям не нужно беспокоиться о расписании резервного копирования или фоновых процессах. AWS позволяет выполнять восстановление из резервной копии всего одним вызовом API.

Процесс резервного копирования Amazon Aurora аналогичен DynamoDB. Он был создан без каких-либо прерываний производительности или прерывания службы базы данных. Резервные копии Amazon сохраняются в корзине S3. Aurora автоматически создаст резервную копию на 30 минут, если мы не укажем окно резервного копирования.

Контроль доступа

DynamoDB поддерживает пользователей и роли IAM с детализированными политиками, которые ограничивают права на создание базы данных и выполнение запросов. Amazon Aurora также имеет аналогичную схему разрешений.

Однако Aurora также предоставляет интерфейсы подключения, совместимые с MySQL и PostgreSQL, для подключения к базе данных.

DynamoDB, региональная служба, не попадает в границы VPC. Однако кластеры БД Aurora необходимо устанавливать в облаке VPC, четко определяющем границы сети. Вы также можете использовать группы безопасности VPC, чтобы контролировать, каким устройствам или экземплярам Amazon EC2 разрешено подключаться к экземпляру базы данных.

Ниже представлена ​​сводная таблица для Amazon Aurora и DynamoDB:

Amazon AuroraDynamoDBРеляционная база данных, поддерживающая MySQL и PostgreSQLБаза данных NoSQLМногорегиональная, с одним мастеромМногорегиональная, с несколькими мастерамиРеплика может быть повышена до первичной за минутуВысокая доступностьЗадержка репликации менее 1 секундыЗадержка репликации менее миллисекунды

Вывод

Вот оно. Мы все вступаем в новую эру реляционных баз данных, и Aurora — это только начало. Клиенты ответили подавляющим согласием. Лидеры во всех отраслях, такие как Capital One, Dow Jones, Netflix и Verizon, переносят свои рабочие нагрузки реляционных баз данных на Aurora, включая выпуски, совместимые с MySQL и PostgreSQL.