Dear Cassandra Users, I'm quite new to Cassandra and I'm still trying to figure out, if I'm on the right path for my requirements. I like to explain my Cassandra design and hope to receive feedback, if this would work.
I like to use Cassandra to store measurement data from several devices. Each device every minute - so there will be about 500 000 Entries per device every year. Following data has to be stored: - device ID - measurement Time (of course different to the Cassandra time-stamp) - measurement value Later, the data should be charted - so I need to select time-ranges from a device. My solution for is currently a super-column: { name: "device1", value: { // measurement timestamps.. 1280819205: {name: "value", value: "10", timestamp: 123456789}, 1280819305: {name: "value", value: "15", timestamp: 123456789}, 1280819405: {name: "value", value: "10", timestamp: 123456789}, //there will be millions of entries } name: "device2", value: { // measurement timestamps.. 1280819205: {name: "value", value: "20", timestamp: 123456789}, 1280819305: {name: "value", value: "15", timestamp: 123456789}, 1280819405: {name: "value", value: "20", timestamp: 123456789}, //there will be millions of entries } } My questions: My main concern is the huge amount of subcolumns I'm using. All the examples of Cassandra in the web I saw, used those to store only a few columns (like a user profile). So would this work with millions of entries? For my range-selections - I think I need the OrderPreservingPartitioner. Right? Are there alternative designs? Maybe one without a Super-column? I can't think of one.. I'm looking forward to some answers, Thanks in advance, Stefan