Egy év fejlesztés és négy előzetes kiadás után a új adatbázis-kezelő rendszer stabil első kiadása , amely keretein belül a MySQL-tól eltérő, hátrafelé kompatibilis elágazás fejlődik további tárolómotorok integrálásával és kibővített lehetőségekkel. Az új verzió támogatása 5 évig, 2025 júniusáig tart.
A MariaDB fejlesztését független szervezet, a MariaDB Foundation felügyeli, teljesen nyitott és átlátható fejlesztési folyamat keretében, amely nem függ egyes gyártóktól. A MariaDB számos Linux disztribúcióban (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) kerül forgalomba, és olyan nagy projektek keretében került bevezetésre, mint , és .
Kulcsok :
- Tárolómotor került hozzáadásra , amely lehetővé teszi a MariaDB táblák Amazon S3-ban vagy bármely más nyilvános vagy magán felhőalapú tárolóban való elhelyezését, amelyek támogatják az S3 API-t. Az S3-ban mind a normál, mind a particionált táblák tárolása támogatott. A felhőben tárolt particionált táblák közvetlenül elérhetők más szerverekről is, amelyek hozzáférnek az S3 tárolóhoz.
- Tárolómotor került hozzáadásra , amely az adatokat oszlopokhoz kötötten tárolja és elágazott architektúrát használ. A motor a MySQL tároló eredményein alapul, és nagy adathalmok (Data Warehouse) elemző lekérdezéseinek feldolgozására és végrehajtására készült.
A ColumnStore nem soronként, hanem oszlopokkal felbontva tárolja az adatokat, ami lehetővé teszi az oszlopok szerinti csoportosítások végrehajtásának optimalizálását nagy méretű adatbázisok esetén, petabyte méretű adatokkal. Támogatott a vonalas skálázás, az adatok tömörített formában való tárolása, vertikális és horizontális particionálás, valamint a versengő lekérdezések hatékony végrehajtása. - Minden, az «mysql» szóval kezdődő végrehajtható fájl átnevezésre került «mariadb» szóval. A régi neveket szimbolikus linkek formájában megőrizték.
- Új adatatípus került hozzáadásra IPv6 címek tárolására.
- A jogosultságok finomabb felosztásán is dolgoztak. A SOVER jogosultság helyett egy sor speciális jogosultságot javasoltak: «BINLOG ADMIN»,
«BINLOG REPLAY»,
«CONNECTION ADMIN»,
«FEDERATED ADMIN»,
«READ_ONLY ADMIN»,
«REPLICATION MASTER ADMIN»,
«REPLICATION SLAVE ADMIN» és
«SET USER». - A „REPLICATION CLIENT” privilégium átnevezésre került „BINLOG MONITOR”-ra, és a „SHOW MASTER STATUS” kifejezés „SHOW BINLOG STATUS”-ra. Az átnevezés pontosítja a viselkedést, és nem kapcsolódik a politikai korrektséghez, a projekt nem mond le a master/slave kifejezésekről, és új privilégiumokat is bevezetett „MASTER ADMIN” és „SLAVE ADMIN”. Emellett az SQL kifejezésekhez hozzáadódott egy új kulcs „REPLICA”, amely a „SLAVE” szinonimája.
- Néhány kifejezéshez megváltoztak a végrehajtáshoz szükséges privilégiumok. A „SHOW BINLOG EVENTS” most a „BINLOG MONITOR” jogot követeli meg a „REPLICATION SLAVE” helyett, a „SHOW SLAVE HOSTS” a „REPLICATION MASTER ADMIN” privilégiumot igényli a „REPLICATION SLAVE” helyett, a „SHOW SLAVE STATUS” az „REPLICATION SLAVE ADMIN” vagy „SUPER” jogot követeli meg a „REPLICATION CLIENT” helyett, a „SHOW RELAYLOG EVENTS” az „REPLICATION SLAVE ADMIN” jogot igényli a „REPLICATION SLAVE” helyett.
- Hozzáadva:és a ", amelyek a beszúrt/változtatott sorok listáját adják vissza, mintha az értékek SELECT kifejezés használatával térnének vissza (analóg a „DELETE … RETURNING” kifejezéssel).
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 |
+——+———+———+———-+ - Hozzáadva:és a "a konkrét értékkészlet eredményből való kizárásához/kiegészítéséhez.
- Lehetőséget kaptunk, hogy megjegyzéseket tegyünk a „CREATE DATABASE” és „ALTER DATABASE” blokkok belsejébe.
- Hozzáadták a kifejezéseket az indexek és oszlopok átnevezésére:» és ««.
- Az „ALTER TABLE” és a „RENAME TABLE” művelethez hozzáadva az „IF EXISTS” feltétel támogatása, hogy a művelet csak a tábla létezése esetén hajtódjon végre;
- Az „INDEX” attribútum megvalósítása „CREATE TABLE”-ban:«.
- Hozzáadva a „CYCLE” kifejezés a rekurzív ciklusok azonosításához .
- Új függvények kerültek hozzáadásra és amely egy meghatározott oszlop értékeivel visszaad egy JSON tömböt vagy objektumot.
- Hozzáadva az információs táblák (THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, THREAD_POOL_STATS és THREAD_POOL_WAITS) a szálcsoporthoz (thread_pool).
- Az ANALYZE kifejezés kiterjesztve lett, hogy megmutassa azt az időt, amely a WHERE blokk ellenőrzésére és a segédműveletek végrehajtására fordítódik.
- A tartománykezelés optimalizálója figyelembe vette az „IS NOT NULL” jeleket.
- Jelentősen csökkent a rendezéshez használt ideiglenes fájlok mérete VARCHAR, CHAR és BLOB típusok esetén.
- A , amelyet a replikációs folyamatok megszervezésére használnak, új metaadatmezők kerültek hozzáadásra, beleértve az Elsődleges Kulcsot, Oszlop Nevet, Karakterkészletet és Geometriai Típust. A mariadb-binlog segédprogramban és a «SHOW BINLOG EVENTS» és «SHOW RELAYLOG EVENTS» parancsokban a replikációs jelzők megjelenítése biztosított.
- Konstrukció mostantól megbízhatóan azokat a táblákat, amelyek a tárolómotorban maradnak, még akkor is, ha nincs «.frm» vagy «.par» fájl.
- Megvalósult a crc32() funkció hardveres gyorsítási változata AMD64, ARMv8 és POWER 8 CPU-hoz.
- Néhány alapértelmezett beállítás módosult. Az innodb_encryption_threads paraméter értéke 255-re nőtt, míg a max_sort_length értéke 4-ről 8-ra emelkedett.
- Számos teljesítményoptimalizáció került bemutatásra az InnoDB motorhoz.
- A Galera szinkronizált multi-master replikációs mechanizmusba teljes támogatás került bevezetésre (Globális Tranzakciós Azonosító), amely az összes klasztercsomópont számára egységes tranzakcióazonosító.
- Áttérés történt az új könyvtárra (Perl Kompatibilis Reguláris Kifejezések), a klasszikus PCRE 8.x sorozat helyett.
- Új verziók kerültek javaslatra a MariaDB és MySQL adatbázisokhoz való csatlakozáshoz Python és C nyelveken: és . A Python csatlakozó megfelel a Python DB API 2.0-nak, C nyelven készült, és a csatlakozáshoz a Connector/C könyvtárat használja.
Forrás: opennet.ru
