Uppgradera till MariaDB Server 10.3. Vad är nytt?

Uppgradera till MariaDB Server 10.3. Vad är nytt?

Vi är glada att kunna meddela lanseringen av den allmänna uppdateringen av MariaDB Server 10.3! Den här utgåvan är en enorm milstolpe för utvecklingen av MariaDB Server och är resultatet av en enorm insats från utvecklingsteamet och bidragsgivarna – tack till alla inblandade! Med den tidigare stora utgåvan av MariaDB Server 10.2 förra året började vi en resa med att lägga till företagsklassade funktioner till våra värdtjänster för att bättre överbrygga gapet till egna databaser. Med MariaDB Server 10.3 har vi tagit ett stort steg framåt i denna resa, eftersom vi är den första företagsdatabasen med öppen källkod som lägger till funktioner som tidsbearbetning av data (genom systemversionering) och kompatibilitet med Oracle och Oracle PL/SQL-sekvenser. Samtidigt vill vi vara trogna våra öppna källkod och innovativa rötter (vi skulle inte kalla oss Innovating annars!) genom att lägga till stöd för nya lagringsmotorer som lättare kan anpassa sig till olika arbetsbelastningar och den olika hårdvaran som är tillgänglig för användarna. Denna väg gör att vi snabbt kan anpassa oss till ett ständigt föränderligt landskap där nya innovationer skapas i en ständigt accelererande takt. Det här är vår största release hittills, och med denna release vill vi placera vår andel i kategorin företagsdatabas.

De viktigaste förbättringarna av MariaDB Server 10.3 kan placeras i följande kategorier:

  • Tidsdatabehandling (tabeller i systemversion)
  • Oracle-kompatibilitetsfunktioner
  • Specialbyggda lagringsmotorer

Tidsdatabehandling

Behandlingen av tidsdata genom systemversionsfunktionaliteten är ett av de mest intressanta tilläggen av MariaDB Server version 10.3. Med systemversionshantering håller databasen reda på alla ändringar som görs på varje rad i tabellen. De gamla versionerna av raderna är inte synliga genom normal frågesyntax, men med en speciell syntax kan alla gamla versioner av raden nås. Den här förmågan lämpar sig för ett stort antal användningsfall, från revision och kriminalteknik (att hitta den exakta resultatuppsättningen för en misstänkt fråga som utfördes för en tid sedan) till saker som att analysera förändringar i din data, jämföra kundpreferenser år över år och en mängd andra möjligheter. Den här funktionen kan aktiveras för alla bord och historiken kan också rensas med jämna mellanrum så att ditt bord inte växer i det oändliga. Användningsfallen är spännande och oändliga!

Kompatibilitet med ORACLE

Eftersom efterfrågan på MariaDB Server har ökat i stora företag har vi också sett behovet av funktioner som är lättillgängliga i egna databaser. För att göra MariaDB enklare att använda för DBA:er och erfarna databasingenjörer än andra produkter, har vi lagt till så mycket kompatibilitet som möjligt.

I MariaDB Server 10.3 har en ny lagrad procedursyntax lagts till utöver den redan befintliga MariaDB SQL/PSM-syntaxen. Det är nu möjligt att stödja MariaDB SQL/PL som är en syntax designad för att vara kompatibel med Oracle PL/SQL. På så sätt är migreringen av befintliga applikationer mycket enklare och befintlig kompetens kan användas utan komplex omskolning. I processen har flera nya konstruktioner lagts till för att stödja lagrade procedurer som de nya ROW-datatyperna.

Den nya syntaxen är inte den enda nya kompatibilitetsfunktionen, sekvenser har lagts till för att ha ett mer flexibelt sätt att skapa unika primärnycklar än den redan befintliga auto_increment-funktionen. Den här funktionen är helt kompatibel med Oracle-sekvenser. Tillsammans med tidigare tillagda funktioner (som fönsterfunktioner, vanliga tabelluttryck (CTE) etc.) har vi nu en djup uppsättning funktioner av företagskvalitet som kan hantera alla typer av applikationsbehov.

Specialbyggda lagringsmotorer

På MariaDB tror vi på att använda rätt verktyg för rätt jobb. Vi tror dock inte att allt behöver förändras för att uppnå detta mål. Vi har en unik arkitektur med pluggbara lagringsmotorer som gör att användaren kan anpassa databasen till användningsfallet och arbetsbelastningen utan att ändra kärnfunktionerna och funktionaliteten. Vi tror att denna flexibilitet tjänar användarens intresse och kommer att arbeta för att ytterligare förbättra denna aspekt med framtida versioner av MariaDB. Denna arkitektur kommer att tillåta både communityn och vårt team att förnya sig ytterligare genom att lägga till lagringsmotorer designade för ny hårdvara och nya användningsområden. I MariaDB Server 10.3 introducerar vi två nya stabila lagringsmotorer, MyRocks och Spider.

MyRocks är ett samarbete med Facebook där lagringsmotorn byggs ovanpå RocksDB – ett projekt med öppen källkod som främst underhålls av Facebook. MyRocks lagringsmotor är byggd med hjälp av en log-structured merge tree (LSM tree) arkitektur och är väl lämpad för skrivintensiva arbetsbelastningar. MyRocks har också ett mycket högt kompressionsförhållande och är byggt för att maximera livslängden på SSD-enheter.

Spider är en lagringsmotor designad för extrem skala. Spindellagringsmotorn låter dig skära en specifik tabell över flera noder. Den använder partitioneringsprotokollet för att definiera hur tabellen ska partitioneras och varje enskild shard finns på en avlägsen MariaDB-server som bara hanterar frågor för just den shard. Med Spider får du nästan linjär skalning för INSERT och nycklar.

Och det finns mer...

Utöver detta har en mängd funktioner lagts till för att påskynda schemaoperationer (som omedelbar ADD COLUMN) och andra optimeringar och kompatibilitetsfunktioner. Funktionen ADD COLUMN är ett annat exempel på vårt från MariaDBs utvecklingsteam med kunder och partners, inklusive Alibaba, Tencent och ServiceNow, och det är bara början på att göra tunga DDL-operationer mer användbara.