title: Denormalization: How much is too much?
body: <p>I've designed the database for the web-app i'm building "by the book". That is, I've:</p>
  
  <ul>
  <li>Created an E-R diagram containing the app's entities, attributes, and relationships</li>
  <li>Translated the E-R diagram in to a schema</li>
  <li>Translated the schema in to a "no-schema" form to model the database with (the database is a Cassandra (NoSQL) database).</li>
  </ul>
  
  <p>Everything is going well (so far). I've denormalized before with great results, and am curently implementing a part of the app which will use data that hasn't been denormalized yet. Doing so for this particular part will, I predict, increase performance somewhat substantially (reading from 1 Column_Family ("table" in the relational world) instead of 7).</p>
  
  <p>However, I fear that I may be denormalizing too much. If I were to to do so for the part in question, it would pretty much reduce the Column_Family/table count in my app by about 20%, and having that much of my database denormalized makes me nervous for some reason.</p>
  
  <p>Should the app end up being enough of a success that I'm able to get a database designer or administrator on board, I'd like for him to be able determine that the denormalization I'm performing is necessary for the performance i'm seeking (best-case) or at the very least not harmful (worst-case).</p>
  
  <p>Are there specific things I should look out for when making denormalization decisions that may indicate whether doing so would be bad, or does it always come down to speed vs. maintainability? </p>