I'm designing an iOS application and have decided to separate the persistence requirements into three separate SQL databases.
- Static Data - read-only but downloaded from external sources
- Client Request Data - data that the client is queuing to send to an external source
- Application Meta Data - Holds meta information about the state of the other two db's and the application as a whole. This might be but not limited to table/app version information, time the app last communicated with an external source.
The idea behind this separation is that the first DB is effectively replaceable, the second is a transactional source while the meta information should not grow.
Are there any caveats to this approach, of course I understand I can not join across each, though I don't intend to.