MariaDB 10.6 stabiele release

Na een jaar van ontwikkeling en drie voorlopige releases is de eerste stabiele release van de nieuwe tak van de MariaDB 10.6 DBMS gepubliceerd, waarin een tak van MySQL wordt ontwikkeld die achterwaartse compatibiliteit behoudt en zich onderscheidt door de integratie van extra opslagmotoren en geavanceerde mogelijkheden. Ondersteuning voor de nieuwe vestiging wordt verleend voor een periode van 5 jaar, tot juli 2026.

De ontwikkeling van MariaDB staat onder toezicht van de onafhankelijke MariaDB Foundation, volgens een volledig open en transparant ontwikkelingsproces dat onafhankelijk is van individuele leveranciers. MariaDB wordt geleverd als vervanging voor MySQL in veel Linux-distributies (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) en is geïmplementeerd in grote projecten als Wikipedia, Google Cloud SQL en Nimbuzz.

Belangrijkste verbeteringen in MariaDB 10.6:

  • De atomaire uitvoering van de expressies “CREATE TABLE|VIEW|SEQUENCE|TRIGGER”, “ALTER TABLE|SEQUENCE”, “RENAME TABLE|TABLES”, “DROP TABLE|VIEW|VIEW|TRIGGER|DATABASE” is verzekerd (de expressie is volledig is voltooid of alles in de oorspronkelijke staat wordt teruggebracht). In het geval van “DROP TABLE”-bewerkingen waarbij meerdere tabellen tegelijk worden verwijderd, wordt atomiciteit verzekerd op het niveau van elke individuele tabel. Het doel van de wijziging is om de integriteit te waarborgen in het geval van een servercrash tijdens een bewerking. Voorheen konden na een crash tijdelijke tabellen en bestanden achterblijven, kon de synchronisatie van tabellen in opslag-engines en frm-bestanden worden verstoord en konden afzonderlijke tabellen ongewijzigd blijven als meerdere tabellen tegelijk werden hernoemd. De integriteit wordt gewaarborgd door het bijhouden van een statusherstellogboek, waarvan het pad kan worden bepaald via de nieuwe optie “—log-ddl-recovery=file” (standaard ddl-recovery.log).
  • De constructie “SELECT ... OFFSET ... FETCH” gedefinieerd in de SQL 2008-standaard is geïmplementeerd, waardoor u een bepaald aantal rijen kunt weergeven vanaf een opgegeven offset, met de mogelijkheid om de parameter “WITH TIES” te gebruiken voeg nog een volgende waarde toe. De uitdrukking "SELECT i FROM t1 ORDER BY i ASC LIMIT 1 OFFSET 3" verschilt bijvoorbeeld van de constructie "SELECT i FROM t1 ORDER BY i ASC LIMIT 3 OFFSET 1", doordat er nog één element in de staart wordt weergegeven. (in plaats van 3 worden 4 regels uitgevoerd).
  • Voor de InnoDB-engine is de syntaxis “SELECT ... SKIP LOCKED” geïmplementeerd, waarmee u rijen kunt uitsluiten waarvoor geen vergrendeling kan worden ingesteld (“LOCK IN SHARE MODE” of “FOR UPDATE”).
  • De mogelijkheid om indexen te negeren is geïmplementeerd (in MySQL 8 wordt deze functionaliteit “onzichtbare indexen” genoemd). Het markeren van een index om te negeren gebeurt met behulp van de IGNORED-vlag in de ALTER TABLE-instructie, waarna de index zichtbaar en bijgewerkt blijft, maar niet wordt gebruikt door de optimizer.
  • Functie JSON_TABLE() toegevoegd om JSON-gegevens naar relationele vorm te converteren. Een JSON-document kan bijvoorbeeld worden getransformeerd voor gebruik in de context van een tabel, die kan worden opgegeven in een FROM-blok in een SELECT-instructie.
  • Verbeterde compatibiliteit met Oracle DBMS: Ondersteuning toegevoegd voor anonieme subquery's binnen het FROM-blok. Het MINUS-construct is geïmplementeerd (equivalent aan EXCEPT). Functies ADD_MONTHS(), TO_CHAR(), SYS_GUID() en ROWNUM() toegevoegd.
  • In de InnoDB-engine is het invoegen in lege tabellen versneld. Het COMPRESSED-tekenreeksformaat is standaard ingesteld op alleen-lezen. Het SYS_TABLESPACES-schema heeft SYS_DATAFILES vervangen en weerspiegelt rechtstreeks de status in het bestandssysteem. Er wordt ondersteuning voor luie schrijfbewerkingen geboden voor de tijdelijke tabelruimte. Ondersteuning voor het oude checksum-algoritme, dat behouden bleef vanwege compatibiliteit met MariaDB 5.5, is stopgezet.
  • In het replicatiesysteem is de grootte van de parameterwaarde master_host vergroot van 60 naar 255 tekens, en master_user naar 128. De variabele binlog_expire_logs_seconds is toegevoegd om de vervaltijd van het binaire logboek in seconden te configureren (voorheen was de resettijd alleen in dagen bepaald via de variabeleexpiratie_logs_days).
  • Het Galera synchrone multi-master replicatiemechanisme implementeert de wsrep_mode variabele om de WSREP (Write Set REPlication) API-parameters te configureren. Conversie van Galera van niet-versleutelde communicatie naar TLS toegestaan ​​zonder het cluster te stoppen.
  • Het sys-schema-schema is geïmplementeerd, dat een verzameling views, functies en procedures bevat voor het analyseren van databasebewerkingen.
  • Servicetabellen toegevoegd voor het analyseren van replicatieprestaties.
  • De weergaven INFORMATION_SCHEMA.KEYWORDS en INFORMATION_SCHEMA.SQL_FUNCTIONS zijn toegevoegd aan de set informatietabellen, waarin een lijst met beschikbare trefwoorden en functies wordt weergegeven.
  • TokuDB- en CassandraSE-repository's zijn verwijderd.
  • De utf8-codering is overgebracht van de vier-byte representatie utf8mb4 (U+0000..U+10FFFF) naar de drie-byte utf8mb3 (dekt het Unicode-bereik U+0000..U+FFFF).
  • Ondersteuning toegevoegd voor socketactivering in systemd.
  • De GSSAPI-plug-in heeft ondersteuning toegevoegd voor Active Directory-groepsnamen en SID's.
  • Controle toegevoegd op de aanwezigheid van configuratiebestand $MARIADB_HOME/my.cnf naast $MYSQL_HOME/my.cnf.
  • Nieuwe systeemvariabelen binlog_expire_logs_seconds, innodb_deadlock_report, innodb_read_only_compressed, wsrep_mode en Innodb_buffer_pool_pages_lru_freed zijn geïmplementeerd.

Bron: opennet.ru

Voeg een reactie