Po roce vývoje a čtyřech předběžných vydáních první stabilní verze nové větve databázového systému , v rámci které se vyvíjí odvozenina od MySQL, zachovávající zpětnou kompatibilitu a integrací dalších úložišť dat a rozšířenými funkcemi. Podpora nové větve bude zajištěna po dobu 5 let, do června 2025.
Rozvoj MariaDB sleduje nezávislá organizace MariaDB Foundation v souladu s plně otevřeným a transparentním procesem vývoje, který není závislý na jednotlivých výrobcích. MariaDB se dodává místo MySQL v mnoha linuxových distribucích (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) a je implementována v takových velkých projektech, jako jsou , a .
Klíčové :
- Byl přidán úložný engine , který umožňuje umístění tabulek MariaDB do Amazon S3 nebo do jakéhokoli jiného veřejného či soukromého cloudového úložiště, které podporuje API S3. Podporováno je umístění jak běžných, tak i dělených (partitioned) tabulek. Při umístění dělených tabulek do cloudu mohou být použity přímo i z jiného serveru, který má přístup k úložišti S3.
- Byl přidán úložný engine , který ukládá data ve sloupcích a využívá distribuovanou architekturu. Engine je založen na technologiích MySQL úložišť a je určen pro zpracování a provádění analytických dotazů nad velkými objemy dat (Data Warehouse).
ColumnStore ukládá data nikoli po řádcích, ale ve sloupcích, což umožňuje optimalizovat provádění seskupení podle sloupců z databázového systému velkého rozsahu, zahrnujícího petabyty dat. Podporováno je lineární škálování, ukládání dat ve zkomprimované podobě, vertikální a horizontální dělení, efektivní provádění více konkurenčních dotazů. - Všechny spustitelné soubory začínající slovem „mysql“ byly přejmenovány za použití slova „mariadb“. Staré názvy byly zachovány formou symbolických odkazů.
- Byl přidán nový typ dat pro ukládání adres IPv6.
- Byla dokončena práce na rozdělení privilegii na menší části. Místo celkového privilegia SUPER byla navržena série výběrových privilegií „BINLOG ADMIN“,
„BINLOG REPLAY“,
„CONNECTION ADMIN“,
„FEDERATED ADMIN“,
„READ_ONLY ADMIN“,
„REPLICATION MASTER ADMIN“,
„REPLICATION SLAVE ADMIN“ a
„SET USER“. - Oprávnění „REPLICATION CLIENT“ bylo přejmenováno na „BINLOG MONITOR“ a výraz „SHOW MASTER STATUS“ na „SHOW BINLOG STATUS“. Přejmenování objasňuje chování a nesouvisí s politickou korektností, projekt se nevzdává termínů master/slave a dokonce přidal nová oprávnění „MASTER ADMIN“ a „SLAVE ADMIN“. K tomu byl do SQL výrazů přidán nový klíč „REPLICA“, který je synonymem pro „SLAVE“.
- Pro některé výrazy byly změněny požadované oprávnění pro jejich provedení. „SHOW BINLOG EVENTS“ nyní vyžaduje práva „BINLOG MONITOR“ namísto „REPLICATION SLAVE“, „SHOW SLAVE HOSTS“ vyžaduje oprávnění „REPLICATION MASTER ADMIN“ namísto „REPLICATION SLAVE“, „SHOW SLAVE STATUS“ vyžaduje práva „REPLICATION SLAVE ADMIN“ nebo „SUPER“ namísto „REPLICATION CLIENT“, „SHOW RELAYLOG EVENTS“ vyžaduje práva „REPLICATION SLAVE ADMIN“ namísto „REPLICATION SLAVE“.
- Byly přidány konstrukce „“ a „„, které vrací seznam vložených/vyměněných řádků ve formě, jako by hodnoty byly vráceny při použití výrazu SELECT (podobně jako „DELETE … RETURNING“).
INSERT INTO t2 VALUES (1,'Pes'),(2,'Lev'),(3,'Tygr'),(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 |
+——+———+———+———-+ - Byly přidány výrazy „“ a „„ pro vyloučení/doplňování výsledků určitým souborem hodnot.
- Objevil se způsob, jak uvádět komentáře uvnitř bloků „CREATE DATABASE“ a „ALTER DATABASE“.
- Byly přidány konstrukce pro přejmenování indexů a sloupců „„ a „«.
- Při operaci „ALTER TABLE“ a „RENAME TABLE“ byla přidána podpora podmínky „IF EXISTS“ pro provedení operace pouze při existenci tabulky;
- Pro indexy v „CREATE TABLE“ byl zaveden atribut „«.
- Byl přidán výraz „CYCLE“ pro identifikaci rekurzivních cyklů. .
- Byly přidány funkce a pro vracení pole nebo objektu JSON s hodnotami daného sloupce.
- Byly přidány systémové informační tabulky (THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, THREAD_POOL_STATS a THREAD_POOL_WAITS) pro pool vláken (thread_pool).
- Výraz ANALYZE byl rozšířen o zobrazení času, který je stráven na kontrole bloku WHERE a provádění pomocných operací.
- V optimalizátoru zpracování intervalů byly zohledněny znaky „IS NOT NULL“.
- Výrazně byla zkrácena velikost dočasných souborů používaných při třídění s typy VARCHAR, CHAR a BLOB.
- V , použité k organizaci replikace, byla přidána nová pole s metadaty, včetně Primary Key, Column Name, Character Set a Geometry Type. V nástroji mariadb-binlog a příkazech „SHOW BINLOG EVENTS“ a „SHOW RELAYLOG EVENTS“ bylo zajištěno zobrazení replikace.
- Konstrukce nyní spolehlivě tabulky, které zůstávají v úložišti, i když chybí soubory „.frm“ nebo „.par“.
- Byla realizována hardwarově akcelerovaná varianta funkce crc32() pro CPU AMD64, ARMv8 a POWER 8.
- Byly změněny některé výchozí nastavení. Parametr innodb_encryption_threads byl zvýšen na 255 a hodnota max_sort_length byla zvýšena z 4 na 8.
- Byly představeny četné optimalizace výkonu motoru InnoDB.
- Do mechanismu synchronní multi-master replikace Galera byla přidána plná podpora (Global Transaction ID), jednotných identifikátorů transakcí pro všechny uzly clusteru.
- Byl proveden přechod na novou větev knihovny (Perl Compatible Regular Expressions), místo klasické série PCRE 8.x.
- Byly navrženy nové verze wrapperů pro připojení k databázím MariaDB a MySQL z aplikací v jazycích Python a C: a . Wrapper pro Python odpovídá Python DB API 2.0, je napsán v jazyce C a používá knihovnu Connector/C pro připojení k serveru.
Zdroj: opennet.ru
