После полутора лет разработки и пяти предварительных выпусков сформирован (https://mariadb.org/mariadb-10-2-6-stable-now-available/) первый стабильный релиз новой ветки СУБД MariaDB 10.2 (https://mariadb.com/kb/en/mariadb/mariadb-1026-release-notes/), в рамках которой развивается ответвление от MySQL, сохраняющее обратную совместимость и отличающееся интеграцией дополнительных движков хранения и расширенных возможностей. Развитие MariaDB курирует независимая организация MariaDB Foundation в соответствии с полностью открытым и прозрачным процессом разработки, не зависящим от отдельных вендоров. MariaDB поставляется вместо MySQL во многих дистрибутивах Linux (RHEL 7, SUSE 12, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian 9) и внедрён в таких крупных проектах, как Wikipedia (https://www.opennet.dev/opennews/art.shtml?num=36759), Google Cloud SQL (https://www.opennet.dev/opennews/art.shtml?num=37905) и Nimbuzz (https://www.opennet.dev/opennews/art.shtml?num=36506).Ключевые улучшения (https://mariadb.com/kb/en/mariadb/mariadb-1026-release-notes/) MariaDB 10.2 (https://mariadb.com/kb/en/mariadb/what-is-mariadb-102/):
- Добавлена экспериментальная поддержка движка хранения MyRocks, разработанного (https://www.opennet.dev/opennews/art.shtml?num=45064) Facebook на базе системы хранения RocksDB (https://www.opennet.dev/opennews/art.shtml?num=38499), оптимизированной для Flash-накопителей. В хранилище MyRocks применяются страницы данных плавающего размера, позволяющие избежать выравнивания по фиксированной границе блока, и модель хранения данных в форме лога (Log Structured Merge Trees), допускающая только дополнение (чистка производится сборщиком мусора);
- Добавлена поддержка оконных функций (https://mariadb.com/kb/en/mariadb/window-functions-overview/), задаваемых ключевым словом OVER и позволяющих совершить вычисление над набором строк, связанных с текущей строкой. По аналогии с агрегатными функциями оконные функции позволяют обратиться к другим строкам в процессе обработки результата запроса, но в отличие от агрегатных функций они не группируют результат в одну строку;
- Поддержка (https://mariadb.com/kb/en/with/) общих табличных выражений (выражение "WITH") и рекурсивных общих табличных выражений ("WITH RECURSIVE"). Секцию WITH можно использовать для определения подзапросов как локальных временных таблиц, на которые можно много раз ссылаться в запросе. "WITH RECURSIVE" позволяет обращаться к собственному результату, например, можно организовать обход дерева в процессе выполнении запроса;
- Добавлено выражение "CONSTRAINT... CHECK (https://mariadb.com/kb/en/mariadb/constraint/)" в блоке "CREATE TABLE" для задания ограничений столбца;
- Реализована возможность указания выражений в блоке DEFAULT (https://mariadb.com/kb/en/mariadb/create-table/#default), например "b int DEFAULT (a+1)". Обеспечена поддержка указания значений DEFAULT для полей BLOB и TEXT;
- Хранилище InnoDB обновлено до выпуска из состава MySQL 5.7.18 и задействовано по умолчанию (ранее по умолчанию предлагалось хранилище XtraDB). В InnoDB добавлена поддержка пространственных индексов (spatial index);
- Добавлено выражение "SHOW CREATE USER", показывающее (https://mariadb.com/kb/en/mariadb/show-create-user/) полное выражение "CREATE USER", использованное для создания указанного пользователя;
- Для выражения "CREATE USER (https://mariadb.com/kb/en/mariadb/create-user/)" реализованы опции для ограничения потребления ресурсов и настройки tls/ssl. Например, теперь можно ограничить максимальное число запросов или соединений в час;
- Представлено новое выражение "ALTER USER (https://mariadb.com/kb/en/mariadb/alter-user/)", позволяющее внести изменения в учётную запись существующего пользователя;
- Сняты многие ограничения для виртуально вычисляемых столбцов;
- Добавлена поддержка выражения "EXECUTE IMMEDIATE (https://mariadb.com/kb/en/mariadb/execute-immediate/)" для запуска динамического SQL-выражения, созданного на лету;
- В оператор PREPARE (https://mariadb.com/kb/en/mariadb/prepare-statement/) добавлена возможность использования большинства выражений;
- Добавлены функции (https://mariadb.com/kb/en/json-functions/) для работы с данными в формате JSON;
- Добавлен плагин (https://mariadb.com/kb/en/mariadb/ed25519-authentication-plugin/) аутентификации, использующий алгоритм ed25519 для хранения паролей;
- В состав сборок для Windows, CentOS, RHEL и Fedora добавлен плагин (https://mariadb.com/kb/en/aws-key-management-encryption-plugin/) для расшифровки ключей, используемых в Amazon Web Services (AWS) Key Management Service (KMS), для их последующего использования для шифрования данных в БД;
- Появилась возможность привязки нескольких разных триггеров (https://mariadb.com/kb/en/trigger-overview/) к одному событию;
- Добавлена поддержка отложенной репликации (https://mariadb.com/kb/en/mariadb/delayed-replication/), при которой состояние slave-сервера на заданный промежуток времени отстаёт от master-сервера;
- Переработана реализация выражения ANALYZE TABLE, которое теперь не блокирует таблицу во время сбора статистики;
- Библиотека wsrep, используемая для организации синхронной multi-master (active-active) репликации Galera, обновлена до выпуска 25.3.20;
- Обеспечено формирование пакетов (https://downloads.mariadb.org/mariadb/repositories/) для Ubuntu 17.04;
- В mysqldump добавлена опция "--add-drop-trigger", воспроизводящая функциональность MySQL 5.6 по добавлению в SQL-дамп выражения для удаления триггера перед его созданием;
- Добавлен скрипт mysqlbinlog (https://mariadb.com/kb/en/mysqlbinlog/) для организации непрерывного бэкапа бинарного лога;
- Добавлена поддержка OpenSSL 1.1 и LibreSSL;
- Добавлены переменные innodb_deadlock_detect (https://mariadb.com/kb/en/mariadb/xtradbinnodb-server-system...) и innodb_stats_include_delete_marked (https://mariadb.com/kb/en/mariadb/xtradbinnodb-server-system...) для отключения система определения взаимных блокировок и учёта записей, помеченных как удалённые, при расчёте статистики;
- Добавлена переменная read_binlog_speed_limit, задающая ограничение скорости с которой slave-сервер читает бинарный лог master-сервера;
- Удалена старая клиентская библиотека, поставляемая под лицензией GPL, на смену которой пришла новая библиотека (https://www.opennet.dev/opennews/art.shtml?num=35458), имеющая лицензию LGPL.
URL: https://mariadb.org/mariadb-10-2-6-stable-now-available/
Новость: http://www.opennet.dev/opennews/art.shtml?num=46585