Having a single database is best for data integrity, because then you can use foreign keys. You cannot use this built-in data integrity if you split the data into several databases. This is not a problem if your data is not related to each other, but if it is connected, it is possible that your one database will contain data that is incompatible with another database. In this case, you will need to write code that will regularly check your databases for inconsistent data so that you can process it accordingly.
However, to ensure the scalability of your site / application, several databases (for example, an Internet scale) may be required. For example, you can host each database on a different physical server.
Chris Gillum Sep 16 '08 at 3:24 2008-09-16 03:24
source share