Для популярной СУБД с открытым кодом MySQL, ставшей стандартным элементом многих стеков веб-приложений, выпущен первый вариант Release Candidate версии 8.0.
В MySQL 8.0 появятся следующие возможности:
В версии 8.0 MySQL последовательная нумерация нарушена (предыдущая версия имела номер 5.5), поскольку от 6.0 решено было отказаться, а 7.0 была зарезервирована для кластерной версии MySQL.
Ожидаемая дата выпуска MySQL 8.0
Разработчики MySQL предпочитают не называть конкретную дату выпуска MySQL 8.0. Их политика заключается в том, чтобы «новый релиз появлялся через каждые полтора-два года». На текущий момент последней версией является MySQL 5.7, выпущенная 21 октября 2015 года, так что MySQL 8.0, скорее всего, стоит ждать в конце октября 2017 года.
Поддержка Unicode
Переход на кодировку Unicode по умолчанию — одно из наиболее серьезных изменений из числа запланированных. Проблемы с Unicode у MySQL наблюдаются уже давно, и разработка MySQL 8.0 призвана устранить как можно больше существующих нестыковок.
Кодировка latin1 больше не будет использоваться в MySQL по умолчанию, что должно избавить новых пользователей от унаследованных проблем. Рекомендованной кодировкой по умолчанию для MySQL 8.0 сегодня является utf8mb4, обещающая увеличить производительность по сравнению с устаревшим ныне набором символов utf8mb3 и обеспечить более гибкую сортировку и чувствительность к регистру.
Улучшенный вариант Unicode будет поддерживать не только западные наборы символов, но и все прочие, включая набирающий популярность набор emoji.
Оконные функции
Во многих других реализациях языка SQL поддерживаются оконные функции, позволяющие выполнять агрегированные вычисления над множеством строк, сохраняя при этом в результатах запроса доступ к каждой отдельно взятой строке. Конечно, в MySQL такую задачу можно решить и без поддержки оконных функций, но это будет медленно и неудобно. Разработчики добавили в MySQL 8.0 оконные функции, реализованные с помощью стандартной конструкции SQL OVER. Аналогичным образом эти функции представлены и в конкурирующих продуктах, в том числе в PostgreSQL.
Еще одним новшеством стали рекурсивные выражения, позволяющие выполнять рекурсивные операции как часть запроса, не прибегая к курсорам и другим способам, которые приводят к снижению производительности.
Улучшение работы с документами и JSON
Поддержка JSON появилась в версии MySQL 5.7, сделав MySQL конкурентоспособной в соперничестве с СУБД NoSQL, которые работали с JSON изначально. В MySQL 8.0 поддержка JSON была расширена: производительность выросла, появились функции, позволяющие извлекать из запроса JSON диапазоны (как это сделано в запросе типа top N), а также новые агрегированные функции, объединяющие в запросе структурированные данные MySQL и полуструктурированные JSON.
С поддержкой JSON связаны и новые возможности хранения документов. Операции чтения и записи в хранилище документов MySQL согласованы в рамках транзакции, что позволяет «откатить» операции и отменить изменения в данных JSON. Данные о местоположении, хранившиеся в открытом формате GeoJSON, можно индексировать, благодаря чему поиск осуществляется в том числе и по критерию близости расположения.
Среди других изменений в MySQL 8.0 отметим следующие.
Откуда загрузить MySQL 8.0
В настоящее время можно загрузить бета-версии MySQL 8.0 для Windows, macOS, нескольких вариантов Linux, FreeBSD и Solaris. Исходный код также доступен для загрузки. Чтобы найти нужные ссылки, следует перейти на сайте MySQL к разделу для разработчиков и открыть вкладку Development Releases.
Источник: computerworld.ru