Por lo tanto, antes de ofrecer algún consejo sobre la mejor manera de diseñar un gran esquema, necesito hacer una pregunta: ¿Es un gran esquema absolutamente necesario?
Ha preguntado si hay alguna buena metodología de software para planificar sistemas grandes. De hecho, existen, y uno de los mejores enfoques para el desarrollo de software complejo es SOA: Arquitectura Orientada a Servicios. Si desea informarse un poco sobre las mejores prácticas de SOA más allá del nivel de la base de datos, le recomiendo consultar los libros de Thomas Erls, especialmente su SOA: Principios de diseño de servicios. También recomiendo escuchar algunas de las conferencias de Udi Dahan sobre diseño y arquitecturas orientadas al servicio y basadas en el dominio. Mucho conocimiento bueno de ambos tipos.
Cuando se trata de bases de datos, antes de sumergirse y desarrollar un esquema muy grande y complejo, asegúrese de que realmente lo necesite. En un entorno orientado al servicio, la motivación es identificar límites claros e irrompibles entre los distintos servicios de los problemas comerciales que intenta resolver. Una vez que haya identificado estos límites, debería encontrar que hay esquemas más pequeños que se pueden crear dentro de ellos. A veces, esto lleva a la duplicación de datos, ya que la información debe publicarse de un servicio a otro cuando necesita cruzar los límites. Pero los beneficios de tener varios esquemas más pequeños y menos complejos pueden ser enormes. Obtiene una mayor autonomía, portabilidad, flexibilidad y capacidad de mantenimiento de la que tiene con un solo esquema monstruoso.
Mire en SOA, particularmente cómo manejar bases de datos en una arquitectura orientada a servicios. La siguiente presentación realizada por Udi Dahan también debe proporcionar alguna información muy útil:
http://www.vimeo.com/5022174
¿Qué tan grande es "grande"? – cletus
¿Grande en el disco o en un esquema grande? – Sam
Lo siento muchachos, esquema grande – simonwjackson