Oppgrader til MariaDB Server 10.3. Hva er nytt?

Oppgrader til MariaDB Server 10.3. Hva er nytt?

Vi er glade for å kunngjøre utgivelsen av den generelle oppdateringen av MariaDB Server 10.3! Denne utgivelsen er en stor milepæl for utviklingen av MariaDB Server og er resultatet av en enorm innsats fra utviklingsteamet og bidragsyterne – takk til alle involverte! Med den forrige store utgivelsen av MariaDB Server 10.2 i fjor begynte vi en reise med å legge til bedriftskvalitetsfunksjoner til vertstjenestene våre for å bygge bro over gapet til proprietære databaser. Med MariaDB Server 10.3 har vi tatt et stort skritt fremover på denne veien, og er den første åpen kildekode-bedriftsdatabasen som legger til funksjoner som tidsmessig databehandling (gjennom systemversjon) og kompatibilitet med Oracle og Oracle PL/SQL-sekvenser. Samtidig ønsker vi å være tro mot våre åpne kildekoder og innovative røtter (vi ville ikke kalt oss Innovating ellers!) ved å legge til støtte for nye lagringsmotorer som lettere kan tilpasse seg ulike arbeidsbelastninger og den ulike maskinvaren som er tilgjengelig for brukerne. Denne veien lar oss raskt tilpasse oss et landskap i stadig endring der nye innovasjoner skapes i et stadig akselererende tempo. Dette er vår største utgivelse til nå, og med denne utgivelsen ønsker vi å plassere vår eierandel i kategorien bedriftsdatabase.

De viktigste forbedringene av MariaDB Server 10.3 kan plasseres i følgende kategorier:

  • Tidsdatabehandling (tabeller i systemversjon)
  • Oracle-kompatibilitetsfunksjoner
  • Spesialbygde lagringsmotorer

Tidsdatabehandling

Behandlingen av tidsdata gjennom systemversjonsfunksjonaliteten er en av de mest interessante tilleggene til MariaDB Server versjon 10.3. Med systemversjon holder databasen oversikt over alle endringene som er gjort i hver rad i tabellen. De gamle versjonene av radene er ikke synlige gjennom normal spørringssyntaks, men ved å bruke en spesiell syntaks kan alle de gamle versjonene av raden nås. Denne egenskapen egner seg til en rekke brukssaker, fra revisjon og etterforskning (finne det nøyaktige tidspunktet resultatsettet for et mistenkelig søk som ble kjørt for en tid siden) til ting som å analysere endringer i dataene dine, sammenligne kundepreferanser år-over-år, og en rekke andre muligheter. Denne funksjonen kan slås på for ethvert bord, og historien kan også slettes med jevne mellomrom, slik at bordet ditt ikke vokser i det uendelige. Brukstilfellene er spennende og uendelige!

Kompatibilitet med ORACLE

Ettersom etterspørselen etter MariaDB Server har økt i store bedrifter, har vi også sett behovet for funksjoner som er lett tilgjengelige i proprietære databaser. For å gjøre MariaDB enklere å bruke for DBAer og erfarne databaseingeniører enn andre produkter, har vi lagt til så mye kompatibilitet som mulig.

I MariaDB Server 10.3 er en ny lagret prosedyresyntaks lagt til i tillegg til den allerede eksisterende MariaDB SQL/PSM-syntaksen. Det er nå mulig å støtte MariaDB SQL/PL som er en syntaks designet for å være kompatibel med Oracle PL/SQL. På denne måten er migrering av eksisterende applikasjoner mye enklere og eksisterende ferdigheter kan brukes uten kompleks omskolering. I prosessen har flere nye konstruksjoner blitt lagt til for å støtte lagrede prosedyrer som de nye ROW-datatypene.

Den nye syntaksen er ikke den eneste nye kompatibilitetsfunksjonen, sekvenser er lagt til for å ha en mer fleksibel måte å lage unike primærnøkler på enn den allerede eksisterende auto_increment-funksjonen. Denne funksjonen er fullt kompatibel med Oracle-sekvenser. Sammen med tidligere lagt til funksjoner (som vindusfunksjoner, vanlige tabelluttrykk (CTE), etc.) har vi nå et dypt sett med funksjoner i bedriftskvalitet som kan dekke alle typer applikasjonsbehov.

Spesialbygde lagringsmotorer

Hos MariaDB tror vi på å bruke riktig verktøy til riktig jobb. Vi tror imidlertid ikke at alt må endres for å nå dette målet. Vi har en unik arkitektur med pluggbare lagringsmotorer som lar brukeren tilpasse databasen til brukstilfellet og arbeidsmengden uten å endre kjernefunksjonene og funksjonaliteten. Vi tror denne fleksibiliteten tjener brukerens interesse og vil arbeide for å forbedre dette aspektet ytterligere med fremtidige versjoner av MariaDB. Denne arkitekturen vil tillate både fellesskapet og teamet vårt å innovere ytterligere ved å legge til lagringsmotorer designet for ny maskinvare og nye bruksområder. I MariaDB Server 10.3 introduserer vi to nye stabile lagringsmotorer, MyRocks og Spider.

MyRocks er et samarbeid med Facebook hvor lagringsmotoren bygges på toppen av RocksDB – et åpen kildekode-prosjekt som hovedsakelig vedlikeholdes av Facebook. MyRocks sin lagringsmotor er bygget ved hjelp av en log-structured merge tree (LSM tree) arkitektur og er godt egnet for skriveintensive arbeidsbelastninger. MyRocks har også et veldig høyt komprimeringsforhold og er bygget for å maksimere levetiden til SSD-stasjoner.

Spider er en lagringsmotor designet for ekstrem skala. Spider-lagringsmotoren lar deg skjære et spesifikt bord på tvers av flere noder. Den bruker partisjoneringsprotokollen til å definere hvordan tabellen skal partisjoneres, og hvert enkelt shard ligger på en ekstern MariaDB-server som kun håndterer spørringer for den aktuelle shard. Med Spider får du nesten lineær skalering for INNSERT og nøkler.

Og det er mer...

I tillegg til dette har en rekke funksjoner blitt lagt til for å øke hastigheten på skjemaoperasjoner (for eksempel øyeblikkelig ADD COLUMN) og andre optimaliseringer og kompatibilitetsfunksjoner. ADD COLUMN-funksjonen er et annet eksempel fra MariaDBs utviklingsteam med kunder og partnere, inkludert Alibaba, Tencent og ServiceNow, og det er bare begynnelsen på å gjøre tunge DDL-operasjoner mer brukbare.