sql >> Base de Datos >  >> RDS >> Mysql

¿Buena práctica para dividir datos en múltiples bases de datos?

"Buena práctica" es una de esas frases que nos permite hacer que nuestros prejuicios suenen más importantes de lo que realmente son...

En general, desea almacenar cosas juntas que pertenecen juntas. Si tiene un solo sistema de información, que ejecuta todo para un negocio, y las entidades que administra están relacionadas entre sí (los clientes tienen pedidos, los pedidos tienen vendedores y productos), podría argumentar que pertenecen juntos. Si, por otro lado, observa que tiene "islas" de tablas que realmente no se vinculan con ninguna otra tabla, tal vez no estén juntas.

Desde el punto de vista de la mantenibilidad, administrar más bases de datos significa más copias de seguridad, más rutinas de mantenimiento y más perfiles de seguridad para administrar.

Desde el punto de vista de la legibilidad, buscar en diferentes bases de datos para encontrar la tabla que le interesa es probablemente algo malo, por ejemplo, donde hay una tabla de unión de muchos a muchos entre "clientes" y "empleados", p. equipo de ventas:¿dónde vive esa mesa? ¿En la base de datos de "clientes" o "empleados"?

Desde el punto de vista de la confiabilidad, no estoy seguro de si puede imponer restricciones de clave externa en todas las bases de datos.

Realmente no puedo pensar en ningún beneficio de hacer esto, así que diría que es una mala idea.