Bản phát hành ổn định MariaDB 10.5

После года разработки и четырёх предварительных выпусков chuẩn bị bản phát hành ổn định đầu tiên của nhánh DBMS mới MariaDB 10.4, trong đó một nhánh của MySQL đang được phát triển để duy trì khả năng tương thích ngược và khác biệt tích hợp các công cụ lưu trữ bổ sung và các khả năng nâng cao. Hỗ trợ cho chi nhánh mới sẽ được cung cấp trong 5 năm, cho đến tháng 2025 năm XNUMX.

Развитие MariaDB курирует независимая организация MariaDB Foundation в соответствии с полностью открытым и прозрачным процессом разработки, не зависящим от отдельных производителей. MariaDB поставляется вместо MySQL во многих дистрибутивах Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) и внедрён в таких крупных проектах, как Wikipedia, Google đám mây SQL и ảo ảnh.

Chìa khóa cải tiến MariaDB 10.5:

  • Добавлен движок хранения S3, позволяющий размещать таблицы MariaDB в Amazon S3 или любом другом публичном или приватном облачном хранилище, поддерживающем API S3. Поддерживается размещение в S3 как обычных, так и секционированных (партицированных) таблиц. При размещении в облаке секционированных таблиц они могут напрямую использоваться в том числе с другого сервера, имеющего доступ к хранилищу S3.
  • Добавлен движок хранения CộtCửa hàng, который хранит данные в привязке к столбцам и использует массово-параллельную распределённую архитектуру. Движок основан на наработках MySQL-хранилища InfiniDB и предназначен для организации обработки и выполнения аналитических запросов над большими массивами данных (Data Warehouse).
    ColumnStore хранит данные не построчно, а с разбивкой по столбцам, что позволяет оптимизировать выполнение группировки по столбцам из БД большого размера, включающей петабайты данных. Поддерживается линейное масштабирование, хранение данных в сжатом виде, вертикальное и горизонтальное партицирование, эффективное выполнение конкурирующих запросов.

  • Все исполняемые файлы, начинающиеся со слова «mysql» переименованы с использованием слова «mariadb». Старые имена сохранены в форме символических ссылок.
  • Добавлен новый тип данных 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».
  • Добавлены конструкции «INSERT … RETURNING"Và"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"Và"INTERSECT ALL» для исключения/дополнения результата определённым набором значений.
  • Появилась возможность указания комментариев внутри блоков «CREATE DATABASE» и «ALTER DATABASE».
  • Добавлены конструкции для переименования индексов и столбцов «ALTER TABLE … RENAME INDEX / KEY» и «ALTER TABLE … RENAME COLUMN".
  • В операции «ALTER TABLE» и «RENAME TABLE» добавлена поддержка условия «IF EXISTS» для выполнения операции только при существовании таблицы;
  • Для индексов в «CREATE TABLE» реализован атрибут «CÓ THỂ NHÌN THẤY".
  • Добавлено выражение «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» обеспечен показ флагов репликации.
  • Xây dựng DROP BẢNG теперь надёжно loại bỏ таблицы, остающиеся в движке хранения, даже при отсутствии файлов «.frm» или «.par».
  • Реализован аппаратно ускоренный вариант функции crc32() для CPU AMD64, ARMv8 и POWER 8.
  • Изменены некоторых настойки по умолчанию. Параметр innodb_encryption_threads увеличен до 255, а значение max_sort_length увеличено с 4 до 8.
  • Представлены многочисленные оптимизации производительности движка InnoDB.
  • В механизм синхронной multi-master репликации Galera добавлена полная поддержка GTID (Global Transaction ID), единых для всех узлов кластера идентификаторов транзакций.
  • Việc chuyển đổi sang một chi nhánh mới của thư viện đã được thực hiện 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.

Nguồn: opennet.ru

Thêm một lời nhận xét