sql >> Database >  >> RDS >> MariaDB

Snellere innovatie leveren aan de gemeenschap van MariaDB

Vandaag hebben we een nieuw releasemodel voor MariaDB Community Server aangekondigd dat het tempo verhoogt van nieuwe functies die we kunnen leveren aan de miljoenen MariaDB-gebruikers over de hele wereld. We zijn verheugd om dit nieuwe model onmiddellijk uit te rollen, te beginnen met MariaDB Community Server 10.7, die een maand geleden de RC-status bereikte en verschillende belangrijke nieuwe functies bevat. Volgende week krijgen communityleden ook een voorproefje van de functies van MariaDB Community Server 10.8, en in het nieuwe jaar wordt een RC-release verwacht. We hopen dat het snellere tempo van de levering van functies de community in staat stelt onmiddellijk te profiteren van de nieuwste, geavanceerde databasetrends zonder jaren te hoeven wachten tussen nieuwe releaseseries.

Naast het ontwikkelen van MariaDB Enterprise en MariaDB SkySQL voor klanten die bedrijfskritieke werklastvereisten hebben, ontwikkelt MariaDB Corporation ongeveer 95% van de code voor MariaDB Community Server, terwijl de rest afkomstig is van bijdragen van de gemeenschap. We werken nauw samen met MariaDB Foundation, die helpt bij het distribueren van de software naar Linux-distributies en communitygebruikers, waardoor MariaDB toegankelijk wordt voor ongeveer tientallen miljoenen Linux-gebruikers over de hele wereld. Op dit moment heeft MariaDB MySQL vervangen als de standaard in bijna alle grote distributies, waaronder Debian, Red Hat Enterprise Linux, SUSE Enterprise Linux, openSUSE, Fedora en meer.

Hoe we MariaDB-software ontwikkelen

Bij softwareontwikkeling en releasebeheer zijn er meestal drie afstembare variabelen waarmee u kunt spelen, functieset, releasedatum en kwaliteit. Deze variabelen hebben met elkaar verweven afhankelijkheden, zodat u doorgaans 2 strikt kunt instellen, maar de derde kan niet worden ingesteld. Als u bijvoorbeeld de releasedatum en functieset instelt, zal de kwaliteit eronder lijden, als u een strikte kwaliteitseis en functieset heeft, is de releasedatum onbekend enz. Bij MariaDB hebben we soms verschillende combinaties hiervan geprobeerd met een gevarieerd mate van succes. Met dit nieuwe releasemodel hebben we een proces aangenomen dat functies snel beschikbaar maakt met behoud van een hoog kwaliteitsniveau.

In de begindagen van MariaDB volgden we een enigszins ongedefinieerd pad voor het opzetten van nieuwe release-series. We zouden een lijst opstellen met vlaggenschipfuncties die we wilden ontwikkelen, maar omdat we strikte kwaliteitseisen hadden en omdat deze functiesets groot waren, zou het jaren duren om een ​​nieuwe releasereeks te leveren. We realiseerden ons al snel dat met de toename van cloudadoptie om snellere en flexibelere ontwikkeling te bereiken, dit model niet zou werken omdat het veel te lang duurde om nieuwe functies te leveren. We moesten wendbaarder zijn om het tempo van de rest van de softwarewereld aan te kunnen.

Beginnend met MariaDB Community Server 10.3 in 2017, zijn we overgestapt op een op tijd gebaseerd releasemodel, waarbij we ernaar streefden om elk jaar op hetzelfde tijdstip een nieuwe releaseserie te leveren. Dit heeft ons doel bereikt om nieuwe release-series sneller uit te brengen, maar er waren ook enkele grote onbedoelde gevolgen. Als functies de deadline voor opname niet haalden, zou de functie een heel jaar later naar de volgende release-serie worden gepusht. In veel gevallen was een functie "bijna klaar" voor de deadline, maar nog niet helemaal klaar. Dit liet ons de volgende keuzes:1) de functie een heel jaar uitstellen, 2) de release uitstellen, of 3) de kwaliteit in gevaar brengen. Het waren geen van allen keuzes die we wilden maken.

Zo bevatte MariaDB Community Server 10.5 een aantal nieuwe JSON-functies. Een belangrijke functie, de JSON-tabel, miste onze jaarlijkse, op tijd gebaseerde release-deadline met een haartje, zodat het uiteindelijk twee jaar duurde voordat de functie werd vrijgegeven, wat ons in principe terugbracht bij dezelfde problemen die we tegenkwamen met ons eerdere releasemodel - het duurde veel te lang om nieuwe functies te leveren.

Onder het nieuwe model dat vandaag is aangekondigd, betekent het missen van een release-deadline ons slechts een paar maanden, geen heel extra jaar, en met de strakke schema's zullen we nooit concessies doen aan de data of kwaliteit.

Overschakelen naar een sneller innovatietempo

Met het nieuwe model volgen we een strikt "op treinen gebaseerd ontwikkelingsmodel" zonder uitzonderingen. De functiesets voor elke release-serie zijn kleiner, waardoor QA grondig kan zijn en we denken dat dit ook de stabiliteit van elke release-serie zal vergroten. Voor elke release-serie hebben we een deadline waarbinnen de functie moet worden goedgekeurd door QA om in de release te worden opgenomen. Als dat niet gebeurt, wordt de functie verplaatst naar de volgende releasereeks die drie maanden later plaatsvindt. De functie krijgt nog drie maanden om het vereiste stabiliteitsniveau te bereiken. Hierdoor kunnen we met het nieuwe releasemodel functies in een veel sneller tempo beschikbaar stellen zonder concessies te doen aan de kwaliteit. Wij geloven dat dit een win-win is voor iedereen!

Omdat er elk kwartaal nieuwe releaseseries verschijnen, zullen we elke releaseserie een jaar na de GA-release onderhouden (leveren bugfixes en beveiligingspatches). Als je MariaDB Community Server gebruikt en onderhoud op langere termijn nodig hebt, neem dan contact met ons op om te upgraden naar een versie met langere onderhoudsvensters en databaseondersteuning.

Linux-distributies

Als je MariaDB Community Server via een Linux-distributie krijgt, kun je verwachten dat de meegeleverde versie van MariaDB voor een langere periode wordt onderhouden. We werken nauw samen met al onze distributiepartners om een ​​speciale versie te leveren die het beste werkt voor elk distributiemodel.

Samenvattend zal het nieuwe releasemodel van de communityserver het volgende bieden:

  • Nieuwe functies vaker
  • Meer innovatie
  • Hogere algehele kwaliteit
  • Minder stress voor ontwikkelaars

Maak contact met ons op Slack!

Met het nieuwe releasemodel krijgen we een sneller innovatietempo in combinatie met releases van veel hogere kwaliteit. Dit is een groot voordeel voor alle gebruikers van MariaDB die er zijn. Als u contact met ons wilt opnemen, wordt u lid van onze nieuw gelanceerde MariaDB-community-slape om rechtstreeks feedback met ons te delen.


  1. Werken met SQL-cursors

  2. Docker gebruiken op Azure Container Service met Swarm Cluster

  3. SQL Server-prestatieadvies van Brent Ozar en Pinal Dave

  4. Hoe te testen of een string JSON is of niet?