title: Dynamic Database Schema
body: <p>What is a recommended architecture for providing storage for a dynamic logical database schema?</p>
  
  <p>To clarify: Where a system is required to provide storage for a model whose schema may be extended or altered by its users once in production, what are some good technologies, database models or storage engines that will allow this? </p>
  
  <p>A few possibilities to illustrate:</p>
  
  <ul>
  <li>Creating/altering database objects via dynamically generated DML</li>
  <li>Creating tables with large numbers of sparse physical columns and using only those required for the 'overlaid' logical schema</li>
  <li>Creating a 'long, narrow' table that stores dynamic column values as rows that then need to be pivoted to create a 'short, wide' rowset containing all the values for a specific entity</li>
  <li>Using a BigTable/SimpleDB PropertyBag type system</li>
  </ul>
  
  <p>Any answers based on real world experience would be greatly appreciated</p>