El valor de la gestión de datos

Diseño de bases de datos en la nube: pros y contras de 3 posibilidades

Posted on Wed, May 10, 2017

En este artículo vamos a ver pros y contras de tres formas diferentes de diseño de bases de datos en la nube especialmente concebidos para ser usados en plataformas SaaS con múltiples clientes o “inquilinos”. Es lo que en inglés es conocido como arquitecturas Multi-Tenant.


diseno_de_bases_de-datos.jpg

Créditos fotográficos: cybrain 

El diseño de bases de datos para aplicaciones multi-tenant, debe de tener en cuenta que los datos y la carga de trabajo va a estar particionada. Puedes dividir los datos y la carga de trabajo, por ejemplo, teniendo en cuenta los límites de cada inquilino, ya que la mayoría de las solicitudes se van a producir dentro de esos límites.

Este tipo de diseño de bases de datos se utilizan en todo el espectro de aplicaciones basadas en la nube.

 

Diseño de bases de datos aisladas

Este planteamiento de diseño de bases de datos prevé la construcción de un database para cada inquilino. Es un enfoque asociado a muchos beneficios, como los que tienen que ver con:

  • Personalización: este diseño permite agregar algunas propiedades de entidad dedicadas al inquilino, por lo que podría decirse que el esquema de base está altamente customizado.
  • Escalabilidad: el rendimiento es muy bueno y se mantiene incluso cuando el número de inquilinos aumenta, al contrario de lo que sucede en otras modalidades de diseño e bases de datos.
  • Versatilidad: dado el caso, sería muy sencillo migrar las aplicaciones antiguas a un enfoque multi-tenant.
  • Seguridad: el aislamiento físico de los datos de cada inquilino es la clave para minimizar el riesgo.

Pese a las ventajas de este planteamiento, antes de decidirse por el diseño de bases de datos aisladas hay que tener en cuenta que esta decisión implica la necesidad de mantener una segunda conexión de base de datos, el aumento de recursos necesarios para el proyecto y la posibilidad de que se den situaciones de distribución desigual de los datos. A estos inconvenientes hay que añadir la difícil implementación y mantenimiento de un database de este tipo, algo que debe tomarse en consideración antes de poner en marcha la iniciativa.

 

Diseño de bases de datos únicas

En este caso, todos los inquilinos confluyen en una sola base de datos. En ella, las entidades quedan definidas mediante claves externas de la table que corresponden a atributos de identificación de inquilinos. Este enfoque de diseño tiene dos grandes ventajas:

  1. Rápido despliegue: no hace falta ni crear una nueva base de datos ni cambiar el esquema de la existente. Cada vez que se necesita agregar nuevo inquilino sólo es necesario insertar la nueva entidad en la base de datos.
  2. Facilidad de implementación: como se emplea una conexión de base de datos única para una solicitud HTTP, resulta muy sencillo implementar mecanismos de conmutación de bases de datos.

Sin embargo, el diseño de bases de datos así planteado implica algunos inconvenientes, como los problemas de escalabilidad que pueden derivarse de la falta de partición o las cuestiones de seguridad relacionadas con el acceso a los recursos, si se hace sin el control necesario.

 

Diseño de bases de datos híbrido

La conjunción del modelo aislado y el multitenant resultan en el diseño de bases de datos híbrido, una estructura compleja, que impone una mayor inversión en el desarrollo y que, sin embargo, consigue minimizar los inconvenientes de los otros dos tipos de database.

El enfoque híbrido hace posible distribuir a los inquilinos, combinando bases de datos aisladas para algunos de ellos, con otra multitenant, para quienes pueden agruparse en función de sus características.

Las ventajas de este planteamiento de diseño son la escalabilidad y la seguridad, aunque sus inconvenientes pueden resultar determinantes. La complejidad del modelo, su difícil implementación y la condición de contar con identificadores de recursos deben ser únicos en todas las bases de datos (sólo así serían posibles las migraciones) podrían obligar a muchas organizaciones a optar por soluciones más accesibles.

En lo que concierne al diseño de bases de datos, cada negocio debe tomar la decisión que mejor se ajusta a sus capacidades y expectativas, aunque siempre teniendo en cuenta a los tipos de clientes que utilizarán la plataforma, así como sus demandas de seguridad y disponibilidad.

 

Cloud Data Integration

Topics: Cloud