Перейти к главному контенту

Amazon RDS для MySQL

Что такое MySQL?

Что такое MySQL?

MySQL используется как основное реляционное хранилище данных для многих популярных веб-сайтов, приложений и коммерческих продуктов. Благодаря более чем 25-летней разработке и поддержке со стороны сообщества, MySQL является надежной, стабильной и безопасной системой управления базами данных на основе языка структурированных запросов (SQL).

База данных MySQL подходит в самых разных примерах использования, включая критически важные приложения и динамические веб-сайты. MySQL также является популярным движком SQL для современных приложений благодаря своей простоте и надежности. Разработчики приложений получают движок с простым интерфейсом «клиент-сервер» и более быстрой адаптацией, а организации экономят расходы на обучение.

AWS оказывает поддержку MySQL различными способами, в том числе предоставляет полностью управляемый сервис баз данных, а именно Amazon Relational Database Service (RDS) для MySQL. Решение Amazon Aurora с поддержкой MySQL также разработано с использованием MySQL, а Amazon RDS поддерживает MariaDB, популярный форк проекта MySQL.

Кроме того, вы можете разместить (организовать хостинг) программное обеспечение MySQL на Amazon EC2 и самостоятельно управлять базой данных, а также ознакомиться с предложениями сторонних производителей MySQL на AWS Marketplace.

История MySQL

Первую версию MySQL Server выпустила в 1995 году шведская компания MySQL AB, основанная Дэвидом Аксмарком, Алланом Ларссоном и Михаэлем Видениусом. Решение MySQL получило свое название от дочери Видениуса по имени Май. Проект MySQL появился с открытым исходным кодом в 2000 году под лицензией GNU General Public License (GPL).

К 2001 году число активных установок MySQL перевалило за 2 миллиона, а к 2004 году программное обеспечение загружали более 30 000 раз в день. В 2008 году MySQL приобрела Sun Microsystems, а когда в 2009 году Oracle приобрела Sun, ей также отошла и MySQL. 

Преимущества использования базы данных MySQL

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

База данных MySQL завоевала популярность у веб-разработчиков благодаря простоте использования и производительности, включая триггеры, хранимые процедуры и обновляемые представления. MySQL состоит из таких утилитов, как mysqldump, программа резервного копирования, mysqladmin, административный клиент, а также MySQL Workbench, графический интерфейс для управления и миграции.

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

Со временем производительность MySQL повысилась благодаря таким функциям, как дисковые таблицы B-дерева со сжатием индексов, распределением памяти на основе потоков и оптимизированными соединениями вложенных циклов. Блокировка на уровне строк и последовательное чтение в механизме хранения данных дают MySQL дополнительные преимущества в производительности при многопользовательских параллельных операциях. MySQL соблюдает и продвигает лучшие практики проектирования для повышения производительности, предоставляя основные функциональные возможности с минимальным набором функций.

Надежность и безопасность

Механизм хранения транзакций MySQL InnoDB соответствует модели ACID и обладает дополнительными возможностями, которые улучшают защиту данных, включая восстановление на определенный момент и автоматическую фиксацию. InnoDB также обеспечивает дополнительную целостность данных при помощи поддержки ограничений внешних ключей, предотвращая несоответствие данных между таблицами.

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

Лицензия с открытым исходным кодом

Система MySQL доступна по лицензии с открытым исходным кодом (GNU General Public License), позволяющей свободно использовать и изменять его при установке MySQL. Управляемые версии MySQL, такие как Amazon RDS для MySQL, не требуют дополнительных затрат на лицензирование для движка MySQL, что выгодно отличает их от запатентованных движков SQL.

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

Популярные примеры использования MySQL

База данных OLTP общего назначения

MySQL подходит для любых приложений, требующих транзакционного движка SQL, включая критически важные приложения и веб-сайты с высокой посещаемостью. MySQL придерживается принципов ACID и включает расширения стандарта ANSI/ISO SQL, а также поддержку XML и JSON.

MySQL также поддерживает кластеризацию баз данных с высокой доступностью и может обрабатывать базы данных размером в петабайты. Популярные приложения, использующие базу данных MySQL, включают TYPO3, MODx, Joomla, WordPress, phpBB, MyBB и Drupal. 

Приложения для интернет‑коммерции

MySQL – один из самых популярных транзакционных движков для платформ электронной коммерции. MySQL особенно полезен для управления разнообразными данными клиентов, транзакциями и каталогами продуктов.

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

Стек LAMP с открытым исходным кодом

MySQL является неотъемлемой частью множества приложений, работающих в программном стеке LAMP с открытым исходным кодом (LAMP означает Linux, Apache, MySQL и PHP/Python/Perl). LAMP – это широко распространенный стек решений для веб-сервисов, который многие считают предпочтительной платформой для динамических веб-сайтов и высокопроизводительных веб-приложений.

Форк-проекты программного обеспечения MySQL

MariaDB

MariaDB – это популярный форк MySQL от компании MariaDB, которую основали сами разработчики исходной версии MySQL. Они хотели, чтобы решение оставалось свободным и имело открытый исходный код под лицензией GNU GPL. Хотя решение MariaDB разрабатывается отдельно от MySQL, оно сохраняет высокую степень совместимости с MySQL, в том числе бинарную эквивалентность библиотек и точное соответствие интерфейсов прикладного программирования (API), а также различных инструментов управления. AWS поддерживает MariaDB посредством полностью управляемой службы баз данных Amazon RDS для MariaDB.

Percona Server

Percona Server – это еще один популярный форк MySQL от Percona. Percona Server включает XtraDB, форк ядра хранения InnoDB от Percona.

Поддержка языка для разработки приложений

MySQL лидирует в области поддержки языка SQL. MySQL также поддерживает большинство популярных языков программирования и протоколов, что позволяет пользователям использовать следующие языки: Python, Java, Perl, Node.js, .NET, PHP, Ruby, Erlang, C/C++, Tcl, ODBC и Objective-C.

Сравнение MySQL и PostgreSQL

MySQL и PostgreSQL – это популярные реляционные базы данных с открытым исходным кодом. Популярность MySQL объясняется тем, что она считается простой и быстрой в использовании, в то время как PostgreSQL воспринимается как многофункциональная и более сопоставимая с коммерчески лицензированными версиями баз данных, таких как Oracle. Тем не менее текущие основные версии MySQL и PostgreSQL предоставляют множество мощных функций и возможностей, поддерживающих оптимизацию производительности, надежности, безопасности и многих других параметров. Можно узнать больше о PostgreSQL и испытать Amazon Aurora PostgreSQL или Amazon RDS для PostgreSQL, используя Уровень бесплатного пользования AWS.

Варианты хостинга MySQL на AWS

Самоуправляемое решение MySQL в Amazon EC2

Исторически так сложилось, что реляционные базы данных использовались локально, а когда рабочие нагрузки баз данных переместились в облако, организации стали использовать Amazon EC2 для запуска собственных баз данных. При таком подходе необходимо решать все обычные задачи администрирования, которые сопутствуют использованию локальной базы данных (например, установка оборудования, настройка базы данных, тюнинг, исправление, резервное копирование и масштабирование MySQL).

Полностью управляемое решение MySQL в Amazon RDS

Amazon Relational Database Service (Amazon RDS) – это простая в управлении служба реляционных баз данных, оптимизированная с учетом совокупной стоимости владения. Его легко настраивать, эксплуатировать и масштабировать. RDS автоматизирует недифференцированные задачи управления базами данных, такие как выделение ресурсов, настройка, резервное копирование и установка исправлений.

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

Выполняйте модернизацию с помощью версии Amazon Aurora, совместимой с MySQL

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

Начать работу с Amazon RDS для MySQL очень просто

1

Зарегистрируйтесь в Amazon RDS

2

Обучение с помощью простых учебных пособий

3

Начните разработку с помощью Amazon RDS

Начните разработку с помощью Руководства пользователя MySQL на Amazon RDS.

Процесс миграции базы данных MySQL

Подходы к миграции собственных и сторонних баз данных MySQL

Службы копирования данных и репликации SQL

Наиболее практичный подход к миграции системы управления реляционными базами данных MySQL заключается в создании копии данных SQL и последующем выполнении операций по репликации для обеспечения синхронизации баз данных. Mysqldump от MySQL, встроенная утилита резервного копирования, служит основой для миграции базы данных сервера MySQL. Mysqldump выгружает всю базу данных вместе с файлом копии данных и предоставляет набор SQL-инструкций для регенерации базы данных. Этот метод полезен для базы данных размером менее 10 ГБ при наличии быстрого и стабильного подключения к Интернету, если время переноса данных не является критически важным фактором.

Percona XtraBackup и Amazon S3

Перенеся файлы и резервные копии Percona XtraBackup в Amazon S3, можно в дальнейшем перенести серверы баз данных в формате «один к одному» из исходной базы данных в новый кластер Amazon RDS для MySQL или Aurora DB. Использование этого процесса преобразования миграции данных для загрузки данных может быть значительно быстрее, чем использование mysqldump.

База данных INFORMATION_SCHEMA

Встроенную базу данных INFORMATION_SCHEMA можно использовать в качестве обозревателя метаданных MySQL. Благодаря обозревателю метаданных MySQL в сочетании с AWS DMS Schema Conversion можно определить, соответствуют ли схемы исходной базы данных схемам и типам данных целевой базы, и определить, в каких местах можно устранить пробелы.

Управляемые сервисы миграции данных MySQL

AWS Database Migration Service

AWS Database Migration Service (DMS) обнаруживает, оценивает, конвертирует и переносит рабочие нагрузки баз данных MySQL в AWS, сокращая трудозатраты и время на ручное редактирование. Мастер миграции AWS DMS позволяет выбрать исходную и целевую инфраструктуру, используя автоматическую репликацию с помощью режима захвата изменяющихся данных (CDC), и создает отчеты с автоматической оценкой и рекомендациями по целевым объектам. Нет необходимости преобразовывать схемы или определения объектов из MySQL в миграции MySQL. Используйте Сервис обнаружения приложений AWS, чтобы выявить любые зависимости в серверных базах данных MySQL перед переносом данных. 

Сервис миграции приложений AWS

Если выполнять простой перенос данных в EC2 с локального сервера MySQL, можно перенести весь сервер в EC2 с помощью Сервиса миграции приложений AWS. Этот метод можно применять к отдельным базам данных или нескольким объектам базы данных.