Publicado MongoDB 5.0 con soporte nativo Time Series

El 13 de julio de 2021 se publicó la major release v5.0 de MongoDB,, Esta versión llega después de Mongo 4.4 y lo hace con el objetivo de la empresa de ofrecer nuevas características con más rapidez, de modo que a partir de Mongo 5.0 se publicarán releases cada trimestre, y una mayor release cada año.

MongoDB 5.0 ya está disponible a través de Mongo Atlas, proveedores de nubes públicas y como solución de código abierto, con paquetes oficiales para Amazon Linux, Debian, RedHat, SUSE, Ubuntu y Windows, así como una imagen Docker para entornos en contenedores.

Esta versión tiene novedades muy interesantes pero sin duda si hubiese que destacar una sería la de soporte nativo a datos Time Series. Veamos algunas de estas novedades:

Soporte nativo modelado Time Series

Algunos ya estábamos usando Mongo para modelar datos TimeSeries y se podían hacer cosas muy chulas, pero sin duda que el soporte nativo TimeSeries hace de Mongo una base de datos aún más todo-terreno (siempre digo que Mongo probablemente no sea la mejor base de datos en nada pero que en términos de versatilidad es difícil encontrar algo mejor).

Los datos Time Series son muy útiles en ámbitos IoT donde estamos recibiendo información de sensores en diferentes momento del tiempo.

Las nuevas colecciones de series temporales proporcionan un almacén de datos especial optimizado para datos con estas características. Los valores se compactarán cuando se persistan en el disco, proporcionando una mejor indexación, un uso más eficiente del almacenamiento y una menor carga del servidor.

Se puede establecer la granularidad de los datos de tiempo en segundos, minutos u horas. También es configurable que los datos caduquen automáticamente después de un tiempo:

En el ejemplo estamos definiendo una colección de series temporales llamada measurements, su granularidad se establece en minutos y los documentos de la colección se borrarán automáticamente después de una hora.

Además de esto, MongoDB 5.0 proporciona soporte integrado para consultar y manipular datos de series temporales.

Por ejemplo, con el código de arriba estamos obteniendo la media que vendrá:

Un tema importante a tener en cuenta con las limitaciones actuales en el soporte Time Series, donde lo más destacable es que las colecciones TimeSeries sólo permite inserciones, no permitiendo en la abstracción updates o deletes (aunque es posible hacerlo en la colección base y no en la abstracción Time Series), además los índices secundarios sólo pueden ser creados sobre los campos metaField o timeField

Más información sobre el soporte Time Series de Mongo.

Soporte Serverless

Ora funcionalidad muy interesantes es el soporte Serverless en la instancia SaaS de Mongo (Mongo Atlas), aunque está aún en beta, esto nos permitirá el aprovisionamiento automático de recursos en Mongo en función de la carga de trabajo actual, permitiendo adaptarse a las demandas sin tener que escalar manualmente.

Nueva Mongo Shell GA

El nuevo MongoDB Shell ha sido rediseñado desde cero para proporcionar una experiencia moderna de línea de comandos, con usabilidad mejorada y un potente entorno de scripting.

Mongo Shell es open-source y podéis descargarla desde aquí:

Más info.

Resharding online

Uno de los mayores retos del escalado horizontal de MongoDB ha sido su enfoque Sharding. La elección de la clave de Sharding correcta es fundamental para el rendimiento del clúster, pero anteriormente era una operación unidireccional. Una vez que se establecía la clave, no se podía cambiar. MongoDB 5.0 por fin pone fin a las pesadillas de las claves de los shards, si te equivocas, puedes volver a indexar tus colecciones utilizando una nueva clave de sharding. MongoDB se encargará de toda la migración por ti, sin causar ningún tiempo de inactividad de la base de datos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s