Almacén de datos de colmena multiinquilino
2024-07-11
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
1. Concepto
El inquilino múltiple corresponde al inquilino único. Este artículo se centra en el inquilino único para su comprensión.
1.1 Multiinquilino
La tecnología multiinquilino, o tecnología multiinquilino, conocida como SaaS, es una tecnología de arquitectura de software que se da cuenta de cómo compartir el mismo sistema o componentes del programa en un entorno multiusuario (los multiusuarios aquí son generalmente para usuarios empresariales). y puede garantizar el aislamiento de datos entre usuarios. En pocas palabras: una única instancia de aplicación se ejecuta en un servidor y sirve a varios inquilinos (clientes). De la definición podemos entender:La tenencia múltiple es una arquitectura que tiene como objetivo permitir que varios usuarios utilicen el mismo conjunto de programas y garantizar el aislamiento de datos entre usuarios.
1.2 Inquilino único
La diferencia entre las arquitecturas de inquilino único y de múltiples inquilinos es que la arquitectura de inquilino único crea aplicaciones de software y entornos de soporte separados para cada usuario. SaaS de inquilino único se cita ampliamente en aplicaciones donde los clientes necesitan admitir personalización, ya sea por razones geográficas o porque requieren mayores controles de seguridad. A través del modelo de inquilino único, cada cliente tiene una copia de la base de datos y del sistema operativo ubicado en un servidor independiente o en un entorno de red virtual aislado mediante fuertes medidas de seguridad.
1.3 La diferencia entre inquilino único y inquilino múltiple
- Existen diferentes niveles de control de seguridad. Las bases de datos multiinquilino almacenan datos de varios inquilinos independientes. Aunque se configura el aislamiento de seguridad, el nivel de control de seguridad sigue siendo mayor que el de un solo inquilino. Dado que un solo inquilino tiene un entorno de software y hardware independiente, y la base de datos solo almacena los datos de un inquilino, la posibilidad de fuga de datos se elimina técnicamente. La arquitectura de un solo inquilino a veces es más adecuada para ciertas industrias que requieren control de seguridad o incluso. requisitos de cumplimiento legal.
- Las copias de seguridad de datos varían en complejidad. Un único inquilino tiene una base de datos independiente y la copia de seguridad y recuperación de las bases de datos de los clientes es muy sencilla. Los inquilinos múltiples comparten una base de datos y los datos de los inquilinos están aislados y compartidos. El sistema no puede realizar automáticamente copias de seguridad independientes de la empresa todos los días.
- Los tiempos de actualización del control varían. Los costos de mantenimiento del sistema multiinquilino son bajos y, cuando se actualiza un sistema multiinquilino, solo es necesario actualizarlo una vez. El personal de mantenimiento no necesita actualizar a cada usuario, lo que ahorra muchos costos de operación y mantenimiento. Esto es útil para sistemas donde todos los clientes hacen lo mismo. Sin embargo, si el momento de actualización del sistema ocurre cuando la empresa está particularmente ocupada, inevitablemente tendrá un impacto en los usuarios empresariales.
Escenarios de aplicación: el arrendamiento múltiple es adecuado para varias empresas (departamentos) diferentes del mismo grupo (empresa). Incluso si los datos se filtran, no se filtrarán al exterior.
2. Solución de aislamiento de datos multiinquilino
- base de datos independiente
- Base de datos compartida, esquema independiente.
- Base de datos compartida, esquema compartido, tabla de datos compartida
2.1 Base de datos independiente
Esta es la primera solución, un inquilino y una base de datos.Esta solución tiene el nivel más alto de aislamiento de datos de usuario y la mejor seguridad, pero el costo es mayor.。
- Ventajas: proporcionar bases de datos independientes para diferentes inquilinos ayuda a simplificar el diseño de expansión del modelo de datos y satisfacer las necesidades únicas de diferentes inquilinos; si ocurre una falla, es relativamente sencillo restaurar los datos;
- Desventajas: Aumenta el número de instalaciones de bases de datos, lo que resulta en mayores costos de mantenimiento y costos de adquisición.
Esta solución es similar a la tradicional: un cliente, un conjunto de datos y un conjunto de implementación. La única diferencia es que el software se implementa de manera uniforme en el operador. Si se enfrenta a inquilinos como bancos y hospitales que requieren niveles de aislamiento de datos muy altos, puede elegir este modelo para aumentar el precio del alquiler. Si el precio es bajo y el producto sigue la ruta del precio bajo, esta solución generalmente resulta inasequible para los operadores.
2.2 Base de datos compartida, esquema independiente
Esta es la segunda solución, es decir, varios o todos los inquilinos comparten la base de datos, pero cada inquilino tiene un esquema (también llamado usuario). Las bibliotecas subyacentes son, por ejemplo: DB2, ORACLE, etc. Puede haber varios ESQUEMAS en una base de datos.
- Ventajas: proporciona un cierto grado de aislamiento de datos lógicos para inquilinos con requisitos de seguridad más altos, pero no un aislamiento completo para que cada base de datos admita una mayor cantidad de inquilinos.
- Desventajas: si ocurre una falla, la recuperación de datos es difícil porque la restauración de la base de datos involucrará los datos de otros inquilinos, si se requieren estadísticas entre inquilinos, habrá ciertas dificultades;
2.3 Base de datos compartida, esquema compartido, tabla de datos compartida
Esta es la tercera opción, Es decir, los inquilinos comparten la misma base de datos y el mismo esquema, pero agregan el campo de datos multiinquilino TenantID a la tabla.Este es el modo con el mayor grado de compartición y el menor nivel de aislamiento.。
Es decir, cada vez que se inserta un dato, se requiere una identificación de cliente. De esta forma se pueden distinguir los datos de diferentes clientes en una misma tabla.
- Ventajas: Comparación de tres opciones,La tercera opción tiene los costos de mantenimiento y adquisición más bajos y permite la mayor cantidad de inquilinos por base de datos.。
- Desventajas: el nivel de aislamiento más bajo y la seguridad más baja, que requieren más desarrollo de seguridad durante el diseño y el desarrollo, son los más difíciles y requieren copia de seguridad y restauración tabla por tabla.Esta solución es más adecuada si desea prestar servicio a la mayor cantidad de inquilinos con la menor cantidad de servidores y los inquilinos aceptan sacrificar el nivel de aislamiento a cambio de costos más bajos.。
2.4 Resumen
Durante el proceso de implementación de SaaS, hay un punto de consideración obvio: cómo diseñar los datos de la aplicación para admitir múltiples inquilinos. La idea de este diseño es lograr un equilibrio entre el intercambio de datos, el aislamiento de seguridad y el rendimiento.Las características de los tres modos se pueden resumir en una imagen.
