Стабільны выпуск СКБД 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) і ўкаранёны ў такіх буйных праектах, як Вікіпедыя, Google Cloud SQL и Спрытны.

ключавыя паляпшэння 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 |
    +——+———+———+———-+

  • Дададзеныя выразы «EXCEPT ALL»І«INTERSECT ALL»для выключэння/дапаўнення выніку пэўным наборам значэнняў.
  • З'явілася магчымасць указання каментароў усярэдзіне блокаў "CREATE DATABASE" і "ALTER DATABASE".
  • Дададзеныя канструкцыі для перайменавання індэксаў і слупкоўALTER TABLE … RENAME INDEX/KEY» і «ALTER TABLE … RENAME COLUMN«.
  • У аперацыі "ALTER TABLE" і "RENAME TABLE" дададзена падтрымка ўмовы "IF EXISTS" для выканання аперацыі толькі пры існаванні табліцы;
  • Для індэксаў у "CREATE TABLE" рэалізаваны атрыбут "VISIBLE«.
  • Дададзена выраз «CYCLE» для выяўлення рэкурсіўных цыклаў КТР.
  • Дададзеныя функцыі 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" забяспечаны паказ сцягоў рэплікацыі.
  • канструкцыя КАПІЛЬНАЯ СТОЛ цяпер надзейна выдаляе табліцы, якія застаюцца ў рухавічку захоўвання, нават пры адсутнасці файлаў ".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, напісана на мове Сі і выкарыстоўвае для падлучэння да сервера бібліятэку Connector/C.

Крыніца: opennet.ru

Дадаць каментар