Стабилен релиз на СУБД MariaDB 10.5

След година на разработка и четири предварителни издания е подготвен първият стабилен релиз на новата версия на СУБД MariaDB 10.4, в рамките на която се развива клон на MySQL, запазващ обратно съвместимост и отличаващ се с интеграцията на допълнителни двигатели за съхранение и разширени възможности. Поддръжката на новата версия ще се осъществява в продължение на 5 години, до юни 2025 година.

Развитието на MariaDB се координира от независима организация 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 както на обикновени, така и на секционирани (партиционирани) таблици. При разполагане в облака, секционираните таблици могат директно да се използват, включително от друг сървър, който има достъп до хранилището S3.
  • Добавен е двигател за съхранение ColumnStore, който съхранява данните в колонен формат и използва масово-паралелна разпределена архитектура. Двигателят е основан на разработки в 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» и «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 |
    +——+———+———+———-+

  • Добавлены выражения «ИЗКЛЮЧЕНИЕ ВСИЧКИ» и «ПРЕСИЧАНЕ ВСИЧКИ» для исключения/дополнения результата определённым набором значений.
  • Появилась возможность указания комментариев внутри блоков «CREATE DATABASE» и «ALTER DATABASE».
  • Добавлены конструкции для переименования индексов и столбцов «ALTER TABLE … RENAME INDEX / KEY» и «ALTER TABLE … RENAME COLUMN«.
  • В операции «ALTER TABLE» и «RENAME TABLE» добавлена поддержка условия «IF EXISTS» для выполнения операции только при существовании таблицы;
  • Для индексов в «CREATE TABLE» реализован атрибут «ВИДИМ«.
  • Добавлено выражение «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».
  • Реализиран е хардуерно ускорен вариант на функцията 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, написана е на езика C и използва библиотеката Connector/C за свързване с сървъра.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster