MongoDB, creador de la plataforma de datos de uso general líder del sector, ha anunciado MongoDB 4.2, la versión más reciente de su principal base de datos.
Sin duda, novedades como las transacciones distribuidas, el cifrado a nivel de campo y un operador de Kubernetes rediseñado no harán sino consolidar su reputación, basada en ayudar a miles de clientes —desde innovadoras empresas emergentes que solo operan en la nube hasta las mayores compañías internacionales— a satisfacer una amplia gama de necesidades.
Con las transacciones distribuidas, los principios ACID ya no solo se aplican a transacciones que afectan a varios documentos de un mismo conjunto de réplicas, sino también a las realizadas en clústeres con particiones (sharding). Así, a los clientes les resulta más fácil dar más usos a MongoDB y realizar transacciones con garantías en entornos de aplicaciones de gran tamaño y escala internacional. Con el cifrado a nivel de campo, todos los campos cifrados del servidor (almacenados en memoria, en los registros del sistema, en reposo o en copias de seguridad) se muestran como texto cifrado, lo que los hace ilegibles para quienes no tengan acceso al cliente ni dispongan de las claves necesarias para descifrar los datos. El plano de control de Kubernetes, por su parte, da a los usuarios la posibilidad de gestionar todos los aspectos de su implementación de MongoDB. La experiencia es la misma en todas partes: infraestructuras locales, nubes privadas e híbridas o nubes públicas.
»Cuando fundamos MongoDB, queríamos dar a los desarrolladores una forma más sencilla de trabajar con los datos de todo el entorno», cuenta Eliot Horowitz, director de tecnología y cofundador de MongoDB. »Nos llena de satisfacción poder ofrecer nuevas funciones que mejoren la productividad y permitan pasar menos tiempo lidiando con los datos y más tiempo creando aplicaciones de calidad. Como estas funciones tienen un diseño muy similar al de otras herramientas conocidas y se manejan igual, el periodo de aprendizaje es muy corto, pero el efecto en la base de datos es enorme».
Transacciones distribuidas
MongoDB ya introdujo las transacciones ACID multidocumento en MongoDB 4.0, lo que hizo posible una visualización homogénea de los datos en todos los replica sets y la ejecución de operaciones de «todo o nada» para preservar la integridad de los datos. Esta característica, sumada al potencial del modelo de documentos y a las ventajas de una arquitectura de sistemas distribuidos, permite a los equipos de desarrollo modernizar fácilmente las aplicaciones ya existentes, así como crear nuevos servicios transaccionales. Las transacciones distribuidas utilizan una sintaxis idéntica a la de las transacciones introducidas en MongoDB 4.0. Constan de varias instrucciones y permiten aislar instantáneas, por lo que resultan familiares a cualquier profesional con experiencia en transacciones. La API y la implementación son las mismas tanto si las transacciones se llevan a cabo en distintos documentos, colecciones y bases de datos de un replica set como si se ejecutan en un clúster consharding. Además, la atomicidad se garantiza por completo: si una transacción no llega a confirmarse en una partición, se anula en todas las demás particiones involucradas.
Lo último en seguridad para empresas
En las bases de datos relacionales, los datos se cifran por columnas, mientras que el cifrado a nivel de campo de MongoDB 4.2 aplica un método distinto y más completo. Los drivers de MongoDB cifran los datos exclusivamente en el cliente, sin que el servidor lo perciba y de manera totalmente independiente de la base de datos. La mayoría de las bases de datos cifran los datos en el servidor, lo que significa que cualquier administrador con acceso a la instancia de la base de datos puede acceder también a los datos, aunque el acceso al cliente le esté vedado. Con el cifrado a nivel de campo, esto deja de ser así.
El cifrado a nivel de campo de MongoDB ofrece ventajas como las siguientes:
- Cifrado automático e invisible:el código de las aplicaciones puede ejecutarse tal cual en casi todas las operaciones de lectura y escritura. Con otros métodos basados en el cliente, los desarrolladores tienen que modificar el código de las consultas para utilizar los métodos y funciones de cifrado del SDK de un determinado lenguaje.
- Separación de tareas:los administradores del sistema solo podrán leer los datos cifrados si tienen las claves necesarias para descifrarlos y, además, se les ha dado acceso explícito al cliente. Se acaba así con la práctica de darles libre acceso a los sistemas operativos, el servidor de la base de datos, los registros y las copias de seguridad.
- Cumplimiento de normativas: los clientes deben poder ejercer su «derecho al olvido», recogido en el RGPD y otras normativas sobre privacidad recientes. Ahora será más fácil atender sus solicitudes: con tan solo destruir la clave de un cliente, los datos personales asociados se vuelven inservibles.
»Nos hemos asociado a dos de las principales autoridades mundiales en criptografía aplicada a las bases de datos, incluido uno de los coautores del borrador sobre cifrado AES con autenticación, elaborado por el grupo de trabajo de redes del IETF y base del desarrollo del cifrado a nivel de campo», explica Lena Smart, responsable de seguridad de la información en MongoDB. »Estos equipos, formados por expertos del sector y del mundo académico, nos han ayudado a diseñar las funciones de cifrado de nivel de campo de MongoDB y han evaluado su implementación en el software».
Control total desde un solo plano de Kubernetes
Ahora, las implementaciones de MongoDB se pueden gestionar desde un solo plano de control de Kubernetes. En el caso de las infraestructuras autogestionadas (locales o en la nube), los usuarios de Kubernetes pueden automatizar y gestionar clústeres de MongoDB con ayuda de MongoDB Enterprise Kubernetes Operator y MongoDB Ops Manager. Los desarrolladores tienen dos formas de usar el operador: con el código upstream de Kubernetes o con distribuciones conocida, como Red Hat OpenShift y Pivotal Container Service (PKS).