I was reading this question:I was trying to standardize and modularize some functions (Email  Management Module, CMS Module & etc) by implementing a 3-tier  architecture concept where each module would have its own independent  module database. So that in the future all we'd need to do is just  code a presentation layer, reuse the BLL layer, DAL Layer and  database.My follow-up question is whether it is a good idea to place all the database tables from each module into the same database, or whether they should be separated into entirely separate databases? I am using PostgreSQL. My worries are:Problems with running data analysis if data is in many different databasesProblems pinning down database performance issues if we use the same database for all modulesIn ability to join tables across modules if we some time in the future discover that our modularization is flawed for creating a certain feature
Using a database for each module in a system
design;design patterns;database;database design