Разработчики: | Oracle |
Дата последнего релиза: | 2021/08/24 |
Технологии: | СУБД |
Содержание |
Основная статья: Система управления базами данных (СУБД)
MySQL (официально произносится «май-эс-кью-эль», сленг. «мускул», «мускуль» ) — свободная система управления базами данных (СУБД). Она позволяет пользователям взаимодействовать с Базами Данных (просматривать, искать, добавлять и управлять данными).
2023: MySQL 8.1.0
18 июля 2023 года стало известно о том, что спустя 5 лет после публикации ветки 8.0 компания Oracle сформировала ветку СУБД MySQL 8.1 и объявила об изменении модели формирования релизов. Сборки MySQL Community Server 8.1.0 подготовлены для всех основных дистрибутивов Linux, FreeBSD, macOS и Windows.
Как сообщалось, обновленная модель формирования релизов предусматривает наличие двух видов веток MySQL - "Innovation" и "LTS". Обе ветки будут включать обновленные возможности и будут пригодны для рабочих внедрений. Ветки Innovation, к которым отнесён MySQL 8.1, рекомендованы для тех, кто хочет раньше получать доступ к обновленной функциональности. Данные ветки будут публиковаться каждые 3 месяца и поддерживаться только до публикации следующего значительного релиза (например, поддержка ветки 8.1 будет прекращена после появления ветки 8.2, которая ожидается в конце октября 2023 года). LTS-ветки рекомендованы для внедрений, которым необходима предсказуемость и длительное сохранение неизменного поведения. LTS ветки будут выпускаться раз в два года и поддерживаться в штатном режиме 5 лет, в дополнение к которым можно будет получить ещё 3 года расширенной поддержки.
После публикации MySQL 8.1.0 ветка 8.0 переведена в режим сопровождения, допускающий только исправление ошибок. Сопровождение ветки 8.0 продлится до апреля 2026 года. Примерно через год будет выпущен LTS-релиз MySQL 8.4, что оставит пользователям примерно два года на переход с MySQL 8.0 на обновленную LTS-ветку. После формирования LTS-выпуска для следующего значительного релиза будет увеличена первая цифра в номере версии, т.е. после 8.4 LTS будет сформирована ветка 9.0 Innovation, затем через два года выйдет LTS-релиз 9.7, после которого настанет черёд ветки 10.0 Innovation. Обновления БД по месту (без перезаливки дампа) будет поддерживаться между LTS-релизами и между ветками Innovation до следующего LTS-релиза (т.е. с LTS 8.4 можно будет перейти на LTS 9.7 без перезаливки БД и с Innovation 9.1 до всех веток 9.x, включая LTS 9.7).
Основные изменения в MySQL 8.1:
- Добавлена конструкция "EXPLAIN FORMAT=JSON INTO", позволяющая сохранить отчёт о времени выполнения запроса в формате JSON в отдельной переменной, к которой применимы функции для разбора JSON, например:
EXPLAIN FORMAT=JSON INTO @myex SELECT name FROM a WHERE id =
SELECT JSON_EXTRACT(@myex, "$.query_block.table.key");
- По умолчанию отключено вырезание комментариев, отправляемых на сервер клиентом mysql. Для возвращения старого поведения следует запускать утилиту mysql с опцией "--skip-comments".
- Значение опции SOURCE_RETRY_COUNT (время ожидания перед перед повторной попыткой установки соединения), указываемой в выражении "CHANGE REPLICATION SOURCE TO", изменено по умолчанию на 10 секунд.
- Для оптимизации отладки проблем в лог добавлены дополнительные сообщения о запуске и завершении работы, а также закрытии соединений.
- Добавлено выражение "SHOW PARSE_TREE" для показа дерева разбора запроса SELECT в JSON-представлении.
- Добавлена системная переменная tls-certificates-enforced-validation для включения обязательной проверки корректности TLS-сертификата при запуске сервера или выполнении выражения "ALTER INSTANCE RELOAD TLS". Если проверка не прошла сервер не будет запущен.
- Добавлены переменные, отражающие состояние репликации.
- Добавлены переменные authentication_ldap_[simple|sasl]_[connect|response]_timeout для управления значениями таймаутов при подключении к LDAP-серверу при аутентификации.
- Прекращена поддержка установки в значение NULL опций, указываемых при запуске (--my-option=NULL), и связанных с ними системных переменных.
- Запрещено использование символа "$" в качестве первого символа идентификаторов, без экранирования[1].
2022: Уязвимость для атак злоумышленников
Миллионы серверов MySQL уязвимы для атак злоумышленников. Об этом стало известно 1 июня 2022 года.
Исследователи из Shadowserver рекомендуют изолировать серверы, чтобы уменьшить поверхность атаки.
Исследователи Shadowserver просканировали Интернет в поисках уязвимых для атак серверов MySQL и сообщили, что в ответ на запросы о подключении к порту 3306/TCP удалось получить более 2,3 миллиона IPv4 и 1,3 миллиона IPv6 адресов. По словам специалистов, это указывает на открытость огромного количества серверов для хакерских атак.
Из более чем 3,6 миллионов уязвимых серверов MySQL большая часть была расположена в США – более 740 000; Китае – более 296 000; и Польше – более 207 000 доступных устройств.
Вам вряд-ли хочется, чтобы ваш MySQL-сервер допускал внешние подключения из Интернета и тем самым подвергал риску атаки ваши системы, – говорится в сообщении Shadowserver. Если вы все же получили наш отчет по вашей сети/участку, примите меры по фильтрации трафика к вашему MySQL-экземпляру и обязательно внедрите авторизацию на сервере[2]. |
2021: Добавление сервиса MySQL Autopilot
24 августа 2021 года компания Oracle представила еще один компонент для сервиса MySQL HeatWave — MySQL Autopilot. Решение представляет собой движок ускорения обработки запросов `in-memory` для СУБД MySQL Database Service в Oracle Cloud Infrastructure (OCI). MySQL Autopilot использует продвинутые алгоритмы машинного обучения для автоматизации HeatWave, повышая производительность и масштабируемость системы. Autopilot уже доступен для пользователей MySQL HeatWave без дополнительной оплаты, а для пользователей запущена серия бесплатных вебинаров по работе с HeatWave на русском языке.
MySQL Autopilot позволяет автоматизировать ряд наиболее важных и сложных процедур для достижения высокой производительности в работе с запросами для масштабных баз данных. Инструмент помогает оптимизировать провизионинг, загрузку данных, исполнение запросов, а также работу с ошибками. Инструмент использует продвинутые технологии для выбора данных, сбора статистики по данным и запросам, а также создания моделей машинного обучения на базе Oracle AutoML для оценки использования памяти, утилизации ресурсов сети и времени исполнения запросов. Создаваемые модели впоследствии применяются MySQL Autopilot для оптимизации ключевых функций системы. Благодаря MySQL Autopilot оптимизатор очереди запросов HeatWave становится более интеллектуальным по мере исполнения запросов, а производительность системы постоянно улучшается. Такой возможности нет ни в одной из аналогичных систем, включая Amazon Aurora, Amazon Redshift, Snowflake и другие сервисы на базе MySQL.
MySQL Autopilot обладает следующими возможностями:
- Автоматический провизионинг прогнозирует количество активных нод HeatWave, которые будут необходимы для обработки запросов. Благодаря этому пользователям не нужно больше вручную определять необходимый размер кластера.
- Автоматическая параллельная загрузка помогает оптимизировать время загрузки и использование памяти за счет прогнозирования оптимального уровня параллелизма для каждой таблицы, загружаемой в HeatWave.
- Автоматическое размещение данных определяет строки, по которым таблицы должны быть разделены для размещения в памяти и обеспечивает лучший уровень производительности.
- Автоматическое кодирование может определить оптимальное представление строк для загрузки в HeatWave с учетом существующих запросов и позволяет минимизировать стоимость кластера.
- Автоматическое улучшения планирования запросов помогает сформировать оптимальный план исполнения запросов на будущее за счет изучения параметров исполнения текущих запросов.
- Автоматическое определение времени исполнения позволяет оценить время обработки запроса еще до начала запуска запроса
- Автоматическое изменение распространения интеллектуально определяет наилучшее время для переноса измененных данных из MySQL на слой HeatWave Scale-out Data Management.
- Автоматическое планирование позволяет определить быстрые в исполнении запросы и выставить им приоритет перед длительными.
- Автоматическое исправление ошибок выделяет новые ноды и перезагружает необходимые данные в случае отсутствия ответа от одной или нескольких нод HeatWave.
В рамках анонса Oracle также представила решение MySQL Scale-out Data Management, которое позволяет увеличить производительность перезагрузки данных в HeatWave вплоть до 100 раз. Что касается HeatWave, конфигурация платформы теперь поддерживает кластеры из 64 нод (по сравнению с 24 ранее) и может обрабатывать до 32 Тб данных (по сравнению с 12 Тб). Анонсированные улучшения значительно повышают привлекательность HeatWave по сравнению с конкурирующими решениями.
Дополнительные функции уже доступны в рамках последнего релиза MySQL HeatWave на OCI для всех 30 облачных регионов Oracle Cloud Regions.
2019: Исправление 34 уязвимостей
17 октября 2019 года стало известно, что компания Oracle исправила 219 опасных уязвимостей в разных линейках продуктов. Свободная реляционная система управления базами данных MySQL получила 34 исправления уязвимостей. Подробнее здесь.
2015
На октябрь 2015 года MySQL соответствует спецификации ANSI 92 SQL. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей. Именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.
MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы. Первый внутренний выпуск MySQL состоялся 23 мая 1995 года; Версия для Windows систем (Windows 95 и NT) выпущена 8 января 1998.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.
MySQL 5.7 вышел
23 октября 2015 года корпорация Oracle объявила о доступности MySQL 5.7 - версии системы управления базами данных с открытым исходным кодом.
Продукт обеспечивает повышение производительности, масштабируемости и управляемости, в нем расширенные возможности NoSQL с поддержкой JSON, компонент MySQL Router, упрощающий соединение приложений с множеством баз данных MySQL.
Скриншот окна результатов сравнения MySQL 5.6 и MySQL 5.7 (2015)
Основные изменения в MySQL 5.7 для повышения производительности и масштабируемости:
- Повышение производительности: в тестах SysBench Read-only Point-Selects с 1024 соединениями версия MySQL 5.7 продемонстрировала производительность в 1,6 млн запросов в секунду (QPS), в 3 раза превышая аналогичный показатель MySQL 5.6.
- Оптимизация InnoDB: повышение производительности и параллелизма, улучшенные операции в режиме реального времени, пространственные индексы, встроенные средства секционирования и множество других усовершенствований.
- Более надежная репликация: multi-source репликация, улучшенный механизм глобальных идентификаторов транзакций (Global Transaction Identifier, GTID) и усовершенствованная многопоточная репликация данных на slave-серверах для повышения масштабируемости и доступности.
- Улучшения оптимизатора: новая динамическая модель расчёта затрат обеспечивает более эффективное выполнение запросов и расширяет возможности пользователей.
Основные возможности MySQL 5.7 улучшения управляемости:
- Встроенный тип данных JSON и функции работы с форматом JSON повышают эффективность и гибкость хранения, поиска и использования бессхемных данных. Улучшения включают новый внутренний бинарный формат, поддержку простой интеграции в SQL и управление индексами в документах JSON с использованием генерируемых столбцов.
- Схема Performance Schema поддерживает диагностику памяти, транзакций, хранимых процедур, подготовленных операторов, репликации и блокировок.
- Схема MySQL SYS Schema предоставляет объекты helper, позволяющие получать ответы на типичные вопросы о производительности, работоспособности, использовании и мониторинге.
- Модернизированная защита позволяет проще и безопаснее выполнять инициализацию экземпляров баз данных, их настройку и управление.
- Оптимизированные функции ГИС для мобильных приложений поддерживают пространственные индексы в InnoDB, а также GeoJSON и GeoHash.
Выпущен компонент MySQL Router - он упрощает разработку приложений, обеспечивая интеллектуальную маршрутизацию запросов в базы данных MySQL для повышения производительности и доступности. MySQL Router предоставляет многоязычную поддержку MySQL Fabric, упрощая управление группами баз данных MySQL и обеспечивая высокие уровни масштабируемости на основе автоматического шардинга данных.
С 26 октября 2015 года MySQL 5.7 доступен для загрузки на сайте dev.mysql.com/downloads/. Имеются условия и ограничения.
Стабильный релиз MySQL 5.7
19 октября 2015 года компания Oracle представила первый стабильный релиз СУБД MySQL 5.7[3].
Несмотря на анонс, финальный релиз MySQL Community Server 5.7, распространяемый под лицензией GPL, пока недоступен для загрузки и будет опубликован 26 октября 2015 года.
Основные изменения в MySQL 5.7:
- поддержка манипуляции данными в формате JSON. Добавлен встроенный тип данных JSON и набор функций для эффективной обработки, хранения, разбора и поиска неструктурированных данных в формате JSON. Документы JSON упаковываются в специальный внутренний бинарный формат, поддерживают индексацию и могут интегрироваться в SQL-запросы, в том числе с генерацией виртуальных столбцов;
- компонент MySQL Router, позволяющий организовать подключение приложений к нескольким БД MySQL. MySQL Router также может использоваться для создания отказоустойчивых конфигураций и для автоматизации шардинга данных на нескольких серверах;
- проведена оптимизация производительности. В тесте SysBench при установке 1024 соединений MySQL 5.7 сумел продемонстрировать производительность в 1.6 млн запросов на чтение в секунду, что в три раза выше, чем смогла обеспечить конфигурация на основе MySQL 5.6.
- поддержка режима multi-source репликации, позволяющего реплицировать данные от нескольких master-серверов на один slave-сервер. Например, указанную возможность можно использовать для резервного копирования содержимого разных серверов, для консолидации данных нескольких серверов или для объединения таблиц шардинга. На стороне slave-серверов добавлена поддержка каналов репликации, позволяющих использовать разные соединения для параллельного приёма данных с разных серверов в несколько потоков;
- в оптимизаторе реализована новая модель динамического расчёта приоритетов, позволяющая добиться более высокой скорости обработки запросов и предоставляющая пользователю больше средств управления;
- добавлен новый набор системных таблиц Performance Schema со статистикой о распределении памяти, транзакциях, хранимых процедурах, репликации и блокировках;
- расширены средства обработки состояния и диагностики работы СУБД. В рамках механизма SYS Schema предоставлен набор вспомогательных объектов с информацией о производительности, состоянии работы и мониторинге. Добавлена поддержка вложенных областей диагностики (просмотр командой GET STACKED DIAGNOSTICS);
- реализован более защищённый механизм инициализации директории с данными СУБД: По умолчанию создаётся только аккаунт 'root@localhost' со случайно созданным паролем, который сразу помечается устаревшим и требует установки нового пароля. Анонимные пользовательские аккаунты и тестовые БД не создаются;
- добавлена реализация типов данных для задания пространственных координат c поддержкой InnoDB, GeoJSON и GeoHash;
- улучшение движка InnoDB:
- увеличена производительность работы с временными таблицами;
- расширены средства партицирования;
- добавлена возможность менять размер строк VARCHAR без перестроения таблицы (ALTER TABLE ...ALGORITHM=INPLACE, CHANGE COLUMN...VARCHAR());
- введено отдельное пространство имён для таблиц с несжатыми данными;
- поддержка создания табличных пространств, вынесенных из базовой директории с хранилищем. Создание выполняется при помощи конструкции CREATE TABLESPACE;
- в ALTER TABLE добавлена поддержка выражения RENAME INDEX для переименования индексов;
- в клиент mysql добавлена опция "--syslog" позволяющая отправлять в лог все вводимые команды;
- возможность задания политики истечения времени жизни пароля пользователя, после которого для обращения к БД требуется смена пароля. Поддержка временного блокирования учётных записей;
- при включении поддержки шифрования соединений с сервером, при компиляции с поддержкой OpenSSL теперь производится автоматическая генерация всех необходимых сертификатов SSL и RSA, а также генерация файлов ключей при запуске. Для ручного создания сертификатов и ключей в состав включена утилита mysql_ssl_rsa_setup;
- по умолчанию включен режим STRICT_TRANS_TABLES, при которых в случае если значение не может быть помещено в БД, выражение приводит к ошибке, что позволяет избежать уязвимостей из-за автоматического обрезания слишком длинных строк;
- поддержка генерируемых значений столбцов, которые вычисляются во время добавления записи на основе выражения, охватывающего значения других столбцов. (например, в "CREATE TABLE" можно указать "sidec DOUBLE AS (SQRT(sidea * sidea + sideb * sideb)");
- возможность смены master-сервера без остановки slave-сервера ( без выполнения команды STOP SLAVE);
- прекращена поддержка отложенного выполнения операций, таких как "INSERT DELAYED" и "REPLACE DELAYED".
- вместо GRANT для создания и изменения парамтров пользователей теперь следует использовать только CREATE USER и ALTER USER. Вместо "SET PASSWORD" и функции PASSWORD() допускается только "ALTER USER";
- прекращена поддержка утилит mysqlhotcopy, msql2mysql, mysql_convert_table_format, mysql_find_rows, mysql_fix_extensions, mysql_setpermission, mysql_waitpid, mysql_zap, mysqlaccess и mysqlbug.
2014
Development Milestone Release MySQL 5.7.5
6 ноября 2014 года корпорация Oracle представила новую рабочую версию MySQL 5.7.
В версии MySQL 5.7.5 реализовано множество функций и возможностей для повышения производительности и масштабируемости:
- новая модель динамических затрат оптимизатора,
- улучшения производительности InnoDB
- улучшения производительности репликации
- ряд усовершенствований управляемости.
Для улучшения поддержки сообщества MySQL, Oracle открыла на сайте GitHub.com свободный доступ к исходному коду MySQL, давая пользователям возможность загрузки с предпочитаемой ими платформы хостинга кода.
В составе усовершенствований производительности и масштабируемости:
- реализована новая модель динамических затрат оптимизатора MySQL, расширяющая возможности пользователей и улучшающая производительность запросов.
- улучшения производительность InnoDB, которые ускоряют операции загрузки данных в режиме реального времени (online load) и массовой загрузки данных (bulk load).
- улучшения системы диагностики производительности Performance Schema, которые включают реализацию средств контроля активности пользователей и параметров состояния (status variable), а также инструментария для информационного контроля выполнения процесса репликации.
- улучшения производительности репликации, включая режим многопоточной репликации данных на slave-сервере в рамках одной и той же схемы базы данных (intraschema multithread slave) – позволяют обрабатывать многие транзакции в отдельных параллельных потоках при сохранении целостности и поддержке повторов транзакций (transaction retries).
- в тесте SysBench Read-only Point-Selects с 1024 соединениями новая рабочая версия MySQL 5.7 продемонстрировала производительность в 645000 QPS (queries per second – запросов в секунду), что в 2 раза превышает аналогичный показатель версии MySQL 5.6. С помощью MySQL 5.7 был также достигнут результат более чем в 1 млн. NoSQL-запросов в секунду к таблицам InnoDB через интерфейс на основе протокола Memcached, что в 6 раза превышает результат версии MySQL 5.6.
Улучшение управляемости:
- новый глобальный словарь данных улучшает управляемость, а также производительность запросов.
- улучшенный механизм использования разделов (partitioning) упрощает администрирование баз данных благодаря быстрому и легкому перемещению разделов базы данных.
- улучшение функций ГИС (географическая информационная система) обеспечивает более надежную поддержку пространственных данных, включая Geohash и GeoJSON.
- улучшения процесса репликации с использованием механизма глобальных идентификаторов транзакций (GTID – Global Transactions Identifiers) устраняют необходимость запуска бинарных журналов (binary log) на slave-серверах.
- в новой DMR-версии MySQL реализована поддержка OracleHYPERLINK (включая встроенную поддержку инструмента диагностики DTrace) и Red Hat Enterprise Linux 7.
Development Milestone Release MySQL 5.7.4
31 марта 2014 года корпорация Oracle объявила о выпуске новой версии Development Milestone Release (DMR) MySQL 5.7.4.
В новой версии СУБД, по мнению разработчиков, оптимизирована производительность, масштабируемость и надежность, улучшены средства управления.
Обновлённый продукт можно загрузить с сайта MySQL Developer Zone. В нём предлагаются модернизированные средства репликации, безопасности и диагностики.
Среди новых возможностей СУБД в Oracle отметили:
- улучшение функций ГИС (использование пространственных индексов в InnoDB,
- повышение точности и производительности;
- повышение производительности и пропускной способности при использовании твердотельных накопителей (Solid State Disk, SSD).
Продолжена разработка multi-source репликации, улучшена производительность полусинхронной репликации MySQL.
В новой версии MySQL улучшены:
- оптимизатор, обеспечивающий расчёты затрат в процессе выбора плана исполнения запроса;
- схемы Performance Schema, включая дополнительные средства диагностики;
- безопасность, в том числе 256-битное шифрование по стандарту Advanced Encryption Standard (AES)
- новые возможности для управления паролями.
2013: MySQL 5.7
16 октября 2013 года корпорация Oracle объявила о выпуске второй рабочей версии (Development Milestone Release, DMR) MySQL 5.7, уже доступной для загрузки.
Изменения
Новая версия отличается оптимизированной производительностью, масштабируемостью и управляемостью, что позволяет разработчикам и администраторам СУБД создавать современные веб-, облачные и встраиваемые приложения, способные обрабатывать постоянно растущие объемы данных. В дополнение к новой версии DMR, Oracle открыла на labs.mysql.com доступ к дополнительным функциональным возможностям, находящимся в стадии разработки, для тестирования и обсуждения широким сообществом пользователей.
Ключевые изменения:
- обеспечивает производительность в 500 тыс. запросов в секунду (QPS), линейное вертикальное масштабирование до 64 процессорных ядер, повышенную пропускную способность репликации данных на slave-сервере — используется новый режим многопоточной обработки событий репликации на них, при котором не пересекающиеся транзакции обрабатываются в отдельных параллельных потоках, даже когда эти транзакции оперируют одной и той же схемой базы данных.
- оптимизированы: операция Online Alter Table — реализована поддержка для неблокирующих переименования индексов и расширения столбцов с типом данных VARCHAR;
- средства управления триггерами — реализована поддержка привязки нескольких триггеров к одному типу событий в одной таблице, также возможно определение последовательности срабатывания триггеров с помощью операторов Follows и Precedes.
- расширены возможности диагностики использования внутренней памяти через общую схему диагностики производительности Performance Schema. Добавлены средства, которые помогают отследить операции выделения памяти и использования памяти в процессе работы mysqld (ядра MySQL). При этом впервые в истории MySQL реализованы встроенная поддержка и средства отслеживания использования памяти. Мониторинг использования памяти позволяет получить доступ к ряду показателей, таких как: объем внутренней памяти, используемой в текущий момент, количество операций с памятью, а также минимальное и максимальное значения этих показателей за период времени.
- расширены возможности диагностики использования хранимых программ (Stored Programs) в Performance Schema — добавлена детальная информация о внутренних инструкциях, выполняемых внутри хранимых программ; возможности обработки ошибок в хранимых программах (Stored Programs) — команда Get Stacked Diagnostics может быть использована в качестве нового инструмента для анализа ошибок, необходимого для выявления, исследования и обработки проблем в хранимых программах. Также появилась возможность анализа запроса в процессе его выполнения — оператор Explain для другого соединения позволяет получить планы исполнения для запросов, выполняемых в текущий момент.
- реализована расширенная поддержка вывода результатов Explain в формате JSON - она помогает получить более детальную информацию о планах запросов путем добавления данных о совокупной стоимости запроса, стоимости в расчете на таблицу и общем объеме данных, что дает представление о вычислениях и оценках оптимизатора на основе стоимостных характеристик. Можно увидеть не только то, какой план исполнения выбран, но и почему.
- предоставляется возможность полусинхронной репликации данных без потерь, попутно обеспечивается фиксация транзакций в механизме хранения и во внешней памяти на master-сервере только после того, как slave-сервер подтвердил получение данных.
Доступность
Версия MySQL Community Edition 5.7.2 DMR доступна для загрузки с сайта MySQL Developer Zone. Дополнительно на сайте labs.mysql.com можно получить доступ для досрочного тестирования и обсуждения сообществом MySQL ряда важных функций: mysqlfabric в пакете утилит MySQL Utilities 1.4.0 — позволяет осуществлять горизонтальное масштабирование через «шардинг» (изначально предусмотрена поддержка этого инструмента в клиентских библиотеках для PHP, Python и Java); Multi-source репликация MySQL — позволяет одному slave-серверу агрегировать данные из нескольких master-серверов.
2012
Инструмент миграции на MySQL c Microsoft SQL Server
Корпорация Oracle объявила в сентябре 2012 года о выпуске нового инструмента миграции, который расширяет возможности пользователей MySQL в операционной среде Microsoft Windows, позволяя им быстро и с легкостью перейти с Microsoft SQL Server на MySQL. Новый подключаемый программный модуль MySQL for Excel также позволяет аналитикам получать беспрепятственный доступ и управлять данными, хранимыми в MySQL, из приложения Microsoft Excel без необходимости предварительного технического освоения MySQL.
Также доступны для загрузки инструмент установки MySQL Installer for Windows, который помогает пользователям настроить расширенные функции информационной безопасности и журналирования; и новое приложение MySQL Notifier для платформы Windows, позволяющее пользователям с легкостью контролировать и управлять экземплярами сервера MySQL.
Использование MySQL вместо Microsoft SQL Server 2012 позволяет снизить совокупную стоимость владения базой данных вплоть до 90%.
«Oracle продолжает предоставлять инновации и дополнительные преимущества MySQL пользователям Windows и независимым поставщикам программного обеспечения, – отметил Томас Улин (Tomas Ulin), вице-президент Oracle по разработке MySQL. – Упрощенная миграция, улучшенное управление данными, администрирование и контроль, а также облегченная установка и дополнительные опции конфигурирования делают MySQL идеальной платформой для разработки, развертывания и управления критически важными бизнес-приложениями в среде Windows».
Новый инструмент миграции, который интегрирован в программу MySQL Workbench, позволяющую визуализировать проектирование, разработку и администрирование баз данных MySQL, теперь предоставляет полное решение для миграции таблиц и данных Microsoft SQL Server в MySQL с меньшими затратами времени и усилий.
Используя MySQL Workbench, разработчики SQL Server и администраторы баз данных могут быстро и с легкостью конвертировать существующие приложения для использования MySQL как на платформе Windows, так и на других операционных платформах.
Новый подключаемый программный модуль MySQL for Excel, разработанный в ответ на растущий спрос со стороны бизнес-аналитиков на использование MySQL для витрин данных и аналитических приложений, дает пользователям возможность с легкостью импортировать, экспортировать и манипулировать MySQL-данными.
Усовершенствованный инструмент установки MySQL Installer, позволяя пользователям в большинстве случаев перейти от загрузки к разработке в течение трех минут или даже меньше, предоставляет с помощью операций "point-and-click" («укажи и выбери щелчком мыши») конфигурировать новые экземпляры базы данных MySQL, а также настраивать расширенные функции безопасности и журналирования.
Новое приложение MySQL Notifier для Windows помогает разработчикам и администраторам баз данных с легкостью – благодаря схожести по «виду и ощущениям» с Microsoft SQL Server – осуществлять мониторинг, запуск и остановку работы экземпляров базы данных MySQL.
Новые инструменты будут продемонстрированы на предстоящей двухдневной конференции MySQL connect Conference, которая пройдет 29 и 30 сентября в Сан-Франциско. Следите за сообщениями в Twitter-ленте MySQL Connect (хэштег #mysqlconnect).
MySQL 5.6 DMR
Oracle анонсировала весной 2012 года рабочую версию (Development Milestone Release) базы данных с открытым исходным кодом MySQL 5.6. MySQL 5.6 DMR включает в себя новые возможности репликации, которые повышают доступность базы данных благодаря средствам самовосстановления, а также отличается более высокой производительностью и более совершенными инструментами управления. Рабочую версию базы данных MySQL 5.6 DMR можно загрузить с сайта MySQL Developer Zone.
Кроме нового релиза DMR, Oracle открывает на labs.mysql.com доступ к принципиально новым возможностям, которые находятся на стадии разработки, для тестирования и обсуждения широким кругом пользователей. Функции включают в себя возможности добавления индексов на лету, а также доступ к InnoDB таблицам через NoSQL-интерфейс с использованием протокола Memcached.
В числе преимуществ рабочей версии MySQL 5.6: высокая доступность с новыми функциями репликации; новая оптимизация для лучшей обработки сложных запросов; усовершенствованная Performance_Schema.
На сайте labs.mysql.com открыт ознакомительный доступ к следующим функциям MySQL 5.6, находящимся в стадии активной разработки, чтобы пользователи и участники сообщества MySQL могли их комментировать: поддержка добавления индексов на лету (улучшение доступности и производительности InnoDB благодаря полностью сетевой работе индексов ADD без блокировок, поддержка более быстрой и простой эволюции схем для обеспечения быстрого развертывания web-сервисов); высокопроизводительный доступ к InnoBD через NoSQL интерфейс с использованием протокола Memcached (возможность гибкого использования NoSQL-технологий для доступа к данным InnoDB одновременно с использованием SQL-запросов); дополнительное увеличение производительности на современных аппаратных системах (повышение производительности запросов InnoDB благодаря улучшению обработки часто обновляемых областей данных на многоядерных процессорах).
2011
MySQL 5.6
- Значительно усовершенствована основная система хранения InnoDB и оптимизатор запросов. Оптимизатор теперь способен сохранять алгоритмы исполнения для конкретных запросов, указанных администратором. В версию 5.6, по-видимому, будут включены некоторые технологии, реализованные компанией Percona – она выпускает модифицированный вариант MySQL под названием Percona Server. Одной из них является восстановление буфера запросов после перезапуска сервера. Сервер хранит в буфере записи, которые чаще всего запрашиваются клиентами, однако в стандартном варианте MySQL при перезапуске содержимое буфера пропадает, и, пока он не заполнится снова, производительность будет ниже обычной. Репликация серверов в версии 5.6 будет многопоточной. Сервер, где создается резервная копия, сможет вносить изменения параллельно во все реплицируемые базы данных. Реализована также репликация с задержкой по времени, которая может служить страховкой от ошибок оператора.
- 5 сентября 2011 г. Oracle объявила об открытии доступа к новым функциям MySQL 5.6, чтобы разработчики могли тестировать, внедрять и комментировать их. Появившиеся в общем доступе функции базы данных предназначены для повышения масштабируемости, производительности и гибкости.
Усовершенствования касаются системы хранения данных InnoDB, которая теперь поддерживает полнотекстовый поиск, что позволяет повысить производительность приложений с высокой интенсивностью операций записи и масштабируемость систем с большой нагрузкой.
«Oracle продолжает развивать MySQL, чтобы удовлетворить растущие потребности разработчиков приложений, – заявил Томас Улин (Tomas Ulin), вице-президент Oracle по разработке MySQL. – Ознакомительный доступ к версии MySQL 5.6 позволит проверить работу множества важных функций, предназначенных для повышения производительности, гибкости и масштабируемости этой СУБД. Кроме того, сообщество MySQL сможет поделиться с Oracle своими замечаниями и предложениями».
Новые и модернизированные функции MySQL, связанные с репликацией данных, позволяют повысить производительность и масштабируемость, а также улучшить интеграцию данных.
Oracle открыла ознакомительный доступ к функциям MySQL 5.6, находящимся в стадии активной разработки, чтобы пользователи и участники сообщества MySQL могли комментировать их. Планируется, что после завершения разработки эти функции будут включены в будущие версии: рабочую (Development Milestone) и финальную (General Availability).
Улучшенная репликация, обновленная система хранения данных InnoDB и расширение поиска
На сайте http://labs.mysql.com открыты для ознакомления, тестирования и комментирования следующие новые функции MySQL 5.6:
- Полнотекстовый поиск в InnoDB: предоставляет пользователям возможность построения полнотекстовых индексов и поиска текстовой информации, хранящейся в таблицах InnoDB, а также поддерживает быстрый и точный поиск по содержимому документов.
- Предварительная загрузка содержимого пула буферов InnoDB: новые возможности ручной и автоматической предварительной загрузки содержимого пула буферов InnoDB позволяют существенно сократить время выхода сервера на рабочий режим после перезапуска.
- Увеличение объема файлов журналов отката InnoDB: максимальный размер файлов журналов отката InnoDB увеличен с 4 ГБ до 2 ТБ, чтобы повысить производительность приложений с высокой интенсивностью операций записи или транзакций длительного выполнения.
- Групповая фиксация изменений в бинарном журнале обновлений: операция групповой фиксации изменений (Group Commit) применяется для повышения производительности механизма репликации MySQL. Обновления записываются в бинарный журнал в параллельном режиме, а затем фиксируются как группа в журнале binlog на диске.
- Binlog API: позволяет легко интегрировать MySQL с новыми и унаследованными приложениями, а также с хранилищами данных. Этот интерфейс прикладного программирования позволяет разработчикам упростить интеграцию, стандартизируя DML операции в MySQL, в то время как репликация данных в другие приложения производится в рамках их инфраструктуры управления данными.
MySQL 5.5 Enterprise Edition
MySQL 5.5 Enterprise Edition — комплексное решение, предоставляемое по подписке, которое включает базу данных MySQL Database и инструменты мониторинга, резервного копирования и разработки в сочетании с круглосуточной технической поддержкой клиентов по всему миру. В MySQL 5.5 Enterprise Edition добавлены инструменты MySQL Enterprise Backup и MySQL Workbench, а также расширения MySQL Enterprise Monitor. MySQL Enterprise Edition поддерживает множество операционных систем, включая Linux и Windows, и, по сравнению с Microsoft SQL Server, позволяет сократить совокупную стоимость владения, говорится в сообщении Oracle.
Среди усовершенствований MySQL Enterprise Edition можно отметить интеграцию со службой MyOracle Support, что позволяет заказчикам MySQL пользоваться круглосуточной технической поддержкой мирового класса от Oracle. Кроме того, действующие клиенты Oracle Database, которые, возможно, применяют MySQL Database для ведомственных и веб-приложений, могут получать техническую поддержку по MySQL через свою существующую среду MyOracle Support, отметили в Oracle.
MySQL Enterprise Monitor 2.3 предлагает новые правила и диаграммы, которые помогают пользователям дополнительно оптимизировать производительность и готовность MySQL Database и MySQL Cluster. Обновление включает новые диаграммы MySQL и InnoDB, а также диаграммы для определенной операционной среды, которые улучшают визуальный контроль ключевых систем как для режима мониторинга в реальном времени, так и для статистического анализа тенденций.
В свою очередь, MySQL Enterprise Backup 3.5 позволяет организациям осуществлять оперативное резервное копирование баз данных MySQL Databases без прерывания работы систем, а также улучшает целостность данных и продолжительность безотказной работы благодаря поддержке режимов полного, поэтапного и частичного резервного копирования, а также восстановления состояния базы данных на определенный момент времени (Point-in-Time recovery) и сжатия данных при резервном копировании.
MySQL Workbench 5.2 предоставляет функции моделирования данных и разработки SQL, а также полный набор инструментов администрирования, позволяя пользователям визуально проектировать, моделировать, генерировать и управлять базами данных MySQL Databases.
В сентябре 2011 года было объявлено, что в коммерческой версии СУБД MySQL (Enterprise Edition) появилось еще несколько расширений, ориентированных на применение в корпоративной среде. Исходные коды этих расширений не будут включаться в свободно распространяемую версию MySQL, что еще больше отдалит ее от коммерческой. Это обычная практика среди компаний, разрабатывающих коммерческие варианты программ с открытым кодом, но решение Oracle вряд ли устроит всех пользователей.
Производительность приложений MySQL, которым необходимо обслуживать множество одновременных соединений, будет повышена за счет организации пула потоков. Особенно заметным эффект должен стать на системах с 16 и более ядрами, утверждают в Oracle. В коммерческую версию теперь входят шаблон виртуальной машины Oracle VM, поддержка системы обеспечения высокой доступности Windows Server Failover Clustering (WSFC) и несколько внешних модулей аутентификации, в том числе для служб Windows.
Лицензия Enterprise Edition на год для одного сервера с количеством процессоров не больше четырех стоит 5 тыс. долл. Вскоре будет доступна и бесплатная тестовая версия сроком на 30 дней.
2010
MySQL 5.5.8
MySQL 5.5.8 является первым стабильным релизом MySQL ветви 5.5.x (предыдущие релизы в этой ветви не были стабильными). Среди наиболее значительных изменений новой версии MySQL 5.5 называется оптимизация производительности на многопроцессорных системах. В качестве подсистемы для хранения данных по умолчанию теперь используется InnoDB (разрабатываемый подразделением Oracle Innobase), вместо движка MyISAM, который использовался ранее. Одновременно в саму InnoDB добавлены улучшения, обеспечивающие большую производительность операций по вводу/выводу данных. В MySQL 5.5 также обеспечена более качественная поддержка ОС Solaris (в том числе, поддержка атомарных инструкций, улучшения работы на многопроцессорных системах и др.) и добавлена поддержка средства диагностики Dtrace.
Community-версия MySQL распространяется на условиях лицензии GNU GPL. Пользователи, заинтересованные в коммерческой поддержке, могут приобрести одну из версий Classic Edition, Standard Edition, Enterprise Edition или Cluster Carrier Grade Edition на условиях платной подписки.
MySQL 5.5
Основные преимущества MySQL 5.5:
- Усовершенствованные сервер баз данных MySQL Server и система управления базой данных InnoDB обеспечивают необходимую производительность и масштабируемость при работе с новейшими многопроцессорными и многоядерными платформами и операционными системами;
- InnoDB теперь является системой хранения данных для сервера MySQL по умолчанию и предоставляет ACID-транзакции, ссылочную целостность и восстановление после сбоя;
- Поддержка полусинхронного механизма репликации повышает отказоустойчивость за счет того, что мастер-сервер продолжает работу, не дожидаясь подтверждений от каждого из подчиненных узлов. При получении подтверждения выполнения команды хотя бы от одного подчиненного узла транзакция может быть завершена. Такой подход также помогает сохранить целостность данных;
- Функция Replication Heart Beat ускоряет обнаружение, диагностику и устранение проблем при синхронизации работ мастер-сервера и подчиненного узла, что позволяет повысить надежность и готовность данных, а также снизить уровень риска;
- Усовершенствованный механизм секционирования индексов и таблиц позволяет задавать разделы RANGE и LIST по столбцам с типами данных «date», «datetime», «varchar» и «char», что упрощает работу с MySQL, расширяет возможности СУБД, а также повышает гибкость индексации баз данных и настройки запросов;
- Возможность использования синтаксиса инструкций SIGNAL/RESIGNAL, отвечающий стандарту ANSI/ISO, для реализации механизма обработки ошибок в приложениях, внутри хранимых процедур и триггеров;
- Расширенные средства диагностики, включая новую функцию PERFORMANCE_SCHEMA, обеспечивают низкоуровневую диагностику на основе статистических данных производительности сервера MySQL, позволяя администраторам баз данных идентифицировать ресурсоемкие процессы и события, оптимизировать трудозатраты и повысить их продуктивность.
- Кроме того, как сообщается, результаты недавних тестов производительности продемонстрировали значительный рост производительности MySQL 5.5 по сравнению с MySQL 5.1: для Windows прирост производительности при выполнении операций чтения/записи составил до 1500%, а в режиме «только чтение» – до 500%; для Linux прирост производительности при выполнении операций чтения/записи составил до 360%, а в режиме «только чтение» – до 200%.
Происхождение
MySQL возникла как попытка применить mSQL к собственным разработкам компании: таблицам, для которых использовались ISAM — подпрограммы низкого уровня. В результате был выработан новый SQL-интерфейс, но API-интерфейс остался в наследство от mSQL. Откуда происходит название «MySQL» — доподлинно не известно. Разработчики дают два варианта: либо потому, что практически все наработки компании начинались с префикса My, либо в честь девочки по имени My, дочери Майкла Монти Видениуса, одного из разработчиков системы.
Логотип MySQL в виде дельфина носит имя «Sakila». Он был выбран из большого списка предложенных пользователями «имён дельфина». Имя «Sakila» было отправлено Open Source-разработчиком Ambrose Twebaze.
Лицензирование
MySQL имеет двойное лицензирование. MySQL может распространяться в соответствии с условиями лицензии GPL. Однако по условиям GPL, если какая-либо программа включает исходные коды MySQL, то она тоже должна распространяться по лицензии GPL. Это может расходиться с планами разработчиков, не желающих открывать исходные тексты своих программ. Для таких случаев предусмотрена коммерческая лицензия, которая также обеспечивает качественную сервисную поддержку.
Платформы
MySQL портирована на большое количество платформ: AIX, BSDi, FreeBSD, HP-UX, GNU/Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003, WinCE, Windows Vista и Windows 7. Существует также порт MySQL к OpenVMS. Важно отметить, что на официальном сайте СУБД для свободной загрузки предоставляются не только исходные коды, но и откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули СУБД MySQL.
Языки программирования
MySQL имеет API для языков Delphi, C, C++, Эйфель, Java, Лисп, Perl, PHP, Python, Ruby, Smalltalk и Tcl, библиотеки для языков платформы .NET, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC.
Примечания
Ссылки
Заказчик | Интегратор | Год | Проект |
---|---|---|---|
- Rukami | Вебпрактик (Webpractik), Студия Артемия Лебедева | 2020.11 | |
- Российский экспортный центр (РЭЦ) | Вебпрактик (Webpractik) | --- |
Подрядчики-лидеры по количеству проектов
SAP CIS (САП СНГ) (38)
Softline (Софтлайн) (35)
РДТЕХ (33)
BeringPro (БерингПойнт) ранее BearingPoint Russia (28)
ФОРС - Центр разработки (25)
Другие (729)
Сапиенс солюшнс (Sapiens solutions) (7)
BeringPro (БерингПойнт) ранее BearingPoint Russia (3)
Navicon (Навикон) (3)
Softline (Софтлайн) (2)
Wone IT (ранее SoftwareONE Россия, СофтвэрУАН и Awara IT Russia, Авара Ай Ти Солюшенс) (2)
Другие (35)
Группа Борлас (Borlas) (1)
Диасофт (Diasoft) (1)
КРИТ (KRIT) (1)
Корус Консалтинг (1)
Arenadata (Аренадата Софтвер) (1)
Другие (20)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Oracle (44, 179)
SAP SE (6, 177)
Microsoft (23, 142)
PostgreSQL Global Development Group (14, 125)
Постгрес профессиональный (ППГ, Postgres Professional) (6, 40)
Другие (263, 242)
SAP SE (3, 11)
Microsoft (3, 11)
PostgreSQL Global Development Group (3, 10)
Oracle (2, 4)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 3)
Другие (10, 13)
PostgreSQL Global Development Group (4, 9)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 6)
VK Tech (ранее VK Цифровые технологии, ВК Цифровые технологии и Mail.ru Цифровые технологии) (2, 3)
Arenadata (Аренадата Софтвер) (3, 2)
Apache Software Foundation (ASF) (2, 2)
Другие (9, 9)
PostgreSQL Global Development Group (3, 13)
Постгрес профессиональный (ППГ, Postgres Professional) (1, 6)
Arenadata (Аренадата Софтвер) (3, 5)
Apache Software Foundation (ASF) (3, 4)
Тантор Лабс (Tantor Labs) (2, 3)
Другие (8, 10)
PostgreSQL Global Development Group (4, 10)
Arenadata (Аренадата Софтвер) (3, 6)
VMware (2, 6)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 5)
Сбербанк-Технологии (СберТех) (2, 2)
Другие (4, 6)
Распределение базовых систем по количеству проектов, включая партнерские решения (проекты, партнерские проекты)
Oracle Database - 143 (106, 37)
Microsoft SQL Server - 135 (104, 31)
PostgreSQL СУБД - 125 (79, 46)
SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 102 (102, 0)
SAP HANA (High Performance Analytic Appliance) - 76 (72, 4)
Другие 73
Microsoft SQL Server - 10 (9, 1)
PostgreSQL СУБД - 10 (7, 3)
SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 8 (8, 0)
Oracle Database - 3 (3, 0)
SAP HANA (High Performance Analytic Appliance) - 3 (3, 0)
Другие 6
PostgreSQL СУБД - 9 (2, 7)
Tarantool Платформа in‑memory вычислений - 3 (2, 1)
Oracle Database - 3 (2, 1)
VMware Tanzu Greenplum - 2 (0, 2)
Apache Kafka - 1 (1, 0)
Другие -5
PostgreSQL СУБД - 13 (4, 9)
VMware Tanzu Greenplum - 3 (0, 3)
Apache Kafka - 2 (2, 0)
Apache Hadoop - 2 (1, 1)
ClickHouse - система управления базами данных (СУБД) - 2 (2, 0)
Другие -8
PostgreSQL СУБД - 10 (4, 6)
VMware Tanzu Greenplum - 5 (0, 5)
Apache Hadoop - 2 (0, 2)
Сбер Platform V Pangolin - 2 (2, 0)
Diasoft Digital Q.Database - 2 (2, 0)
Другие -11