MariaDB 10.5 stabil udgivelse

Efter et års udvikling og fire pre-releases forberedt første stabile udgivelse af en ny DBMS-gren MariaDB 10.4, inden for hvilken der udvikles en gren af ​​MySQL, der opretholder bagudkompatibilitet og forskellige integration af yderligere lagermotorer og avancerede muligheder. Der ydes støtte til den nye filial i 5 år, indtil juni 2025.

MariaDB udvikling overvåges af den uafhængige MariaDB Foundation, efter en fuldstændig åben og gennemsigtig udviklingsproces, der er uafhængig af individuelle leverandører. MariaDB leveres i stedet for MySQL i mange Linux-distributioner (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) og er blevet implementeret i så store projekter som f.eks. Wikipedia, Google Cloud SQL и Nimbuzz.

Nøgle forbedring MariaDB 10.5:

  • Tilføjet lagermotor S3, som giver dig mulighed for at være vært for MariaDB-tabeller på Amazon S3 eller enhver anden offentlig eller privat cloud-lagring, der understøtter S3 API. Placering af både almindelige og opdelte borde i S3 er understøttet. Når opdelte tabeller placeres i skyen, kan de bruges direkte, herunder fra en anden server, der har adgang til S3-lager.
  • Tilføjet lagermotor ColumnStore, som gemmer data bundet til kolonner og anvendelser massivt parallelt distribueret arkitektur. Motoren er baseret på udviklingen af ​​MySQL-lagring InfiniDB og er beregnet til at organisere behandlingen og udførelsen af ​​analytiske forespørgsler over store mængder data (Data Warehouse).
    ColumnStore gemmer data ikke række for række, men efter kolonner, hvilket giver dig mulighed for at optimere ydeevnen af ​​gruppering efter kolonner fra en stor database, inklusive petabytes af data. Lineær skalering, komprimeret datalagring, vertikal og horisontal opdeling og effektiv udførelse af konkurrerende anmodninger understøttes.

  • Alle eksekverbare filer, der starter med ordet "mysql" er blevet omdøbt til at bruge ordet "mariadb". De gamle navne er gemt i form af symbolske links.
  • Tilføjet ny datatype INET6 til lagring af IPv6-adresser.
  • Der er arbejdet på at opdele privilegier i mindre komponenter. I stedet for det generelle SUPER-privilegium foreslås en række selektive privilegier "BINLOG ADMIN",
    "BINLOG REPLAY"
    "CONNECTION ADMIN"
    "FEDERATED ADMIN"
    "READ_ONLY ADMIN",
    "REPLICATION MASTER ADMIN"
    "REPLICATION SLAVE ADMIN" og
    "INDSTIL BRUGER".

  • "REPLICATION CLIENT"-privilegiet er blevet omdøbt til "BINLOG MONITOR" og udtrykket "SHOW MASTER STATUS" til "VIS BINLOG STATUS". Omdøbningen tydeliggør adfærden og er ikke forbundet med politisk korrekthed, projektet opgiver ikke begreberne mester/slave og tilføjede endda nye privilegier "MASTER ADMIN" og "SLAVE ADMIN". Samtidig er der tilføjet en ny nøgle “REPLICA” til SQL-udtrykket, som er et synonym for “SLAVE”.
  • For nogle udtryk er de nødvendige privilegier for at udføre dem blevet ændret. "VIS BINLOG EVENTS" kræver nu "BINLOG MONITOR" privilegier i stedet for "REPLICATION SLAVE", "SHOW SLAVE HOSTS" kræver "REPLICATION MASTER ADMIN" privilegier i stedet for "REPLICATION SLAVE", "VIS SLAVE STATUS" kræver "REPLICATION SLAVE ADMIN" eller " SUPER" i stedet for "REPLICATION CLIENT", "SHOW RELAYLOG EVENTS" kræver "REPLICATION SLAVE ADMIN"-rettigheder i stedet for "REPLICATION SLAVE".
  • Tilføjede designs "INDSÆT...RETURNERER"Og"UDSKIFT...RETURNERING", returnerer en liste over indsatte/erstattede poster i formen, som om værdierne blev returneret ved hjælp af et SELECT-udtryk (svarende til "DELETE ... RETURNING").

    INDSÆT I t2-VÆRDIER (1,'Hund'),(2,'Løve'),(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 |
    +——+———+———+———-+

  • Tilføjede udtryk "UNDTAGET ALLE"Og"SKÆR ALLE» for at udelukke/supplere resultatet med et bestemt sæt værdier.
  • Det er nu muligt at angive kommentarer i blokkene "CREATE DATABASE" og "ALTER DATABASE".
  • Tilføjede konstruktioner til omdøbning af indekser og kolonner "ÆNDRINGSTABEL ... OMDØB INDEKS / NØGLE"og"ÆNDRE TABEL ... OMDØV KOLONNE".
  • I operationerne "ALTER TABLE" og "RENAME TABLE" er der tilføjet understøttelse af betingelsen "IF EXISTS" for kun at udføre handlingen, hvis tabellen eksisterer;
  • For indekser i "CREATE TABLE" er attributten "SYNLIG".
  • Tilføjet "CYCLE" udtryk for at identificere rekursive loops CTE.
  • Funktioner tilføjet JSON_ARRAYAGG и JSON_OBJECTAGG for at returnere et array eller JSON-objekt med værdierne for den angivne kolonne.
  • Tilføjede serviceinformationstabeller (THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, THREAD_POOL_STATS og THREAD_POOL_WAITS) for trådpuljen (thread_pool).
  • ANALYSE-udtrykket udvides for at vise den tid, der bruges på at kontrollere WHERE-blokken og udføre hjælpeoperationer.
  • Områdebearbejdningsoptimeringen tager højde for "IS NOT NULL"-egenskaberne
  • Størrelsen af ​​midlertidige filer, der bruges ved sortering med VARCHAR, CHAR og BLOB typer, er blevet væsentligt reduceret.
  • В binær log, der bruges til at organisere replikering, er nye metadatafelter blevet tilføjet, herunder primærnøgle, kolonnenavn, tegnsæt og geometritype. Mariadb-binlog-værktøjet og kommandoerne "VIS BINLOG EVENTS" og "SHOW RELAYLOG EVENTS" giver visning af replikeringsflag.
  • design DROP TABEL nu er det sikkert fjerner tabeller, der forbliver i lagermotoren, selvom der ikke er nogen ".frm"- eller ".par"-filer.
  • Implementeret en hardwareaccelereret version af crc32()-funktionen til AMD64, ARMv8 og POWER 8 CPU'er.
  • Ændrede nogle standardindstillinger. innodb_encryption_threads er blevet øget til 255 og max_sort_length er øget fra 4 til 8.
  • Talrige ydelsesoptimeringer for InnoDB-motoren præsenteres.
  • Fuld understøttelse er blevet tilføjet til Galera synkrone multi-master replikeringsmekanisme GTID (Global Transaction ID), transaktionsidentifikatorer, der er fælles for alle klynge noder.
  • Overgangen til en ny afdeling af biblioteket er foretaget PCRE2 (Perl-kompatible regulære udtryk), i stedet for den klassiske PCRE 8.x-serie.
  • Nye versioner af seler er blevet foreslået til at oprette forbindelse til MariaDB og MySQL DBMS fra programmer i Python og C: MariaDB Connector/Python 1.0.0 и MariaDB Connector/C 3.1.9. Python-bindingen overholder Python DB API 2.0, er skrevet i C og bruger Connector/C-biblioteket til at oprette forbindelse til serveren.

Kilde: opennet.ru

Tilføj en kommentar