title: Super column vs serialization vs 2 lookups in Cassandra
body: <p>We have: </p>
  
  <p>users, each of which has events, each of which has several properties (time, type etc.). Our basic use case is to fetch all events of a given user in a given time-span.</p>
  
  <p>We've been considering the following alternatives in Cassandra for the Events column-family. All alternatives share: key=user_id (UUID), column_name = event_time</p>
  
  <ol>
  <li><p>column_value = serialized object of event properties. Will need to read/write all the properties every time (not a problem), but might also be difficult to debug (can't use Cassandra command-line client easily)</p></li>
  <li><p>column is actually a super column, sub-columns are separate properties. Means reading all events(?) every time (possible, though sub-optimal). Any other cons?</p></li>
  <li><p>column_value is a row-key to another CF, where the event properties are stored. Means maintaining two tables -> complicates calls + reads/writes are slower(?).</p></li>
  </ol>
  
  <p>Anything we're missing? Any standard best-practice here?</p>