Novedades de MongoDB 3.0

La esperada versión 3.0 de MongoDB se ha liberado oficialmente, junto a la nueva herramienta de gestión “Ops Manager”.

En palabras de Eliot Horowitz, co-fundador y CTO de la compañía, MongoDB 3.0 incluye novedades que van más allá de lo previsto inicialmente para esta versión.

Veamos cuales son las características más destacadas de MongoDB 3.0.
MongoDB30-launch-infographic

API para la creación de motores de almacenamiento

La visión tras esta funcionalidad es permitir la creación de motores de almacenamiento que se ajusten a diferentes casos de uso, para poder utilizar el más adecuado a cada necesidad.

En la nueva versión de MongoDB se ha llevado a cabo un importante cambio en la arquitectura del producto, creando un API que expone la capa de almacenamiento, lo que permitirá tanto a MongoDB como a la comunidad la creación de nuevos motores de almacenamiento que se podrán utilizar en función de las necesidades de casos de uso.

Con la versión 3.0 se incluyen dos motores de almacenamiento soportados:

  • MMAPv1, el motor de almacenamiento utilizado en las versiones anteriores de MongoDB, renovado para esta versión.
  • WiredTiger, el nuevo motor de almacenamiento de cara al futuro que aporta mejor concurrencia y compresión de datos.

También se incluye de manera experimental, un motor de almacenamiento en memoria, que permite usar MongoDB en casos de uso en los que es crítica la mínima latencia de acceso a los datos. Además están en desarrollo motores basados en el motor clave-valor RocksDB, en HDFS y Fusion-io, que podrán estar soportados en el futuro en función de la demanda de los usuarios.

Mejoras en el motor de almacenamiento MMAPv1

MMAPv1 es el motor de almacenamiento utilizado por MongoDB en versiones anteriores, y sigue siendo el motor por defecto en la versión 3.0, pero mejora su rendimiento con el soporte de bloqueo a nivel de colección.

Aunque en el futuro dejará de ser el motor de almacenamiento por defecto, MongoDB seguirá evolucionando y dando soporte a MMAPv1, que seguirá siendo la opción adecuada para determinados casos de uso dentro de la gama de opciones de almacenamiento que veremos ir creciendo.

WiredTiger, el nuevo motor de almacenamiento

WiredTiger es el nuevo motor de almacenamiento para MongoDB. WiredTiger en una tecnología desarrollada por los arquitectos de BerkeleyDB, la base de datos embebida más utilizada del mundo, y que el pasado diciembre pasaron a formar parte del equipo de MongoDB tras la adquisición de la compañía del mismo nombre.

WiredTiger es un motor de almacenamiento moderno diseñado para sacar el máximo rendimiento del hardware multi-core, y minimizar el acceso a disco gracias al uso de un formato de ficheros compacto y de la compresión de datos.

WiredTiger aporta beneficios significativos reduciendo el coste de almacenamiento, y maximizando el uso del hardware.

Para instalaciones existentes, la actualización a WiredTiger no supone parada de servicio para despliegues en replica set, ya que se puede llevar a cabo la actualización de los nodos de un replica set uno a uno, garantizando un tiempo de parada de servicio nulo.

Para facilitar la transición, se ha decidido que por el momento WiredTiger no sea el motor de almacenamiento por defecto, aunque sí lo será previsiblemente en la futura versión 3.2. Para activar WiredTiger se debe iniciar MongoDB usando la opción storageEngine:

mongod —storageEngine wiredtiger

El modelo de concurrencia utilizado en WiredTiger gestiona el bloqueo a nivel de documento, lo que incrementa notablemente el rendimiento de MongoDB, mejorando las cargas de escritura en un rango de 7 a 10 veces.

Además implementa compresión de datos, llegando a reducciones en el uso de almacenamiento que llegan al 80%, reduciendo notablemente los costes.

En resumen, el uso de WiredTiger ayuda a reducir costes, mejorar la utilización del hardware y aumenta el rendimiento a la vez que reduce la latencia en las consultas.

Ops Manager. Disminución de los costes de operación

Con la versión 3.0 de MongoDB se presenta Ops Manager, la nueva herramienta de gestión on-premise, que ayuda a los equipos de operaciones en el despliegue, actualización, copia y recuperación de datos, monitorización y escalado de la base de datos en sus propios centros de datos.

Además de la aplicación web, dispone de un interfaz RESTful para facilitar la integración con herramientas de gestión y monitorización de terceros.

La compañía asegura que para grandes instalaciones Ops Mangager reduce la carga de los equipos de operaciones en un 95%. La gran novedad es la inclusión de las funcionalidades de automatización que ya se encuentran disponibles en MMS, la versión en la nube de las herramientas de gestión de MongoDB.

Otras novedades de interés

  • Los replica set pueden crecer hasta 50 miembros, lo que permitirá reducir la latencia de acceso a los datos al posibilitar una mejor distribución geográfica.
  • Se ha mejorado la funcionalidad del comando _explain_ con un formato de salida mejorado con más información del plan de ejecución de consultas.
  • Se mejora la seguridad de la autenticación de usuarios añadiendo el mecanismo de autenticación SCRAM-SHA-1.
  • Se han mejorado las capacidades de consulta con soporte geo-espacial para “big polygons”, y los operadores _$dateToString_ y _$eq_.
  • Se han ampliado las capacidades de auditoría para incluir todas las operaciones de sistema y datos.
  • Se han mejorado los mensajes de log y ahora se categorizan por componentes específicos u operaciones, lo que permite además ajustar el nivel de filtrado de mensajes.
  • Las utilidades de línea de comandos incorporan mejoras, como la ejecución pasarela de algunas acciones, se han reescrito en Go y evolucionan como un proyecto separado.

Paradigma Tecnológico es Advanced Partner de MongoDB, contamos con profesionales certificados en desarrollo y operaciones, y tenemos la experiencia de haber desarrollado y puesto en producción importantes proyectos basados en MongoDB.

Si tienes algún proyecto en el que podemos ayudarte, contacta con nosotros.

Vicente Ayestarán

Recibe más artículos como este

Recibirás un email por cada nuevo artículo.. Acepto los términos legales

Escribe un comentario