sql >> Databasteknik >  >> RDS >> MariaDB

Leverera snabbare innovation till MariaDB:s community

Idag tillkännagav vi en ny releasemodell för MariaDB Community Server som ökar takten för nya funktioner som vi kan leverera till miljontals MariaDB-användare runt om i världen. Vi är glada över att börja rulla ut den här nya modellen omedelbart, med början med MariaDB Community Server 10.7, som nådde RC-status för en månad sedan och innehåller flera viktiga nya funktioner. Senast nästa vecka kommer communitymedlemmar också att få en tjuvtitt på funktioner för MariaDB Community Server 10.8, och en RC-utgåva väntas under det nya året. Vår förhoppning är att den snabbare leveranstakten av funktioner låter communityn dra nytta av de senaste, banbrytande databastrenderna omedelbart utan att behöva vänta flera år mellan nya releaseserier.

Förutom att utveckla MariaDB Enterprise och MariaDB SkySQL för kunder som har verksamhetskritiska arbetsbelastningskrav, utvecklar MariaDB Corporation cirka 95 % av koden för MariaDB Community Server, medan resten kommer från communitybidrag. Vi arbetar nära MariaDB Foundation som hjälper till att distribuera programvaran till Linux-distributioner och community-användare, vilket gör MariaDB tillgängligt för ungefär tiotals miljoner Linux-användare runt om i världen. Vid det här laget har MariaDB ersatt MySQL som standard i nästan alla större distributioner, inklusive Debian, Red Hat Enterprise Linux, SUSE Enterprise Linux, openSUSE, Fedora och mer.

Hur vi utvecklar programvaran MariaDB

Inom mjukvaruutveckling och releasehantering finns det vanligtvis tre inställbara variabler som du kan spela med, funktionsuppsättning, releasedatum och kvalitet. Dessa variabler har sammanflätade beroenden så att du vanligtvis kan ställa in 2 strikt men sedan kan den tredje inte ställas in. Om du till exempel ställer in releasedatum och funktionsuppsättning så kommer kvaliteten att bli lidande, om du har ett strikt kvalitetskrav och funktionsuppsättning så kommer releasedatumet att vara okänt etc. På MariaDB har vi tidvis provat olika kombinationer av dessa med en varierad grad av framgång. Med den här nya releasemodellen har vi antagit en process som snabbt får ut funktioner samtidigt som vi bibehåller en hög kvalitetsnivå.

I MariaDB:s tidiga dagar följde vi en något odefinierad väg för att etablera nya releaseserier. Vi skulle fastställa en lista över flaggskeppsfunktioner som vi ville utveckla men eftersom vi hade strikta kvalitetskrav och eftersom dessa funktioner var stora, skulle det ta år att leverera en ny releaseserie. Vi insåg snart att med den ökade användningen av moln för att uppnå snabbare och mer agil utveckling, skulle den här modellen inte fungera eftersom det tog alldeles för lång tid att leverera nya funktioner. Vi behövde vara smidigare för att matcha takten i resten av mjukvaruvärlden.

Från och med MariaDB Community Server 10.3 2017 bytte vi till en tidsbaserad releasemodell, där vi siktade på att leverera en ny releaseserie vid samma tidpunkt varje år. Detta uppnådde vårt mål att få ut nya releaseserier snabbare, men det fick också några stora oavsiktliga konsekvenser. Om funktioner inte nådde deadline för att inkluderas, skulle funktionen flyttas till nästa releaseserie ett helt år senare. I många fall var en funktion "nästan klar" vid deadline men inte riktigt klar. Detta lämnade oss med följande val:1) skjuta upp funktionen ett helt år, 2) fördröja releasen eller 3) kompromissa med kvaliteten. Inget av dem var val vi ville göra.

Till exempel inkluderade MariaDB Community Server 10.5 ett antal nya JSON-funktioner. En viktig funktion, JSON-tabellen missade vår årliga tidsbaserade release-deadline med ett hårstrå, så den funktionen tog två år att släppas, vilket i princip ledde oss tillbaka till samma problem som vi stötte på med vår tidigare releasemodell – den tog alldeles för lång tid att leverera nya funktioner.

Enligt den nya modellen som tillkännagavs idag, kommer vi att missa en deadline för släpp bara sätta oss tillbaka med några månader, inte ett helt extra år och med de snäva scheman kommer vi aldrig att kompromissa med datum eller kvalitet.

Övergång till en snabbare innovationstakt

Med den nya modellen följer vi en strikt "tågbaserad utvecklingsmodell" utan undantag. Funktionsuppsättningarna för varje releaseserie är mindre, vilket gör att QA är grundlig och vi tror att detta också kommer att öka stabiliteten för varje releaseserie. För varje releaseserie har vi en deadline inom vilken funktionen måste godkännas av QA för att kunna inkluderas i releasen. Om det inte händer kommer funktionen att flyttas till nästa releaseserie som sker tre månader senare. Funktionen kommer att få tre månader till för att nå den nödvändiga stabilitetsnivån. Med detta tillåter den nya releasemodellen oss att få ut funktioner i en mycket snabbare takt utan att behöva kompromissa med kvaliteten. Vi tror att detta är en win-win för alla!

Med nya releaseserier som kommer ut kvartalsvis kommer vi att underhålla (leverera buggfixar och säkerhetskorrigeringar) varje releaseserie i ett år efter GA-släppet. Om du kör MariaDB Community Server och behöver långsiktigt underhåll, kontakta oss för att uppgradera till en version som inkluderar längre underhållsfönster och databasstöd.

Linux-distributioner

Om du får MariaDB Community Server via en Linux-distribution kan du förvänta dig att versionen av MariaDB som ingår kommer att bibehållas under en längre tid. Vi arbetar nära alla våra distributionspartners för att leverera en specialversion som fungerar bäst för varje distributionsmodell.

Sammanfattningsvis kommer den nya versionsmodellen för communityservern att tillhandahålla:

  • Nya funktioner oftare
  • Mer innovation
  • Högre övergripande kvalitet
  • Mindre stress för utvecklare

Kontakta oss på Slack!

Med den nya releasemodellen kommer vi att få en snabbare innovationstakt kombinerat med releaser av mycket högre kvalitet. Detta är en stor fördel för alla användare av MariaDB där ute. Om du vill komma i kontakt med oss, vänligen gå med i vår nylanserade MariaDB-community slack för att dela feedback med oss ​​direkt.


  1. Använda CONTINUE In Loops för att återuppta kontrollen i Oracle

  2. Hur man undviker tabellmuteringsfel

  3. MySQL ENUM-typ kontra sammanfogningstabeller

  4. Hur man genererar DB-testdata