Na een jaar ontwikkeling en zes voorlopige versies de eerste stabiele release van de nieuwe versie van de database , waarvoor een afsplitsing van MySQL wordt ontwikkeld, die de achterwaartse compatibiliteit behoudt en door de integratie van aanvullende opslagengines en uitgebreide mogelijkheden. De ondersteuning voor deze nieuwe versie zal 5 jaar duren, tot juni 2024.
De ontwikkeling van MariaDB wordt beheerd door de onafhankelijke organisatie MariaDB Foundation, volgens een volledig open en transparant ontwikkelingsproces dat niet afhankelijk is 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ïmplementeerd in grote projecten zoals , en .
Belangrijkste :
- De technologie van synchrone multi-master replicatie is inbegrepen , die de actieve-actieve multi-master topologie mogelijk maakt, die lezen en schrijven op elke node toestaat. Bij synchrone replicatie bevatten alle nodes altijd actuele gegevens, dat wil zeggen dat het ontbreken van verloren transacties wordt gegarandeerd, omdat een transactie pas wordt vastgelegd nadat de gegevens over alle nodes zijn verspreid. Replicatie wordt parallel uitgevoerd, op rij-niveau, met alleen de informatie over wijzigingen die wordt verzonden;
- In Unix-achtige systemen is standaard de authenticatieplugin , waarmee bestaande systeemaccounts kunnen worden gebruikt om verbinding te maken met de database via een lokale unix-socket;
- Toegevoegd het instellen van de levensduur van het gebruikerswachtwoord, waarna het wachtwoord als verlopen wordt gemarkeerd. Voor het instellen van de verloopdatum van het wachtwoord zijn in de bewerkingen "CREATE USER" en "ALTER USER" de expressie "PASSWORD EXPIRE INTERVAL N DAY" toegevoegd;
- Ondersteuning toegevoegd voor gebruikers van de database via de expressie "ACCOUNT LOCK" in de bewerkingen "CREATE USER" en "ALTER USER";
- De uitvoering van de toegangsrechtencontrole is aanzienlijk versneld in configuraties met een groot aantal gebruikers of toegangsregels;
- het gebruik van de tabellen mysql.user en mysql.host. Voor het opslaan van accounts en globale rechten wordt nu de tabel mysql.global_priv gebruikt;
- In ondersteuning voor de expressie "SET PASSWORD"; de mogelijkheid om meer dan één authenticatieplugin voor elk account te gebruiken, wat nuttig kan zijn voor de geleidelijke overgang van gebruikers naar de plugin
- ed25519 . Bij het maken van de gebruiker root@localhost is in het script mysql_install_db standaard nu twee authenticatiepluggins ingeschakeld - unix_socket en mysql_native_password;
- In de InnoDB-opslag is de actie van het onmiddellijk verwijderen van kolommen (ALTER TABLE … DROP COLUMN … ALGORITHM=INSTANT) en het wijzigen van de volgorde van kolommen geïmplementeerd. Het volume van het initiële herstel log (redo log) is verminderd. Ondersteuning voor sleutelrotatie is toegevoegd voor innodb_encrypt_log. Een controle-algoritme is geïmplementeerd.
innodb_checksum_algorithm=full_crc32. Onmiddellijke uitbreiding van het VARCHAR-type en wijziging van de tekencodering voor niet-geïndexeerde kolommen zijn verzekerd; - De optimizer is verbeterd. Er is een traceerfunctie voor de optimizer toegevoegd, die kan worden ingeschakeld via de systeemvariabele . Standaard statistieken, onafhankelijk van de opslagengine.
Er zijn twee nieuwe modi voor use_stat_tables toegevoegd - COMPLEMENTARY_FOR_QUERIES en PREFERABLY_FOR_QUERIES. De modus optimize_join_buffer_size is ingeschakeld. Nieuwe rowid_filter en condition_pushdown_from_having; - Ondersteuning voor systeemversie tabellen is uitgebreid, waarin niet alleen de huidige gegevensopslag wordt bewaard, maar ook informatie over alle eerder aangebrachte wijzigingen; met tijdsintervallen;
- Een nieuwe opdracht ‘FLUSH SSL’ is toegevoegd om SSL-certificaten opnieuw te laden zonder de server opnieuw op te starten;
- In de operatie ‘INSTALL PLUGIN’, ‘UNINSTALL PLUGIN’ en ‘UNINSTALL SONAME’ is ondersteuning toegevoegd voor de uitdrukkingen 'IF NOT EXISTS' en 'IF EXISTS';
- Er zijn crashbestendige systeemtabelstructuren voorgesteld, voor opslag waarvan de engine wordt gebruikt, ;
- Er is een overgang naar het gebruik van de C++11-standaard gemaakt (atomaire operaties worden benut);
- De prestaties van de 'Collation'-locale-eigenschappen voor Unicode zijn aanzienlijk verhoogd, waardoor sorteergeregels en vergelijkingsmethoden met betekenis van symbolen kunnen worden ingesteld;
- een plugin voor het definiëren van aangepaste veldtypes;
- Ondersteuning voor venster- (User-Defined Functions);
- In de operatie ‘FLUSH TABLES’ de modus ‘BACKUP LOCK’, die kan worden gebruikt tijdens het back-uppen van databasebestanden;
- ondersteuning voor servercommando's die beginnen met de naam mariadb, alternatieven voor commando's die beginnen met 'mysql' (bijvoorbeeld mariadump in plaats van mysqldump).
Bron: opennet.ru
