Aquí hay un olor a arquitectura / diseño concreto que encuentro todo el tiempo: análisis e informes directamente desde una base de datos transaccional.
Esto sin duda está bien en algunas situaciones (es decir, informes ligeros), pero en muchos casos los requisitos de procesamiento de informes y transacciones están en conflicto. Sin embargo, debido a que es algo simple y económico, los informes se ejecutan directamente desde la base de datos transaccional. Esto causa todo tipo de dolores de cabeza en ambos lados de la ecuación.
Esto se ve típicamente en las aplicaciones Enterprise LOB, por cierto. Entiendo que muchas PYMES simplemente no tienen los recursos o el conocimiento para crear almacenes y datamarts (olvídate de los cubos o configuraciones de reducción de mapas), pero muchas organizaciones más grandes con las que he trabajado tienen los mismos problemas.
Al diseñar un sistema, el arquitecto realmente debe ser consciente de que los informes, especialmente los informes de análisis, y los requisitos transaccionales se tratan mejor como problemas separados y no solo agrupados a nivel de la base de datos.