Вот один конкретный запах архитектуры / дизайна, с которым я сталкиваюсь все время: анализ и составление отчетов непосредственно из транзакционной базы данных.
Это, конечно, хорошо в некоторых ситуациях (например, легкие отчеты), но во многих случаях требования к отчетности и обработке транзакций находятся в конфликте. Тем не менее, поскольку это простая / недорогая вещь, отчеты запускаются непосредственно из транзакционной БД. Это вызывает все виды головных болей с обеих сторон уравнения.
Это обычно видно в приложениях Enterprise LOB, кстати. Я понимаю, что многие SMB просто не имеют ресурсов или ноу-хау для создания хранилищ и информационных таблиц (забудьте о кубах или настройках сокращения карт), но многие большие организации, с которыми я работал, имеют те же проблемы.
При проектировании системы архитектор должен учитывать, что отчетность, особенно аналитические отчеты, и требования к транзакциям лучше всего рассматривать как отдельные проблемы, а не просто объединять их на уровне базы данных.