Dokumentorienteret DBMS MongoDB 5.0 tilgængelig

Udgivelsen af ​​det dokumentorienterede DBMS MongoDB 5.0 præsenteres, som indtager en niche mellem hurtige og skalerbare systemer, der driver data i nøgle/værdi-format, og relationelle DBMS'er, der er funktionelle og nemme at danne forespørgsler. MongoDB-koden er skrevet i C++ og distribueret under SSPL-licensen, som er baseret på AGPLv3-licensen, men er ikke åben, da den indeholder et diskriminerende krav om at levere under SSPL-licensen ikke kun selve applikationskoden, men også kilden kode for alle komponenter, der er involveret i leveringen af ​​cloud-tjenesten.

MongoDB understøtter lagring af dokumenter i et JSON-lignende format, har et ret fleksibelt sprog til generering af forespørgsler, kan oprette indekser til forskellige lagrede attributter, giver effektivt lagring af store binære objekter, understøtter logning af operationer for at ændre og tilføje data til databasen, kan arbejde i overensstemmelse med paradigmet Map/Reduce, understøtter replikering og opbygning af fejltolerante konfigurationer.

MongoDB har indbyggede sharding-værktøjer (distribuerer et datasæt på tværs af servere baseret på en specifik nøgle) i kombination med replikering, hvilket giver dig mulighed for at bygge en horisontalt skalerbar lagerklynge, der ikke har et enkelt fejlpunkt (fejl i enhver node gør ikke påvirke driften af ​​databasen), automatisk failover og belastningsoverførsel fra en mislykket node. Udvidelse af en klynge eller konvertering af en server til en klynge sker uden at stoppe databasen ved blot at tilføje nye maskiner.

Funktioner i den nye udgivelse:

  • Tilføjede samlinger til data i form af en tidsserie (tidsseriesamlinger), optimeret til lagring af udsnit af parameterværdier optaget med bestemte intervaller (tid og et sæt værdier svarende til dette tidspunkt). Behovet for at lagre sådanne data opstår i overvågningssystemer, finansielle platforme og systemer til polling af sensortilstande. Arbejdet med tidsseriedata udføres som med almindelige dokumentsamlinger, men indekserne og lagringsmetoden for dem er optimeret under hensyntagen til tidsreferencen, hvilket kan reducere diskpladsforbruget betydeligt, reducere forsinkelser i udførelse af forespørgsler og muliggøre realtidsdata analyse.

    MongoDB behandler sådanne samlinger som skrivbare, ikke-materialiserede visninger bygget på interne samlinger, der, når de indsættes, automatisk grupperer tidsseriedata i et optimeret lagerformat. I dette tilfælde behandles hver tidsbaseret registrering som et separat dokument, når der anmodes om det. Data er automatisk ordnet og indekseret efter tid (ingen grund til eksplicit at oprette tidsindekser).

  • Tilføjet understøttelse af vinduesoperatører (analytiske funktioner), der giver dig mulighed for at udføre handlinger med et specifikt sæt dokumenter i samlingen. I modsætning til aggregerede funktioner, skjuler vinduesfunktioner ikke det grupperede sæt, men samler snarere baseret på indholdet af et "vindue", der inkluderer et eller flere dokumenter fra resultatsættet. For at manipulere et undersæt af dokumenter foreslås et nyt $setWindowFields-stadium, hvormed du for eksempel kan bestemme forskellene mellem to dokumenter i en samling, beregne salgsrangeringer og analysere information i komplekse tidsserier.
  • Tilføjet understøttelse af API-versionering, som giver dig mulighed for at binde en applikation til en specifik API-tilstand og eliminere de risici, der er forbundet med en mulig krænkelse af bagudkompatibilitet ved migrering til nye DBMS-udgivelser. API-versionering adskiller applikationens livscyklus fra DBMS-livscyklussen og giver udviklere mulighed for at foretage ændringer i applikationen, når der er behov for at bruge nye funktioner, og ikke ved migrering til en ny version af DBMS.
  • Tilføjet understøttelse af Live Resharding-mekanismen, som giver dig mulighed for at ændre de shard-nøgler, der bruges til segmentering i farten uden at stoppe DBMS.
  • Mulighederne for at kryptere felter på klientsiden er blevet udvidet (Client-Side Field Level Encryption). Det er nu muligt at omkonfigurere revisionsfiltre og rotere x509-certifikater uden at stoppe DBMS. Tilføjet understøttelse af konfiguration af cipher suite til TLS 1.3.
  • En ny kommandolinjeskal, MongoDB Shell (mongosh), foreslås, som udvikles som et separat projekt, skrevet i JavaScript ved hjælp af Node.js-platformen og distribueret under Apache 2.0-licensen. MongoDB Shell gør det muligt at oprette forbindelse til DBMS, ændre indstillinger og sende forespørgsler. Understøtter smart autofuldførelse til indtastning af metoder, kommandoer og MQL-udtryk, syntaksfremhævning, kontekstuel hjælp, parsing af fejlmeddelelser og muligheden for at udvide funktionaliteten gennem tilføjelser. Den gamle "mongo" CLI-indpakning er blevet forældet og vil blive fjernet i en fremtidig udgivelse.
    Dokumentorienteret DBMS MongoDB 5.0 tilgængelig
  • Nye operatorer er blevet tilføjet: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate og $rand.
  • Sikrer, at indekser bruges, når du bruger operatorerne $eq, $lt, $lte, $gt og $gte i $expr-udtrykket.
  • Aggreger, find, findAndModify, opdatering, slet-kommandoer og db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() og db.collection.remove()-metoderne understøtter nu "let" ” mulighed for at definere en liste over variabler, der gør kommandoer mere læsbare ved at adskille variabler fra anmodningsteksten.
  • Find, tæl, distinkt, aggregér, mapReduce, listCollections og listIndex-operationer blokerer ikke længere, hvis en operation, der tager en eksklusiv lås på en dokumentsamling, kører parallelt.
  • Som en del af et initiativ til at fjerne politisk ukorrekte udtryk er isMaster-kommandoen og db.isMaster()-metoden blevet omdøbt til hello og db.hello().
  • Frigivelsesnummereringsskemaet er blevet ændret, og der er foretaget overgang til en forudsigelig frigivelsesplan. En gang om året vil der være en betydelig udgivelse (5.0, 6.0, 7.0), hver tredje måned mellemudgivelser med nye funktioner (5.1, 5.2, 5.3) og om nødvendigt korrigerende opdateringer med fejlrettelser og sårbarheder (5.1.1, 5.1.2) .5.1.3, 5.1). Midlertidige udgivelser vil bygge funktionalitet til den næste store udgivelse, dvs. MongoDB 5.2, 5.3 og 6.0 vil give nye funktioner til udgivelsen af ​​MongoDB XNUMX.

Kilde: opennet.ru

Tilføj en kommentar