Стабильный выпуск СУБД MariaDB 10.5

Пoслe гoдa рaзрaбoтки и чeтырёx прeдвaритeльныx выпускoв пoдгoтoвлeн пeрвый стaбильный рeлиз нoвoй вeтки СУБД MariaDB 10.4, в рaмкax кoтoрoй рaзвивaeтся oтвeтвлeниe oт MySQL, сoxрaняющee oбрaтную сoвмeстимoсть и oтличaющeeся интeгрaциeй дoпoлнитeльныx движкoв xрaнeния и рaсширeнныx вoзмoжнoстeй. Пoддeржкa нoвoй вeтки будeт oсущeствляться 5 лeт, дo июня 2025 гoдa. Рaзвитиe MariaDB курируeт независимая ассоциация MariaDB Foundation в соответствии с полностью открытым и прозрачным процессом разработки, отнюдь не зависящим от отдельных производителей. MariaDB поставляется на смену MySQL во многих дистрибутивах Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) и внедрён в таких крупных проектах, словно Wikipedia, Google Cloud SQL и Nimbuzz. Ключевые улучшения MariaDB 10.5: Добавлен мотор хранения S3, позволяющий размещать таблицы MariaDB в Amazon S3 не то — не то любом другом публичном или приватном облачном субурган, поддерживающем API S3. Поддерживается размещение в S3 как обычных, (на)столь(ко) и секционированных (партицированных) таблиц. Добавлен двигатель хранения ColumnStore, который хранит сведения в привязке к столбцам и использует массово-параллельную распределённую архитектуру. ColumnStore хранит информация не построчно, а с разбивкой по столбцам, что же позволяет оптимизировать выполнение группировки согласно столбцам из БД большого размера, включающей петабайты данных. Поддерживается линейное выбор масштаба, хранение данных в сжатом виде, вертикальное и горизонтальное партицирование, эффективное претворение в жизнь конкурирующих запросов. Старые имена сохранены в форме символических ссылок. Добавлен новомодный тип данных INET6 для хранения адресов IPv6. Выполнена произведение по разделению привилегий на больше мелкие составляющие. Вместо общей льготы SUPER предложена серия из выборочных привилегий "BINLOG ADMIN", "BINLOG REPLAY", "CONNECTION ADMIN", "FEDERATED ADMIN", "READ_ONLY ADMIN", "REPLICATION MASTER ADMIN", "REPLICATION SLAVE ADMIN" и "SET USER". Исключение "REPLICATION CLIENT" переименована в "BINLOG MONITOR", а представление "SHOW MASTER STATUS" в "SHOW BINLOG STATUS". Переименование уточняет манера держаться и не связано с политкорректностью, проект неважный (=маловажный) отказывается от терминов master/slave и пусть даже добавил новые привилегии "MASTER ADMIN" и "SLAVE ADMIN". Близ этом в SQL выражения добавлен новый разъяснение "REPLICA", являющийся синонимом "SLAVE". На некоторые выражений изменены привилегии, необходимые для того их выполнения. "SHOW BINLOG EVENTS" сейчас требует прав "BINLOG MONITOR" чем "REPLICATION SLAVE", "SHOW SLAVE HOSTS" требует услуги "REPLICATION MASTER ADMIN" вместо "REPLICATION SLAVE", "SHOW SLAVE STATUS" требует прав "REPLICATION SLAVE ADMIN" может ли быть "SUPER" вместо "REPLICATION CLIENT", "SHOW RELAYLOG EVENTS" требует прав "REPLICATION SLAVE ADMIN" заместо "REPLICATION SLAVE". RETURNING" и "REPLACE ... RETURNING", возвращающие формуляр вставленных/заменённых сток в форме, наравне если бы значения возвращались близ использовании выражения SELECT (по аналогии с "DELETE ... RETURNING"). INSERT INTO t2 VALUES (1,'Dog'),(2,'Lion'),(3,'Tiger'),(4,'Leopard') RETURNING id2,id2+id2,id2&id2,id2||id2; +-----+---------+---------+----------+ | id2 | id2+id2 | id2&id2 | id2||id2 | +-----+---------+---------+----------+ | 1 | 2 | 1 | 1 | | 2 | 4 | 2 | 1 | | 3 | 6 | 3 | 1 | | 4 | 8 | 4 | 1 | +-----+---------+---------+----------+ Добавлены выражения "EXCEPT ALL" и "INTERSECT ALL" ради исключения/дополнения результата определённым набором значений. Добавлены конструкции пользу кого переименования индексов и столбцов "ALTER TABLE ... RENAME INDEX / KEY" и "ALTER TABLE ... RENAME COLUMN". В операции "ALTER TABLE" и "RENAME TABLE" добавлена подмога условия "IF EXISTS" для выполнения операции всего при существовании таблицы; Для индексов в "CREATE TABLE" реализован описатель "VISIBLE". Добавлено выражение "CYCLE" в (видах выявления рекурсивных циклов CTE. Добавлены функции JSON_ARRAYAGG и JSON_OBJECTAGG с целью возвращения массива или объекта JSON со значениями указанного столбца. Добавлены служебные информационные таблицы (THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, THREAD_POOL_STATS и THREAD_POOL_WAITS) угоду кому) пула потоков (thread_pool). Вид ANALYZE расширено показом времени, которое тратится нате проверку блока WHERE и выполнение вспомогательных операций. В оптимизаторе обработки диапазонов учтены признаки "IS NOT NULL" Имеет первостепенное значение сокращён размер временных файлов, используемых около сортировке с типами VARCHAR, CHAR и BLOB. В двойной лог, используемый для организации репликации, добавлены новые полина с метаданными, включая Primary Key, Column Name, Character Set и Geometry Type. В утилите mariadb-binlog и командах "SHOW BINLOG EVENTS" и "SHOW RELAYLOG EVENTS" обеспечен обрисовка флагов репликации. Конструкция DROP TABLE покамест надёжно удаляет таблицы, остающиеся в движке хранения, даже если при отсутствии файлов ".frm" или ".par". Реализован аппаратно уторопленный. Ant. тормозящийся вариант функции crc32() для CPU AMD64, ARMv8 и POWER 8. Изменены некоторых настойки точно по умолчанию. Параметр innodb_encryption_threads увеличен впредь до 255, а значение max_sort_length увеличено с 4 после 8. Представлены многочисленные оптимизации производительности отметина InnoDB. В механизм синхронной multi-master репликации Galera добавлена полная протекция GTID (Global Transaction ID), единых в (видах всех узлов кластера идентификаторов транзакций. Осуществлён пересадка на новую ветку библиотеки PCRE2 (Perl Compatible Regular Expressions), отместку) классической серии PCRE 8.x. Предложены новые версии обвязок чтобы подключения к СУБД MariaDB и MySQL изо программ на языках Python и C: MariaDB Connector/Python 1.0.0 и MariaDB Connector/C 3.1.9. Обвязка во (избежание Python соответствует Python DB API 2.0, написана для языке Си и использует для подключения к серверу библиотеку Connector/C. Гиппокрена: http://www.opennet.ru/opennews/art.shtml?num=53225