DBMS orientat a documents MongoDB 5.0 disponible

Es presenta el llançament del SGBD MongoDB 5.0 orientat a documents, que ocupa un nínxol entre sistemes ràpids i escalables que operen dades en format clau/valor, i SGBD relacionals que són funcionals i fàcils de formar consultes. El codi MongoDB està escrit en C++ i es distribueix sota la llicència SSPL, que es basa en la llicència AGPLv3, però no està oberta, ja que conté un requisit discriminatori per lliurar sota la llicència SSPL no només el codi de l'aplicació, sinó també la font. codi de tots els components implicats en la prestació del servei al núvol.

MongoDB admet l'emmagatzematge de documents en un format semblant a JSON, té un llenguatge bastant flexible per generar consultes, pot crear índexs per a diversos atributs emmagatzemats, proporciona de manera eficient l'emmagatzematge d'objectes binaris grans, admet el registre d'operacions per canviar i afegir dades a la base de dades, pot treballar d'acord amb el paradigma Map/Reduce, admet la replicació i la construcció de configuracions tolerants a errors.

MongoDB té eines integrades per proporcionar fragments (distribuir un conjunt de dades entre servidors basant-se en una clau específica), en combinació amb la replicació, que us permeten crear un clúster d'emmagatzematge escalable horitzontalment en el qual no hi ha un únic punt d'error (la fallada). de cap node no afecta el funcionament de la base de dades), recuperació automàtica després d'una fallada i transferència de càrrega des d'un node fallit. L'ampliació d'un clúster o la conversió d'un servidor en un clúster es fa sense aturar la base de dades simplement afegint noves màquines.

Característiques de la nova versió:

  • S'han afegit col·leccions de dades en forma de sèrie temporal (col·leccions de sèries temporals), optimitzades per emmagatzemar porcions de valors de paràmetres enregistrats a determinats intervals (temps i un conjunt de valors corresponents a aquest temps). La necessitat d'emmagatzemar aquestes dades sorgeix en sistemes de monitorització, plataformes financeres i sistemes per als estats dels sensors de sondeig. El treball amb dades de sèries temporals es porta a terme com amb les col·leccions de documents ordinàries, però els índexs i el mètode d'emmagatzematge d'aquestes s'optimitzen tenint en compte la referència temporal, que pot reduir significativament el consum d'espai en disc, reduir els retards en l'execució de consultes i permetre les dades en temps real. anàlisi.

    MongoDB tracta aquestes col·leccions com a vistes escrivibles i no materialitzades construïdes a partir de col·leccions internes que, quan s'insereixen, agrupen automàticament les dades de sèries temporals en un format d'emmagatzematge optimitzat. En aquest cas, cada registre basat en el temps es tracta com un document independent quan se sol·licita. Les dades s'ordenen i s'indexen automàticament per temps (no cal crear explícitament índexs de temps).

  • S'ha afegit suport per a operadors de finestres (funcions analítiques) que permeten realitzar accions amb un conjunt específic de documents de la col·lecció. A diferència de les funcions agregades, les funcions de finestra no col·lapsen el conjunt agrupat, sinó que s'agreguen en funció del contingut d'una "finestra" que inclou un o més documents del conjunt de resultats. Per manipular un subconjunt de documents, es proposa una nova etapa $setWindowFields, amb la qual podeu, per exemple, determinar les diferències entre dos documents d'una col·lecció, calcular rànquings de vendes i analitzar informació en sèries temporals complexes.
  • S'ha afegit suport per al control de versions de l'API, que us permet vincular una aplicació a un estat de l'API específic i eliminar els riscos associats a una possible violació de la compatibilitat enrere en migrar a noves versions de DBMS. El control de versions de l'API separa el cicle de vida de l'aplicació del cicle de vida del SGBD i permet als desenvolupadors fer canvis a l'aplicació quan cal utilitzar noves funcions, i no quan migren a una versió nova del SGBD.
  • S'ha afegit suport per al mecanisme Live Resharding, que us permet canviar les claus de fragments utilitzades per a la segmentació sobre la marxa sense aturar el SGBD.
  • S'han ampliat les possibilitats de xifrar camps del costat del client (xifratge a nivell de camp del costat del client). Ara és possible reconfigurar els filtres d'auditoria i girar els certificats x509 sense aturar el SGBD. S'ha afegit suport per configurar la suite de xifratge per a TLS 1.3.
  • Es proposa un nou shell de línia d'ordres, MongoDB Shell (mongosh), que s'està desenvolupant com un projecte independent, escrit en JavaScript mitjançant la plataforma Node.js i distribuït sota la llicència Apache 2.0. MongoDB Shell permet connectar-se al SGBD, canviar la configuració i enviar consultes. Admet l'autocompleció intel·ligent per introduir mètodes, ordres i expressions MQL, ressaltat de sintaxi, ajuda contextual, anàlisi de missatges d'error i la possibilitat d'ampliar la funcionalitat mitjançant complements. L'antic embolcall de la CLI "mongo" ha quedat obsolet i s'eliminarà en una versió futura.
    DBMS orientat a documents MongoDB 5.0 disponible
  • S'han afegit nous operadors: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate i $rand.
  • Assegura que s'utilitzen índexs quan s'utilitzen els operadors $eq, $lt, $lte, $gt i $gte dins de l'expressió $expr.
  • Les ordres agregar, find, findAndModify, update, delete i db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() i db.collection.remove() ara admeten els mètodes "let ” opció per definir una llista de variables que fan que les ordres siguin més llegibles separant les variables del cos de la sol·licitud.
  • Les operacions de cercar, comptar, diferenciar, agregar, mapReduce, listCollections i listIndexes ja no es bloquegen si s'executa en paral·lel una operació que pren un bloqueig exclusiu en una col·lecció de documents.
  • Com a part d'una iniciativa per eliminar termes políticament incorrectes, l'ordre isMaster i el mètode db.isMaster() s'han canviat de nom hello i db.hello().
  • S'ha canviat l'esquema de numeració de llançaments i s'ha fet una transició a un programa de llançament previsible. Un cop a l'any hi haurà una versió significativa (5.0, 6.0, 7.0), cada tres mesos versions intermèdies amb noves característiques (5.1, 5.2, 5.3) i, si cal, actualitzacions correctives amb correccions d'errors i vulnerabilitats (5.1.1, 5.1.2). .5.1.3, 5.1). Les versions provisionals crearan funcionalitats per a la propera versió principal, és a dir. MongoDB 5.2, 5.3 i 6.0 proporcionaran noves funcions per al llançament de MongoDB XNUMX.

Font: opennet.ru

Afegeix comentari