sql >> Database >  >> RDS >> MariaDB

Wat is er nieuw in MariaDB Server 10.5?

MariaDB Server 10.5 is een frisse, nieuwe en stabiele versie van MariaDB die is uitgebracht op 24 juni 2020. Laten we eens kijken naar de functies die het ons zal bieden.

Meer gedetailleerde rechten

Met MariaDB 10.5 komen er enkele wijzigingen met betrekking tot de privileges. Hoofdzakelijk is het SUPER-privilege opgesplitst in verschillende nieuwe privileges die het mogelijk maken om meer gedetailleerde controle in te stellen over welke acties zijn toegestaan ​​voor bepaalde gebruikers en wat niet. Hieronder vindt u de lijst met de nieuwe privileges die beschikbaar zijn in MariaDB 10.5:

  • BINLOG-BEHEERDER
  • BINLOG REPLAY
  • VERBINDINGSBEHEERDER
  • GEFEDEREERDE BEHEERDER
  • ALLEEN-LEES BEHEERDER
  • REPLICATIE HOOFDBEHEERDER
  • REPLICATIESLAVEBEHEERDER
  • GEBRUIKER INSTELLEN

InnoDB prestatieverbeteringen

MariaDB 10.5 wordt geleverd met een lijst met prestatieverbeteringen voor InnoDB. Wat belangrijk is om te weten, is dat MariaDB 10.5 InnoDB van MariaDB 10.4 heeft ingebed. Er zullen prestatiewijzigingen en verbeteringen zijn, maar de kern van InnoDB is hetzelfde als in MariaDB 10.4. Dit is heel interessant om te zien hoe het pad dat MariaDB heeft gekozen, zal brengen in termen van de prestaties. Aan de ene kant zorgt het vasthouden aan de oude versie voor snellere release-cycli voor MariaDB - het overzetten van een geheel nieuwe InnoDB naar MariaDB zou een hele uitdaging zijn en, laten we eerlijk zijn, is misschien niet echt haalbaar om te bereiken. Houd er rekening mee dat MariaDB steeds meer incompatibel wordt met de upstream. Het is een tijdje geleden sinds de laatste build waar je gewoon binaries kon verwisselen en alles zou zonder problemen werken.

MariaDB heeft een reeks functies ontwikkeld, zoals codering of compressie, waardoor deze implementaties niet compatibel zijn. Aan de andere kant heeft de nieuwe InnoDB aanzienlijk betere prestaties laten zien dan MariaDB 10.4. Er zijn veel regels code geschreven (en veel regels code verwijderd) om het schaalbaarder te maken dan de vorige versie. Het zal heel interessant zijn om te zien of MariaDB 10.5 in staat zal zijn om beter te presteren dan zijn concurrenten.

We zullen niet in details treden omdat dit is wat je kunt vinden op de MariaDB-website, we willen graag enkele van de wijzigingen noemen. InnoDB redo logs hebben wat werk gezien waardoor ze efficiënter zijn geworden. InnoDB-bufferpool is ook zodanig verbeterd dat de optie om meerdere bufferpools te maken is verwijderd omdat deze niet langer nodig was - prestatieproblemen die het moest oplossen, waren al opgelost in 10.5, waardoor deze optie niet nodig was.

Wat ook belangrijk is om in gedachten te houden is dat InnoDB in 10.5 vanwege de wijzigingen incompatibel zal zijn met InnoDB in 10.4. De upgrade is slechts eenrichtingsverkeer, u moet uw upgradeproces dienovereenkomstig plannen.

Volledige GTID-ondersteuning voor Galera Cluster

Galera Cluster komt in MariaDB 10.5 met volledige GTID-ondersteuning. Dit zou het mengen van Galera Cluster en asynchrone replicatie naadloos en minder problematisch moeten maken.

Meer metadata voor replicatie en binaire logboeken

Over replicatie gesproken, MariaDB 10.5 heeft verbeterde binaire log-metadata. Het bevat meer informatie over de gegevens die worden gerepliceerd:

  • Ondertekening van numerieke kolommen
  • Tekenset van karakterkolommen en binaire kolommen
  • Kolomnaam
  • Tekenreekswaarde van SET-kolommen
  • Stringwaarde van ENUM-kolommen
  • Primaire sleutel
  • Tekenset van SET-kolommen en ENUM-kolommen
  • Geometrietype

Dit zou moeten helpen om replicatieproblemen te voorkomen als er verschillende schema's zijn op de master en op de slave.

Syntaxis

Verscheidene wijzigingen in de SQL-syntaxis zijn geïntroduceerd in MariaDB 10.5. INTERSECT stelt ons in staat om een ​​query te schrijven die resulteert in rijen die worden geretourneerd door twee SELECT-instructies. In MariaDB is 10.5 INTERSECT ALL toegevoegd, waarmee een resultatenset met dubbele waarden kan worden geretourneerd. Evenzo is BEHALVE verbeterd om BEHALVE ALLES mogelijk te maken.

Er zijn een aantal wijzigingen aangebracht in de ALTER-syntaxis - u kunt nu kolommen hernoemen met ALTER TABLE … RENAME COLUMN. Het is ook mogelijk om de index te hernoemen met behulp van ALTER TABLE ... RENAME KEY syntaxis. Wat best belangrijk is, zowel ALTER TABLE als RENAME TABLE hebben ondersteuning gekregen voor IF EXISTS, het zal zeker helpen bij het afhandelen van replicatie.

Prestatieschema-updates om overeen te komen met MySQL 5.7 

Prestatieschematabellen zijn bijgewerkt, zodat ze op één lijn komen met Prestatieschema's van MySQL 5.7. Dit betekent veranderingen in instrumentatie met betrekking tot geheugen, metadatavergrendeling, voorbereide verklaringen, opgeslagen procedures, vergrendeling, transacties en gebruikersvariabelen.

Binaries genaamd mariadb

Last but not least zijn binaire bestanden gewijzigd van 'mysql' in 'mariadb'. De oude naamgevingsconventie kan echter nog steeds worden gebruikt om de compatibiliteit met bestaande scripts en tools te behouden.

Bovendien zijn er verschillende andere wijzigingen doorgevoerd. JSON-array- en objectaggregatiefunctie, verbeterde instrumentatie voor de verbindingspool, verbeteringen in de query-optimizer of migratie naar een nieuwe versie van de bibliotheek voor reguliere expressies. Integratie met S3 is ook geïntroduceerd - u kunt gegevens uit S3-buckets lezen vanuit MariaDB 10.5.

We zijn benieuwd hoe deze nieuwe MariaDB-versie eruit zal zien in productieomgevingen. Als je het wilt proberen, zijn de migratie-instructies beschikbaar op de MariaDB-website


  1. Hoe groot kan een MySQL-database worden voordat de prestaties achteruit gaan?

  2. Huidige open cursors vinden in Oracle

  3. Hoe de automatische verhogingswaarde van MySQL / MariaDB-database te wijzigen?

  4. MySQLi gebruiken om gegevens in een database in te voegen