sql >> Databasteknik >  >> RDS >> MariaDB

Vad är nytt i MariaDB Server 10.5?

MariaDB Server 10.5 är en fräsch, ny och stabil version från MariaDB som släpptes den 24 juni 2020. Låt oss ta en titt på funktionerna som den kommer att ge oss.

Fler granulära privilegier

Med MariaDB 10.5 kommer vissa ändringar angående privilegierna. Huvudsakligen har SUPER-privilegier delats upp i flera nya privilegier som gör det möjligt att ställa in mer detaljerad kontroll över vilka åtgärder som är tillåtna för givna användare och vad som inte är det. Nedan är listan över de nya privilegierna som är tillgängliga i MariaDB 10.5:

  • BINLOGADMIN
  • BINLOGREPLAY
  • ANSLUTNINGADMIN
  • FÖDERAD ADMIN
  • READ_ONLY ADMIN
  • REPLICATION MASTER ADMIN
  • REPLICATION SLAVE ADMIN
  • STÄLL IN ANVÄNDARE

InnoDB prestandaförbättringar

MariaDB 10.5 kommer med en lista över prestandaförbättringar för InnoDB. Vad som är viktigt att veta är att MariaDB 10.5 har inbäddat InnoDB från MariaDB 10.4. Det kommer att ske prestandaändringar och förbättringar men kärnan i InnoDB är densamma som i MariaDB 10.4. Det här är väldigt intressant att se hur den väg MariaDB har valt kommer att föra med sig när det gäller prestanda. Å ena sidan, att hålla sig till den gamla versionen tillåter snabbare utgivningscykler för MariaDB - att portera helt nya InnoDB till MariaDB skulle vara en ganska utmaning och, låt oss vara ärliga, kanske inte riktigt genomförbart att genomföra. Tänk på att MariaDB blir mer och mer inkompatibel med uppströms. Det har gått ett tag sedan den senaste byggnaden där du bara kunde byta binärer och allt skulle fungera utan problem.

MariaDB utvecklade sin uppsättning funktioner som kryptering eller komprimering, vilket gjorde att dessa implementeringar inte kompatibla. Å andra sidan har nya InnoDB visat betydligt bättre prestanda än MariaDB 10.4. Många rader kod har skrivits (och många rader kod har tagits bort) för att göra den mer skalbar än den tidigare versionen. Det kommer att bli mycket intressant att se om MariaDB 10.5 kommer att kunna överträffa sina samtidiga.

Vi kommer inte att gå in på detaljer eftersom det här är vad du kan hitta på MariaDB-webbplatsen, vi skulle vilja nämna några av ändringarna. InnoDB redo loggar har sett en del arbete som gör dem mer effektiva. InnoDB buffertpool har också förbättrats såtillvida att alternativet att skapa flera buffertpooler har tagits bort eftersom det inte längre behövs - prestandautmaningar som det var tänkt att fixa hade redan fixats i 10.5, vilket gör det här alternativet inte nödvändigt.

Vad som också är viktigt att tänka på är att InnoDB i 10.5 kommer att vara, på grund av ändringarna, inkompatibel med InnoDB i 10.4. Uppgraderingen kommer endast att vara enkelriktad, du bör planera din uppgraderingsprocess därefter.

Fullständigt GTID-stöd för Galera Cluster

Galera Cluster kommer i MariaDB 10.5 med fullt GTID-stöd. Detta borde göra blandningen av Galera Cluster och asynkron replikering mer sömlös och mindre problematisk.

Mer metadata för replikering och binära loggar

Att tala om replikering, MariaDB 10.5 har förbättrat binär loggmetadata. Den kommer med mer information om data som replikeras:

  • Tecknet för numeriska kolumner
  • Teckenuppsättning av teckenkolumner och binära kolumner
  • Kolumnnamn
  • Strängvärde för SET-kolumner
  • Strängvärde för ENUM-kolumner
  • Primärnyckel
  • Teckenuppsättning av SET-kolumner och ENUM-kolumner
  • Geometrityp

Detta bör hjälpa till att undvika replikeringsproblem om det finns olika scheman på master och på slaven.

Syntax

Flera ändringar i SQL-syntax har införts i MariaDB 10.5. INTERSECT tillåter oss att skriva en fråga som kommer att resultera i rader som returneras av två SELECT-satser. I MariaDB 10.5 har INTERSECT ALL lagts till, vilket gör det möjligt att returnera en resultatuppsättning med dubbletter av värden. På liknande sätt har EXCEPT förbättrats för att tillåta EXCEPT ALL.

Ett par ändringar har gjorts i ALTER-syntaxen - du kan nu byta namn på kolumner med ALTER TABLE … RENAME COLUMN. Det är också möjligt att byta namn på index med ALTER TABLE … RENAME KEY-syntax. Vad som är ganska viktigt, både ALTER TABLE och RENAME TABLE fick stöd för IF EXISTS, det kommer definitivt att hjälpa när det gäller replikeringshantering.

Uppdateringar av prestandaschema för att matcha MySQL 5.7 

Prestandaschematabeller har uppdaterats så att de kommer att vara i nivå med Performance Schema från MySQL 5.7. Detta innebär förändringar i instrumentering relaterade till minne, metadatalåsning, förberedda uttalanden, lagrade procedurer, låsning, transaktioner och användarvariabler.

Binafiler med namnet mariadb

Sist men inte minst har binärfiler ändrats från 'mysql' till 'mariadb'. Den gamla namnkonventionen kan dock fortfarande användas för att behålla kompatibiliteten med befintliga skript och verktyg.

Utöver det har flera andra ändringar införts. JSON-array- och objektaggregationsfunktion, förbättrad instrumentering för anslutningspoolen, förbättringar i frågeoptimeraren eller migrering till ny version av biblioteket för reguljära uttryck. Integration med S3 har också introducerats - du kan läsa data från S3-buckets inifrån MariaDB 10.5.

Vi ser fram emot att se hur denna nya MariaDB-version kommer att se ut i produktionsmiljöer. Om du är intresserad av att prova finns migreringsinstruktioner tillgängliga på MariaDBs webbplats


  1. Hämta delsträng i SQL Server

  2. Hur kan du få de aktiva användarna anslutna till en postgreSQL-databas via SQL?

  3. Foreign Key SQL:Allt du behöver veta om främmande nyckeloperationer

  4. Hur använder jag uttrycksbyggaren i Access 2016?