Pas një vit zhvillimi dhe katër versione paraprake lëshimi i parë stabil i degës së re të DBMS , në kuadër të të cilës zhvillohet një dege nga MySQL, e cila ruan ndërkompatibilitetin dhe me integrimin e motorëve të ruajtjes shtesë dhe mundësive të zgjeruara. Mbështetje për këtë degë do të ofrohet për 5 vjet, deri në qershor 2025.
Zhvillimi i MariaDB mbikëqyret nga një organizatë e pavarur, Fondacioni MariaDB, në përputhje me një proces të plotë të hapur dhe transparent zhvillimi që nuk varet nga prodhues të veçantë. MariaDB ofrohet si zëvendësim për MySQL në shumë shpërndarje Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) dhe është implementuar në projekte të mëdha si , dhe .
Çelësore :
- Shtuar motorin e ruajtjes , që lejon vendosjen e tabelave MariaDB në Amazon S3 ose ndonjë ruajtës tjetër publik ose privat të cloud që mbështet API S3. Mbështetet vendosja në S3 e tabelave si normale, ashtu edhe të ndara (particionuara). Kur tabela të ndara vendosen në cloud, ato mund të përdoren drejtpërdrejt gjithashtu nga një server tjetër që ka akses në ruajtjen S3.
- Shtuar motorin e ruajtjes , i cili ruan të dhënat në lidhje me kolonat dhe përdor Ky motor bazohet në zhvillimet e ruajtjes MySQL dhe është i dizenjuar për të organizuar përpunimin dhe ekzekutimin e pyetjeve analitike mbi grupe të mëdha të dhënash (Data Warehouse).
ColumnStore ruan të dhënat jo rresht pas rreshti, por me ndarje sipas kolonave, duke lejuar optimizimin e ekzekutimit të grumbullimit të kolonave nga baza e të dhënave të mëdha, duke përfshirë petabayte të dhënash. Mbështetet shkallëzimi linear, ruajtja e të dhënave në formë të kompresuar, ndarje vertikale dhe horizontale, ekzekutimi efikas i pyetjeve konkurruese. - Të gjithë skedarët ekzekutues që fillojnë me fjalën «mysql» janë rinameduar duke përdorur fjalën «mariadb». Emrat e vjetër mbahen në formën e lidhjeve simbolike.
- Shtuar një tip të ri të dhënash për ruajtjen e adresave IPv6.
- Punë është kryer për të ndarë privilegjet në përbërës më të vegjël. Në vend të privilegjit të përgjithshëm SUPER, ofrohet një seri privilegjesh të veçanta «BINLOG ADMIN»,
«BINLOG REPLAY»,
«CONNECTION ADMIN»,
«FEDERATED ADMIN»,
«READ_ONLY ADMIN»,
«REPLICATION MASTER ADMIN»,
«REPLICATION SLAVE ADMIN» dhe
«SET USER». - Privilegi «REPLICATION CLIENT» është rinameduar në «BINLOG MONITOR», dhe shprehja «SHOW MASTER STATUS» në «SHOW BINLOG STATUS». Rinamedimi saktëson sjelljen dhe nuk është i lidhur me korrektësinë politike, projekti nuk heq dorë nga terminologjitë master/slave dhe madje ka shtuar privilegje të reja «MASTER ADMIN» dhe «SLAVE ADMIN». Në të njëjtën kohë, në shprehjet SQL është shtuar një çelës i ri «REPLICA», i cili është sinonim i «SLAVE».
- Për disa shprehje janë ndryshuar privilegjet e nevojshme për ekzekutimin e tyre. «SHOW BINLOG EVENTS» tani kërkon të drejtat «BINLOG MONITOR» në vend të «REPLICATION SLAVE», «SHOW SLAVE HOSTS» kërkon privilegjin «REPLICATION MASTER ADMIN» në vend të «REPLICATION SLAVE», «SHOW SLAVE STATUS» kërkon të drejtat «REPLICATION SLAVE ADMIN» ose «SUPER» në vend të «REPLICATION CLIENT», «SHOW RELAYLOG EVENTS» kërkon të drejtat «REPLICATION SLAVE ADMIN» në vend të «REPLICATION SLAVE».
- Shtuar konstruksione «» dhe ««, që kthejnë një listë të rreshtave të futur/zëvendësuar në formën siç do të ktheheshin vlerat duke përdorur shprehjen SELECT (si në rastin e «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 |
+——+———+———+———-+ - Shtuar shprehjet «» dhe «» për përjashtimin/shtesën e rezultatit me një grup të caktuar vlerash.
- Hapësira për të shtuar komente brenda blloqeve «CREATE DATABASE» dhe «ALTER DATABASE» është mundësuar.
- Shtuar konstruksione për rinominimin e indeksëve dhe kolonave «» dhe ««.
- Në operacionin «ALTER TABLE» dhe «RENAME TABLE» është shtuar mbështetje për kushtin «IF EXISTS» për të realizuar operacionin vetëm kur tabela ekziston;
- Për indeksët në «CREATE TABLE» është realizuar atributi ««.
- Shtuar shprehja «CYCLE» për identifikimin e cikleve rekurzive .
- Funksionet e reja dhe për të kthyer një array ose objekt JSON me vlerat e kolonës së caktuar.
- Shtuar tabela informative të ndihmës (THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, THREAD_POOL_STATS dhe THREAD_POOL_WAITS) për grupin e thread-ëve (thread_pool).
- Shprehja ANALYZE është zgjeruar me tregimin e kohës që shpenzohet për verifikimin e blokut WHERE dhe përfundimin e operacioneve të ndihmës.
- Në optimizatorin e përpunimit të intervaleve janë marrë parasysh shenjat «IS NOT NULL»
- Në mënyrë të rëndësishme është reduktuar madhësia e skedarëve të përkohshëm që përdoren gjatë renditjes me tipet VARCHAR, CHAR dhe BLOB.
- Në , i përdorur për organizimin e replikimit, është shtuar me fushat e reja të metadata, përfshirë Çelësin Kryesor, Emrin e Kolonës, Shkallën e Karaktereve dhe Llojin e Gjeometrics. Në utilitarin mariadb-binlog dhe komandat «SHOW BINLOG EVENTS» dhe «SHOW RELAYLOG EVENTS» është siguruar shfaqja e flamujve të replikimit.
- Konstruksioni tani është besueshëm tabelat që mbeten në motorin e ruajtjes, edhe në mungesë të skedarëve «.frm» ose «.par».
- Është realizuar një varianti i përshpejtuar harduerik i funksionit crc32() për CPU AMD64, ARMv8 dhe POWER 8.
- Janë ndryshuar disa cilësime të paracaktuara. Parametri innodb_encryption_threads është rritur në 255, dhe vlera max_sort_length është rritur nga 4 në 8.
- Janë prezantuar shumë optimizime të performancës së motorit InnoDB.
- Në mekanizmin e replikimit multi-master me sinkronizim Galera është shtuar mbështetje e plotë (Global Transaction ID), identifikuesve të transaksioneve të përbashkëta për të gjitha nyllat e klashtër.
- Është realizuar kalimi në degën e re të bibliotekës (Perl Compatible Regular Expressions), në vend të serisë klasike PCRE 8.x.
- Janë propozuar versione të reja të lidhjeve për lidhjen me DBMS MariaDB dhe MySQL nga programet në gjuhët Python dhe C: dhe . Lidhja për Python përputhet me Python DB API 2.0, është shkruar në gjuhën C dhe përdor bibliotekën Connector/C për lidhjen me serverin.
Burimi: opennet.ru
