DBMS orientado a documentos MongoDB 5.0 dispoñible

Preséntase o lanzamento do DBMS MongoDB 5.0 orientado a documentos, que ocupa un nicho entre sistemas rápidos e escalables que operan datos en formato clave/valor, e DBMS relacionais que son funcionais e fáciles de formar consultas. O código MongoDB está escrito en C++ e distribúese baixo a licenza SSPL, que se basea na licenza AGPLv3, pero non está aberta, xa que contén un requisito discriminatorio para entregar baixo a licenza SSPL non só o código da aplicación en si, senón tamén a fonte. código de todos os compoñentes implicados na prestación do servizo na nube.

MongoDB admite o almacenamento de documentos en formato JSON, ten unha linguaxe bastante flexible para xerar consultas, pode crear índices para varios atributos almacenados, ofrece almacenamento de grandes obxectos binarios de forma eficiente, admite o rexistro de operacións para cambiar e engadir datos á base de datos, pode traballar de acordo co paradigma Map/Reduce, admite a replicación e construción de configuracións tolerantes a fallos.

MongoDB ten ferramentas integradas para proporcionar fragmentación (distribuír un conxunto de datos entre servidores en función dunha clave específica), en combinación coa replicación, o que lle permite construír un clúster de almacenamento escalable horizontalmente no que non exista un único punto de falla (o fallo). de calquera nodo non afecta o funcionamento da base de datos), recuperación automática despois dun fallo e transferencia de carga dun nodo fallido. A expansión dun clúster ou a conversión dun servidor nun clúster realízase sen deter a base de datos simplemente engadindo novas máquinas.

Características da nova versión:

  • Engadidas coleccións de datos en forma de serie temporal (coleccións de series temporais), optimizadas para almacenar porcións de valores de parámetros rexistrados a determinados intervalos (tempo e un conxunto de valores correspondentes a este tempo). A necesidade de almacenar tales datos xorde en sistemas de monitorización, plataformas financeiras e sistemas de sondaxes de estados dos sensores. O traballo con datos de series temporais realízase como ocorre coas coleccións de documentos ordinarias, pero os índices e o método de almacenamento para eles están optimizados tendo en conta a referencia de tempo, o que pode reducir significativamente o consumo de espazo en disco, reducir os atrasos na execución de consultas e habilitar datos en tempo real. análise.

    MongoDB trata tales coleccións como vistas escribibles e non materializadas construídas sobre coleccións internas que, cando se insire, agrupan automaticamente os datos de series temporais nun formato de almacenamento optimizado. Neste caso, cada rexistro baseado no tempo trátase como un documento separado cando se solicite. Os datos ordénanse e indízanse automaticamente por tempo (non é necesario crear explícitamente índices de tempo).

  • Engadido soporte para operadores de fiestras (funcións analíticas) que permiten realizar accións cun conxunto específico de documentos da colección. A diferenza das funcións agregadas, as funcións de fiestra non colapsan o conxunto agrupado, senón que se agregan en función do contido dunha "xanela" que inclúe un ou máis documentos do conxunto de resultados. Para manipular un subconxunto de documentos, proponse unha nova etapa $setWindowFields, coa que pode, por exemplo, determinar as diferenzas entre dous documentos nunha colección, calcular clasificacións de vendas e analizar información en series temporais complexas.
  • Engadiuse compatibilidade para o control de versións da API, que permite vincular unha aplicación a un estado específico da API e eliminar os riscos asociados a unha posible violación da compatibilidade con versións anteriores ao migrar a novas versións de DBMS. A versión da API separa o ciclo de vida da aplicación do ciclo de vida do DBMS e permite aos desenvolvedores facer cambios na aplicación cando hai que usar novas funcións, e non cando migran a unha nova versión do DBMS.
  • Engadiuse compatibilidade para o mecanismo Live Resharding, que che permite cambiar as claves de fragmentos que se usan para a segmentación sobre a marcha sen deter o DBMS.
  • Ampliáronse as posibilidades de cifrado de campos no lado do cliente (Cifrado a nivel de campo no lado do cliente). Agora é posible reconfigurar os filtros de auditoría e rotar os certificados x509 sen deter o DBMS. Engadido soporte para configurar a suite de cifrado para TLS 1.3.
  • Proponse un novo shell de liña de comandos, MongoDB Shell (mongosh), que se está a desenvolver como un proxecto separado, escrito en JavaScript usando a plataforma Node.js e distribuído baixo a licenza Apache 2.0. MongoDB Shell fai posible conectarse ao DBMS, cambiar a configuración e enviar consultas. Admite o autocompletado intelixente para introducir métodos, comandos e expresións MQL, resaltado de sintaxe, axuda contextual, análise de mensaxes de erro e a capacidade de ampliar a funcionalidade mediante complementos. O antigo envoltorio CLI "mongo" quedou en desuso e eliminarase nunha versión futura.
    DBMS orientado a documentos MongoDB 5.0 dispoñible
  • Engadíronse novos operadores: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate e $rand.
  • Asegura que se utilicen índices cando se usan os operadores $eq, $lt, $lte, $gt e $gte dentro da expresión $expr.
  • Os comandos aggregate, find, findAndModify, update, delete e os métodos db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() e db.collection.remove() admiten agora os métodos "let ” opción para definir unha lista de variables que fan que os comandos sexan máis lexibles separando as variables do corpo da solicitude.
  • As operacións Find, count, distinct, aggregate, mapReduce, listCollections e listIndexes xa non se bloquean se se executa en paralelo unha operación que leva un bloqueo exclusivo nunha colección de documentos.
  • Como parte dunha iniciativa para eliminar termos politicamente incorrectos, o comando isMaster e o método db.isMaster() foron renomeados hello e db.hello().
  • Cambiouse o esquema de numeración de lanzamentos e fíxose unha transición a un calendario de lanzamentos previsible. Unha vez ao ano haberá unha versión significativa (5.0, 6.0, 7.0), cada tres meses lanzamentos intermedios con novas funcionalidades (5.1, 5.2, 5.3) e, se é necesario, actualizacións correctoras con corrección de erros e vulnerabilidades (5.1.1, 5.1.2). .5.1.3, 5.1). As versións provisionais crearán funcionalidades para a próxima versión principal, é dicir. MongoDB 5.2, 5.3 e 6.0 proporcionarán novas funcións para o lanzamento de MongoDB XNUMX.

Fonte: opennet.ru

Engadir un comentario