title: Designing timeseries database in Cassandra
body: <p>I am looking at creating a Cassandra timeseries database for storing millions of series of daily data that can potentially have altogether up to 100B data points. </p>
  
  <p>I looked at this article: 
  <a href="http://rubyscale.com/blog/2011/03/06/basic-time-series-with-cassandra/">http://rubyscale.com/blog/2011/03/06/basic-time-series-with-cassandra/</a></p>
  
  <p>This design is very sound. So essentially I can put the daily timestamps as columns and if necessary shard the columns by appending the day to the row. </p>
  
  <p>Two questions I have:</p>
  
  <ul>
  <li>I am looking at storing up to 20,000 timestamped (daily) columns. Is it even necessary to shard rows by eg. year with this amount of columns? Is there any advantage/disadvantage to sharding rows to reduce the number of columns down to 365 per year. </li>
  <li>Another idea I have is to rather than sharding columns by row is to create column family per each year. This way when accessing the data from multiple years I would have to query multiple column families rather than one column family and join the results on the client side. Would this approach speed things up or rather slow everything down? </li>
  </ul>