 <p>You can <strong>relate</strong> things however you want. A popular approach is using non-sequential UUID values as identifiers so that you can query discrete data sources for related data.</p> <p>The problem is <strong>integrity</strong> ... without relational constraints, things can get messy. A well coded application can deal with this however.</p> <p>I would also ensure you use caching wherever popular to avoid the overhead of many datasources. </p>