Stabiele release van de MariaDB database 10.5

Na een jaar ontwikkeling en vier bètaversies voorbereid de eerste stabiele release van de nieuwe versie van de database MariaDB 10.4, waarvoor een afsplitsing van MySQL wordt ontwikkeld, die de achterwaartse compatibiliteit behoudt en verschilt met de integratie van aanvullende opslagmotoren en uitgebreide mogelijkheden. De ondersteuning voor de nieuwe tak zal vijf jaar duren, tot juni 2025.

De ontwikkeling van MariaDB wordt geleid door de onafhankelijke organisatie MariaDB Foundation volgens een volledig open en transparant ontwikkelingsproces, onafhankelijk van specifieke leveranciers. MariaDB wordt in plaats van MySQL geleverd in veel Linux-distributies (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) en is geïntegreerd in grote projecten zoals Wikipedia, Google Cloud SQL en Nimbuzz.

Belangrijkste verbeteringen MariaDB 10.5:

  • Een opslagmotor is toegevoegd S3, waardoor het mogelijk is om MariaDB-tabellen op Amazon S3 of een andere publieke of private cloudopslag die S3 API ondersteunt, te hosten. Zowel gewone als gepartitioneerde tabellen worden ondersteund bij het hosten in S3. Gepartitioneerde tabellen kunnen rechtstreeks worden gebruikt vanaf een andere server die toegang heeft tot de S3-opslag.
  • Een opslagmotor is toegevoegd ColumnStore, die gegevens op kolombasis opslaat en gebruikt massaal parallelle gedistribueerde architectuur. De motor is gebaseerd op de technologieën van MySQL-opslag InfiniDB en is bedoeld voor het organiseren van de verwerking en uitvoering van analytische queries over grote hoeveelheden gegevens (Data Warehouse).
    ColumnStore slaat gegevens niet regel voor regel op, maar kolomgewijs, wat het mogelijk maakt om het groeperen op kolommen in grote databases met petabytes aan gegevens te optimaliseren. Lineaire schaling, opslag van gegevens in gecomprimeerde vorm, verticale en horizontale partitionering en efficiënte uitvoering van concurrerende queries worden ondersteund.
  • Alle uitvoerbare bestanden die beginnen met het woord «mysql» zijn hernoemd naar gebruik van het woord «mariadb». De oude namen zijn bewaard gebleven als symbolische links.
  • Een nieuw gegevenstype is toegevoegd INET6 voor het opslaan van IPv6-adressen.
  • Werkzaamheden zijn uitgevoerd om privileges op te splitsen in kleinere componenten. In plaats van de algemene privilege SUPER wordt een reeks selectieve privileges aangeboden: «BINLOG ADMIN»,
    «BINLOG REPLAY»,
    «CONNECTION ADMIN»,
    «FEDERATED ADMIN»,
    «READ_ONLY ADMIN»,
    «REPLICATION MASTER ADMIN»,
    «REPLICATION SLAVE ADMIN» en
    «SET USER».
  • De privilege «REPLICATION CLIENT» is hernoemd naar «BINLOG MONITOR», en de expressie «SHOW MASTER STATUS» naar «SHOW BINLOG STATUS». De hernoeming verduidelijkt het gedrag en is niet gerelateerd aan politieke correctheid; het project verlaat de termen master/slave niet en heeft zelfs nieuwe privileges «MASTER ADMIN» en «SLAVE ADMIN» toegevoegd. Daarnaast is in SQL-expressies een nieuwe sleutel «REPLICA» toegevoegd, die synoniem is aan «SLAVE».
  • Voor sommige expressies zijn de benodigde privileges voor uitvoering gewijzigd. «SHOW BINLOG EVENTS» vereist nu «BINLOG MONITOR» rechten in plaats van «REPLICATION SLAVE», «SHOW SLAVE HOSTS» vereist de privileges «REPLICATION MASTER ADMIN» in plaats van «REPLICATION SLAVE», «SHOW SLAVE STATUS» vereist «REPLICATION SLAVE ADMIN» of «SUPER» rechten in plaats van «REPLICATION CLIENT», en «SHOW RELAYLOG EVENTS» vereist «REPLICATION SLAVE ADMIN» rechten in plaats van «REPLICATION SLAVE».
  • Constructies «INSERT … RETURNING» en «REPLACE … RETURNING« zijn toegevoegd, die een lijst van ingevoegde/vervangen rijen teruggeven in de vorm zoals waarden zouden worden teruggegeven bij het gebruik van de expressie SELECT (vergelijkbaar met «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 |
    +——+———+———+———-+

  • De expressies «EXCEPT ALL» en «INTERSECT ALL» zijn toegevoegd voor het uitsluiten/toevoegen van resultaten met een bepaalde set waarden.
  • Er is nu de mogelijkheid om opmerkingen op te geven binnen de blokken «CREATE DATABASE» en «ALTER DATABASE».
  • Constructies zijn toegevoegd om indexen en kolommen te hernoemen «ALTER TABLE … RENAME INDEX / KEY» en «ALTER TABLE … RENAME COLUMN«.
  • In de operatie «ALTER TABLE» en «RENAME TABLE» is ondersteuning toegevoegd voor de voorwaarde «IF EXISTS» om de operatie alleen uit te voeren als de tabel bestaat;
  • Voor indexen in «CREATE TABLE» is het attribuut «VISIBLE«.
  • De expressie «CYCLE» is toegevoegd voor het identificeren van recursieve cycli. CTE.
  • Nieuwe functies JSON_ARRAYAGG en JSON_OBJECTAGG voor het teruggeven van een array of object van JSON met waarden van de opgegeven kolom.
  • Er zijn systeeminformatie tabellen (THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, THREAD_POOL_STATS en THREAD_POOL_WAITS) toegevoegd voor de thread pool.
  • De expressie ANALYZE is uitgebreid met de tijd die besteed wordt aan het controleren van de WHERE-blok en het uitvoeren van hulpoplossingen.
  • In de optimizer voor bereikverwerking zijn de voorwaarden «IS NOT NULL» in aanmerking genomen.
  • De grootte van tijdelijke bestanden die worden gebruikt bij sorteren met de types VARCHAR, CHAR en BLOB is aanzienlijk verminderd.
  • In binaire log, gebruikt voor het organiseren van replicatie, zijn nieuwe metadata-velden toegevoegd, waaronder Primary Key, Column Name, Character Set en Geometry Type. In de utility mariadb-binlog en de commando's 'SHOW BINLOG EVENTS' en 'SHOW RELAYLOG EVENTS' worden de replicatievlaggen weergegeven.
  • Constructie DROP TABLE nu betrouwbaar verwijdert tabellen die in de opslag-engine blijven, zelfs in afwezigheid van '.frm' of '.par' bestanden.
  • Er is een hardware-versnelde versie van de functie crc32() geïmplementeerd voor CPU AMD64, ARMv8 en POWER 8.
  • Sommige standaardinstellingen zijn gewijzigd. De parameter innodb_encryption_threads is verhoogd naar 255 en de waarde van max_sort_length is verhoogd van 4 naar 8.
  • Talrijke prestatie-optimalisaties voor de InnoDB-engine zijn geïntroduceerd.
  • De Galera multi-master synchronisatie-replicatiemechanisme heeft volledige ondersteuning toegevoegd GTID (Global Transaction ID), unieke transaction identifiers voor alle knooppunten van het cluster.
  • De overgang naar een nieuwe tak van de bibliotheek is voltooid. PCRE2 (Perl Compatible Regular Expressions), in plaats van de klassieke reeks PCRE 8.x.
  • Nieuwe versies van wrapperbibliotheken voor verbinding met MariaDB en MySQL vanuit Python en C zijn voorgesteld: MariaDB Connector/Python 1.0.0 en MariaDB Connector/C 3.1.9. De Python-wrapper voldoet aan de Python DB API 2.0, is geschreven in C en maakt gebruik van Connector/C voor verbinding met de server.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster