Dokumentorienterad DBMS MongoDB 5.0 tillgänglig

Releasen av det dokumentorienterade DBMS MongoDB 5.0 presenteras, som upptar en nisch mellan snabba och skalbara system som driver data i nyckel-/värdeformat, och relationella DBMS:er som är funktionella och lätta att skapa frågor. MongoDB-koden är skriven i C++ och distribueras under SSPL-licensen, som är baserad på AGPLv3-licensen, men är inte öppen, eftersom den innehåller ett diskriminerande krav att leverera under SSPL-licensen inte bara själva applikationskoden utan även källkoden kod för alla komponenter som är involverade i tillhandahållandet av molntjänsten.

MongoDB stöder lagring av dokument i ett JSON-liknande format, har ett ganska flexibelt språk för att generera frågor, kan skapa index för olika lagrade attribut, tillhandahåller effektivt lagring av stora binära objekt, stöder loggning av operationer för att ändra och lägga till data till databasen, kan arbeta i enlighet med paradigmet Map/Reduce, stödjer replikering och bygger feltoleranta konfigurationer.

MongoDB har inbyggda skärningsverktyg (distribuerar en datamängd över servrar baserat på en specifik nyckel), i kombination med replikering, vilket gör att du kan bygga ett horisontellt skalbart lagringskluster som inte har en enda felpunkt (fel i någon nod gör det inte påverkar driften av databasen), automatisk failover och lastöverföring från en misslyckad nod. Att expandera ett kluster eller konvertera en server till ett kluster görs utan att stoppa databasen genom att helt enkelt lägga till nya maskiner.

Funktioner i den nya utgåvan:

  • Lade till samlingar för data i form av en tidsserie (tidsseriesamlingar), optimerade för att lagra skivor av parametervärden som registrerats vid vissa intervall (tid och en uppsättning värden som motsvarar denna tid). Behovet av att lagra sådan data uppstår i övervakningssystem, finansiella plattformar och system för polling av sensortillstånd. Arbetet med tidsseriedata utförs som med vanliga dokumentsamlingar, men indexen och lagringsmetoden för dem är optimerade med hänsyn till tidsreferensen, vilket avsevärt kan minska diskutrymmesförbrukningen, minska förseningar i exekvering av frågor och möjliggöra realtidsdata analys.

    MongoDB behandlar sådana samlingar som skrivbara, icke-materialiserade vyer byggda på interna samlingar som, när de infogas, automatiskt grupperar tidsseriedata till ett optimerat lagringsformat. I det här fallet behandlas varje tidsbaserad post som ett separat dokument när det efterfrågas. Data ordnas och indexeras automatiskt efter tid (inget behov av att uttryckligen skapa tidsindex).

  • Tillagt stöd för fönsteroperatorer (analytiska funktioner) som låter dig utföra åtgärder med en specifik uppsättning dokument i samlingen. Till skillnad från aggregerade funktioner, komprimerar inte fönsterfunktioner den grupperade uppsättningen, utan sammanställer snarare baserat på innehållet i ett "fönster" som innehåller ett eller flera dokument från resultatuppsättningen. För att manipulera en delmängd av dokument föreslås ett nytt $setWindowFields-steg, med vilket du till exempel kan bestämma skillnaderna mellan två dokument i en samling, beräkna försäljningsrankningar och analysera information i komplexa tidsserier.
  • Lagt till stöd för API-versionering, vilket gör att du kan binda en applikation till ett specifikt API-tillstånd och eliminera riskerna förknippade med en möjlig kränkning av bakåtkompatibilitet vid migrering till nya DBMS-versioner. API-versionering skiljer applikationens livscykel från DBMS-livscykeln och tillåter utvecklare att göra ändringar i applikationen när det finns ett behov av att använda nya funktioner, och inte när de migrerar till en ny version av DBMS.
  • Lagt till stöd för Live Resharding-mekanismen, som gör att du kan ändra shard-nycklarna som används för segmentering i farten utan att stoppa DBMS.
  • Möjligheterna att kryptera fält på klientsidan har utökats (Client-Side Field Level Encryption). Det är nu möjligt att omkonfigurera granskningsfilter och rotera x509-certifikat utan att stoppa DBMS. Lade till stöd för att konfigurera chiffersviten för TLS 1.3.
  • Ett nytt kommandoradsskal, MongoDB Shell (mongosh), föreslås, som utvecklas som ett separat projekt, skrivet i JavaScript med hjälp av Node.js-plattformen och distribuerat under Apache 2.0-licensen. MongoDB Shell gör det möjligt att ansluta till DBMS, ändra inställningar och skicka frågor. Stöder smart autokomplettering för inmatning av metoder, kommandon och MQL-uttryck, syntaxmarkering, kontextuell hjälp, analys av felmeddelanden och möjligheten att utöka funktionaliteten genom tillägg. Det gamla "mongo" CLI-omslaget har fasats ut och kommer att tas bort i en framtida utgåva.
    Dokumentorienterad DBMS MongoDB 5.0 tillgänglig
  • Nya operatorer har lagts till: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate och $rand.
  • Säkerställer att index används när operatorerna $eq, $lt, $lte, $gt och $gte används i uttrycket $expr.
  • Kommandona aggregera, hitta, findAndModify, uppdatera, ta bort och metoderna db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() och db.collection.remove() stöder nu "let" ” alternativet för att definiera en lista med variabler som gör kommandon mer läsbara genom att separera variabler från begärandekroppen.
  • Hitta, räkna, distinkt, aggregera, mapReduce, listCollections och listIndex-operationer blockeras inte längre om en operation som tar ett exklusivt lås på en dokumentsamling körs parallellt.
  • Som en del av ett initiativ för att ta bort politiskt inkorrekta termer har kommandot isMaster och db.isMaster()-metoden döpts om till hello och db.hello().
  • Releasenumreringsschemat har ändrats och en övergång har gjorts till ett förutsägbart releaseschema. En gång om året kommer det att finnas en betydande release (5.0, 6.0, 7.0), var tredje månad mellanreleaser med nya funktioner (5.1, 5.2, 5.3) och, vid behov, korrigerande uppdateringar med buggfixar och sårbarheter (5.1.1, 5.1.2) .5.1.3, 5.1). Interimsreleaser kommer att bygga funktionalitet för nästa stora release, d.v.s. MongoDB 5.2, 5.3 och 6.0 kommer att tillhandahålla nya funktioner för lanseringen av MongoDB XNUMX.

Källa: opennet.ru

Lägg en kommentar