title: Is there a design pattern for separating data into spaces?
body: <p>I'm working on a problem where application data needs to be separated into spaces;</p>
  <ul>
  <li>a production space</li>
  <li>a demo space</li>
  <li>a test space</li>
  <li>a training space</li>
  <li>...</li>
  </ul>
  <p>Some product data is shared across spaces, but almost all user data should be read/write per space controlled by a permission system.</p>
  <p>Is there a common design pattern for this? I'm concerned about the risk of accidentally mixing data between spaces, i.e. test space data ending up in the production space.</p>
  <p>Thanks!</p>