Wat is er nieuw in MongoDB 5.0?

MongoDB's nieuwste grote release, v5.0, is gelanceerd op 13 juli 2021. Deze iteratie van de documentgeoriënteerde database voegt nieuwe functies en verbeteringen toe, evenals een herziene releasecadans voor toekomstige versies.

Time Series Data< /h2>

Een van de belangrijkste toevoegingen aan functies is eersteklas ondersteuning voor tijdreeksgegevens. Hoewel sommige ontwikkelaars al hun eigen tijdreekstools rond MongoDB hebben gebouwd, zal het hebben van native beschikbare tijdreeksgegevenstypen veel meer helpen om aan de slag te gaan.

Een “time series” verwijst naar alle soorten gegevens waarbij records opeenvolgend op verschillende tijdstippen worden gemaakt. Veelvoorkomende use-cases zijn sensormeetstromen en transactiegeschiedenislogboeken, waarbij elk record rechtstreeks overeenkomt met een bepaald moment.

Nieuwe tijdreeksverzamelingen bieden een speciaal gegevensarchief dat is geoptimaliseerd voor gegevens met deze kenmerken. Waarden worden gecomprimeerd tot een unieke schemastructuur wanneer ze op schijf worden bewaard, wat een betere indexering, efficiënter opslaggebruik en verminderde serverbelasting oplevert. U kunt de granulariteit van tijdgegevens instellen op seconden, minuten of uren. Het is ook mogelijk om gegevens automatisch te laten verlopen na een bepaald aantal seconden.

db.createCollection (“metingen”, { timeseries: { timeField: “timestamp”, granulariteit: “minutes” }, expireAfterSeconds: 3600 });

Het bovenstaande fragment definieert een tijdreeksverzameling die metingen wordt genoemd. De granulariteit is ingesteld op minuten. Documenten in de collectie worden na een uur automatisch verwijderd.

Advertentie

MongoDB 5.0 biedt ook ingebouwde ondersteuning voor het opvragen en manipuleren van tijdreeksgegevens. U kunt op tijd gebaseerde voortschrijdende gemiddelden extraheren die temporele trends volgen met minimale eigen code.

db.measurements.aggregate([ { $project: { date: { $dateToParts: {date: “$timestamp”} } }, $group: { _id: { time: { hour: “$date.hour”, minuut: “$date.minute” } }, gemiddeldeMeasurement: {$avg: “meting”} } } ]);

Uitgaande van een tijdreeksverzameling met tijdstempel- en meetvelden, zou het bovenstaande aggregatiecommando zoiets als dit opleveren:

{ "_id": { "time": { "hour": 12, "maand": 30}, "averageMeasurement": 1.5 }, "_id": { "time": { " hour": 12, "month": 45 }, "averageMeasurement": 2.7 } }

De records worden gegroepeerd op hun tijdstempel met behulp van een projectie. De meetwaarden van elke groep worden vervolgens gemiddeld in het veld averageMeasurement.

Live Resharding

Een van de grootste uitdagingen bij het horizontaal schalen van MongoDB is de benadering van sharding. Het kiezen van de juiste shardsleutel is essentieel voor de prestaties van uw cluster, maar was voorheen een eenrichtingsbewerking. Als je de sleutel eenmaal had ingesteld, kon je hem niet meer veranderen, waardoor je machteloos stond als je op de eerste dag de verkeerde beslissing nam. MongoDB zelf beschreef shard key selection als een “eenrichtingsparachutesprong” best opgelost door een geheel nieuw cluster te maken.

MongoDB 5.0 maakt eindelijk een einde aan nachtmerries met shardsleutels. Als u het mis heeft, kunt u uw verzamelingen opnieuw indexeren met een nieuwe Shard-sleutel. MongoDB zal de volledige migratie voor u afhandelen, zonder enige downtime van de database te veroorzaken. Dit maakt het veel gemakkelijker om te ontsnappen aan ondermaatse prestaties die worden veroorzaakt door een onjuiste shardconfiguratie.

Versiebeheer en releases

MongoDB 5.0 biedt aanzienlijke toekomstbestendige verbeteringen. De database heeft een API met versiebeheer gekregen waarmee u kunt voorkomen dat wijzigingen worden verbroken terwijl u upgradet naar nieuwe releases.

Advertentie

U kunt updaten naar toekomstige versies zonder de code van uw app te wijzigen. Alles werkt naadloos zolang de nieuwe release de door u beoogde API-versie ondersteunt. Het betekent dat uw applicatie meer losgekoppeld is van de onderliggende databaseversie, zodat u eerder kunt upgraden naar nieuwe MongoDB-versies zonder risico op gebroken code.

Bij deze wijziging hoort een nieuw releaseschema. MongoDB zal toekomstige versies sneller gaan verzenden, met een “Rapid Release” komt elk kwartaal uit. Dit zijn kleine semantische versies zonder ingrijpende wijzigingen, die in een versnelde cyclus nieuwe functies bieden. Elk jaar komt er een nieuwe grote release, die de Rapid Releases oprolt en mogelijk achterwaartse compatibiliteit verbreekt.

Met het nieuwe releasemodel heb je sneller toegang tot nieuwe functies zonder de algehele stabiliteit van MongoDB te beïnvloeden. Als je niet elk kwartaal wilt upgraden, kun je op de major release branch blijven en de jaarlijkse cadans behouden. Snelle releases worden alleen officieel ondersteund in de beheerde Atlas-service van MongoDB. Ze zullen beschikbaar zijn voor zelf-gehoste gebruikers als optionele ontwikkelingsbuilds.

Serverloze MongoDB

MongoDB heeft ook een preview gelanceerd van zijn nieuwe serverloze Atlas-instanties. Atlas is het officiële database-as-a-service-aanbod van het bedrijf voor populaire cloudplatforms.

Met serverloze implementatie krijgt u automatisch de juiste resources voor uw huidige workload. Het platform past zich automatisch aan veranderende eisen aan, zodat u uw infrastructuur niet handmatig hoeft te schalen. U wordt alleen gefactureerd voor wat u gebruikt.

Serverless Atlas wordt beheerd door MongoDB. Het gebruikt de nieuwste versie van de database-release met ondersteuning voor automatische upgrades. Door serverloze instanties te maken, hebt u toegang tot nieuwe MongoDB-clusters zonder ze zelf te configureren. U kiest een cloudprovider, maakt een nieuwe database en maakt verbinding vanuit uw applicatie.

Samenvatting

MongoDB 5.0 breidt de database uit met meer mogelijkheden die de veelzijdigheid vergroten. Het verstevigt ook zijn positie als cloud-native platform dat beschikbaar is in een reeks beheerde oplossingen, nu inclusief serverloze opties.

Advertentie

Naast de veranderingen in de kop, is er een gezonde selectie van ecosysteemverbeteringen en -verbeteringen. Een nieuwe MongoDB Shell vereenvoudigt de interactie van ontwikkelaars met databases door syntax highlighting en autocomplete aan te bieden. Nieuwe SDK's helpen MongoDB ook te integreren met meer programmeertalen en frameworks, waaronder Unity, Flutter en Kotlin.

Op het gebied van beveiliging kunt u met uitgebreide ondersteuning voor Client-Side Field Level Encryption gegevens versleutelen die zich in multi-cloud bevinden databanken. Verbeteringen in de rotatie van certificaten maken x509-swaps mogelijk zonder downtime, waardoor de impact van routinematige verhardingsprocedures wordt verminderd.

MongoDB 5.0 is nu beschikbaar via Atlas, openbare cloudproviders en als een zelf-gehoste open-sourceoplossing. Er zijn officiële pakketten voor Amazon Linux, Debian, RedHat, SUSE, Ubuntu en Windows, evenals een Docker-image voor gecontaineriseerde omgevingen.


Posted

in

by

Tags: