On Fri, Nov 18, 2011 at 1:59 PM, RobinUs2 <ro...@us2.nl> wrote: > We should be able to: > - find all time records from all users within a given project (with > optionally a certain date range) >
You'll need a timeline per project. I would use one row per day, week, or month, depending on the size. Your row keys could be something like 'fooproject:2011-11-18'. The column names could be timestamps or TimeUUIDs, which will cause the columns in the row to be chronologically ordered. > - find total time per task > One row per taskID, with each column being an entry that contributes to the total time for that project. You would need to read the entire row and calculate the sum client-side. Depending on how big these might get, you might want a process that periodically processes the rows and reduces them down to their current sum (or you might build it into your read behavior -- a write after read, if you will -- depending on your requirements). I'm assuming you want exact numbers here, so the built-in counters probably aren't a suitable option. > - find all time records from user X (with optionally a certain date range) > This will look almost identical to the project timeline described above. You could probably split the timelines into bigger chunks, though (like one month per row). As I understand from your answer this would require atleast 3 (or 5?) CF's > for the queries? > Correct, it looks like you would need 3 CFs for this set of queries. Hopefully that helps to illustrate the thought process. -- Tyler Hobbs DataStax <http://datastax.com/>