I think you've got two different concepts mixed up. Good design is about reducing duplication WITHIN a database. That is done for a variety of reasons. However, none of those reasons apply to what you are describing, which is a matter of duplicating the entire dataset for lookup purposes. Of course, that assumes that the"slaves" DO NOT accept any data, but are just there for the purposes of backup and / or intensive data mining, lookups, etc.