La nueva versión de MongoDB 5.0 ya fue liberada y en esta nueva versión se presentan algunas novedades bastante interesantes de las cuales podemos destacar las colecciones de datos en forma de series de tiempo, asi como tambien el soporte para el control de versiones de la API, soporte para el mecanismo Live Resharding, entre otros.
Para quienes desconocen de MongoDB, deben saber que esta DB admite el almacenamiento de documentos en un formato similar a JSON, tiene un lenguaje bastante flexible para generar consultas, puede crear índices para varios atributos almacenados, proporciona de manera efectiva almacenamiento de grandes objetos binarios, admite operaciones de registro para cambiar y agregar datos a la base de datos, puede funcionar de acuerdo con el paradigma Map/Reduce, admite la replicación y la construcción de configuraciones tolerantes a fallas.
Principales novedades de MongoDB 5.0
En esta nueva versión podemos encontrar que se ha cambiado el esquema de numeración de problemas y se ha realizado la transición a un programa de generación de versiones predecible. Una vez al año, se formará una versión significativa (5.0, 6.0, 7.0), una vez cada tres meses, versiones provisionales con nuevas características (5.1, 5.2, 5.3) y, según sea necesario, actualizaciones correctivas con corrección de errores y vulnerabilidades (5.1. 1, 5.1.2, 5.1.3).
Las versiones provisionales crearán funcionalidad para la próxima versión principal, es decir, MongoDB 5.1, 5.2 y 5.3 agregarán nuevas funciones para la versión de MongoDB 6.0.
En cuanto a las novedades que se presentan en esta nueva versión de MongoDB 5.0 podemos encontrar que se añadió el soporte para el control de versiones de la API, que permite vincular una aplicación a un estado específico de la API y eliminar los riesgos asociados con una posible violación de la compatibilidad con versiones anteriores al pasar a nuevas versiones del DBMS. El control de versiones de API separa el ciclo de vida de la aplicación del ciclo de vida de la base de datos y permite a los desarrolladores realizar cambios en la aplicación cuando surge la necesidad de aprovechar las nuevas capacidades, en lugar de cuando se realiza una transición a una nueva versión de la base de datos.
Otra novedad importante son las colecciones de datos en forma de series de tiempo las cuales ya están optimizadas para almacenar porciones de valores de parámetros registrados en ciertos intervalos de tiempo (tiempo y un conjunto de valores correspondientes a este tiempo). MongoDB trata estas colecciones como vistas inmaterializadas y grabables creadas a partir de colecciones internas y agrupa automáticamente los datos de series de tiempo en un formato de almacenamiento optimizado cuando se insertan.
Tambien se destaca que se agregó soporte para el mecanismo Live Resharding, que le permite cambiar las claves de fragmentación utilizadas para fragmentar sobre la marcha sin detener el DBMS.
Asi como soporte para funciones analíticas que permiten realizar acciones con un conjunto específico de documentos en una colección. A diferencia de las funciones agregadas, las funciones de ventana no contraen un conjunto agrupado, sino que se agregan en función del contenido de una «ventana» que incluye uno o más documentos del conjunto de resultados.
Además, se han ampliado las posibilidades de cifrado de campos en el lado del cliente, pues ahora se puede reconfigurar los filtros de auditoría y la rotación de certificados x509 sin detener el DBMS. Se agregó soporte para configurar el conjunto de cifrado para TLS 1.3.
Por otra parte, tambien se destaca en el anuncio de esta nueva versión que se ha propuesto un nuevo shell de línea de comandos MongoDB Shell (mongosh), que se está desarrollando como un proyecto separado, escrito en JavaScript utilizando la plataforma Node.js y distribuido bajo la licencia Apache 2.0.
MongoDB Shell permite conectarse a un DBMS, cambiar la configuración y enviar consultas. Admite el autocompletado inteligente para la entrada de métodos, comandos y expresiones MQL, resaltado de sintaxis, sugerencias de contexto, mensajes de error de análisis y la capacidad de expandir la funcionalidad a través de complementos
De los demás cambios que se presentan:
- Find, count, different, aggregate, mapReduce, listCollections y listIndexes ya no se bloquean si se ejecuta una operación al mismo tiempo que adquiere un bloqueo exclusivo en una colección de documentos.
- Como parte de una iniciativa para eliminar términos políticamente incorrectos, el comando isMaster y el método db.isMaster () han sido renombrados a hello y db.hello ().
- La antigua CLI «mongo» ha quedado obsoleta y se eliminará en una versión futura.
Finalmente si estás interesado en conocer más al respecto, puedes consultar los detalles en el siguiente enlace.