Utgivan av dokumentorienterad databas MongoDB 5.0 som intar en nisch mellan snabba och skalbara system som hanterar data i nyckel/vÀrde-format och relationella databaser som Àr funktionella och anvÀndarvÀnliga för frÄgaformulering. Koden för MongoDB Àr skriven i C++ och distribueras under SSPL-licensen, som bygger pÄ AGPLv3-licensen, men Àr inte öppen, eftersom den innehÄller diskriminerande krav pÄ att leverera under SSPL-licens inte bara applikationens kod utan Àven kÀllkoden för alla komponenter som Àr involverade i tillhandahÄllandet av molntjÀnsten.
MongoDB stöder lagring av dokument i JSON-liknande format, har ett tillrÀckligt flexibelt sprÄk för att formulera frÄgor, kan skapa index för olika lagrade attribut, effektivt lagra stora binÀra objekt, stöder loggning av operationer för att Àndra och lÀgga till data i databasen, kan arbeta enligt Map/Reduce-paradigmen, stöder replikering och uppbyggnad av hög tillgÀngliga konfigurationer.
MongoDB har inbyggda medel för att sÀkerstÀlla segmentering (fördelning av dataset över servrar baserat pÄ ett visst nyckel), i kombination med replikering möjliggörs skapandet av en horisontellt skalbar lagringskluster, dÀr det inte finns nÄgon enskild felpunkt (ett fel pÄ vilken nod som helst pÄverkar inte databasen), automatiserad ÄterhÀmtning frÄn fel och lastbalansering frÄn den noder som har havererat. Utvidgning av klustret eller omvandling av en servern till ett kluster sker utan att stoppa databasen genom att helt enkelt lÀgga till nya maskiner.
Nyhetsfunktioner:
- Kollektiv för tidsseriedata (time series collections) har lagts till och Àr optimerade för att lagra avsnitt av vÀrdena av parametrar som registreras under vissa tidsintervall (tid och uppsÀttning av motsvarande vÀrden för den tiden). Behovet av att lagra sÄdana data uppstÄr i övervakningssystem, finansiella plattformar, och system för sensordatafrÄgor. Arbetet med tidsseriedata sker som med vanliga dokumentkollektioner, men index och lagringsmetod för dem Àr optimerade för tidsbindning, vilket möjliggör en betydande minskning av diskens utrymmesförbrukning, minskade förseningar vid frÄgeexekvering och realtidsanalys av data.
MongoDB betraktar sÄdana kollektioner som skrivbara, omaterialiserade vyer, skapade pÄ grundval av interna kollektioner och som automatiskt grupperar tidsseriedata i ett optimerat lagringsformat vid insÀttning. Varje tidsbundet post tolkas vid förfrÄgan som ett separat dokument. Data sorteras och indexeras automatiskt efter tid (det finns inget behov av att uttryckligen skapa tidsindex).
- Stöd för fönsterfunktioner (analytiska funktioner) har lagts till, vilket gör det möjligt att utföra ÄtgÀrder med en viss uppsÀttning dokument i en samling. Till skillnad frÄn aggregatfunktioner komprimerar inte fönsterfunktioner den grupperade uppsÀttningen, utan utför aggregering baserat pÄ innehÄllet i "fönstret", som inkluderar ett eller flera dokument frÄn resultatuppsÀttningen. En ny fas, $setWindowFields, har föreslagits för att manipulera en delmÀngd av dokument, dÀr man till exempel kan bestÀmma skillnader mellan tvÄ dokument i en samling, berÀkna försÀljningsbetyg och analysera information i komplexa tidsserier.
- Stöd för API-versionering har lagts till, vilket möjliggör att koppla en applikation till ett visst tillstÄnd av API:t och utesluta risker relaterade till eventuell brytning av bakÄtkompatibilitet vid övergÄng till nya versioner av databashanteringssystemet. API-versionering separerar applikationens livscykel frÄn databashanteringssystemets livscykel och gör det möjligt för utvecklare att göra Àndringar i applikationen nÀr behovet av att anvÀnda nya funktioner uppstÄr, snarare Àn nÀr man övergÄr till en ny version av databashanteringssystemet.
- Stöd för mekanismen Live Resharding har lagts till, vilket gör det möjligt att pÄ flygande fot Àndra de anvÀnda segmenteringsnycklarna (shard key) utan att stoppa databashanteringssystemet.
- Möjligheterna för fÀltkryptering pÄ klientsidan (Client-Side Field Level Encryption) har utvidgats. Nu finns det möjlighet att omkonfigurera revisionsfilter och rotera x509-certifikat utan att stoppa databashanteringssystemets arbete. Stöd för konfiguration av cipher suite för TLS 1.3 har ocksÄ lagts till.
- En ny kommandoradsgrÀnssnitt för MongoDB Shell (mongosh) har föreslagits, som utvecklas som ett separat projekt, skrivet i JavaScript med hjÀlp av plattformen Node.js och distribueras under Apache 2.0-licensen. MongoDB Shell ger möjlighet att ansluta till databashanteringssystemet, Àndra instÀllningar och skicka frÄgor. Smart automatisk komplettering av inmatning av metoder, kommandon och MQL-uttryck stöds, syntaxmarkering, kontextuell hjÀlp, felmeddelandeanalys och möjlighet att utvidga funktionaliteten genom tillÀgg. Det gamla CLI-grÀnssnittet "mongo" har förklarats som förÄldrat och kommer att tas bort i en framtida utgÄva.

- Nya operatörer har lagts till: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate och $rand.
- Indexering Àr aktiverad vid anvÀndning av operatorerna $eq, $lt, $lte, $gt och $gte inom uttrycket $expr.
- I kommandona aggregate, find, findAndModify, update, delete och metoderna db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() och db.collection.remove() har stöd för alternativet "let" implementerats för att definiera en lista över variabler, vilket gör kommandona mer lÀsbara genom att separera variabler frÄn frÄgetexten.
- Operationer som find, count, distinct, aggregate, mapReduce, listCollections och listIndexes blockeras inte lÀngre om en operation körs parallellt som sÀtter ett exklusivt lÄs pÄ dokumentkollektionen.
- Som en del av initiativet för att bli av med opolitiska termer har teamet isMaster och metoden db.isMaster() döpts om till hello och db.hello().
- Versionsnumreringen har Àndrats och en förutsÀgbar tidsplan för release har införts. Stora versioner (5.0, 6.0, 7.0) kommer att slÀppas en gÄng om Äret, och mellanversioner med nya funktioner (5.1, 5.2, 5.3) kommer att slÀppas vart tredje mÄnad, samt korrigerande uppdateringar med buggfixar och sÀkerhetsÄtgÀrder (5.1.1, 5.1.2, 5.1.3) vid behov. Funktionalitet för nÀsta stora version kommer att utvecklas i mellanversionerna, det vill sÀga nya funktioner för MongoDB 6.0 kommer att skapas i MongoDB 5.1, 5.2 och 5.3.
KĂ€lla: opennet.ru

