I would say in that case you might want to try a single column family where the key to the column is the system name.
Then, you could name your columns as the timestamp. Then when retrieving information from the data store you can can, in your slice request, specify your start column as X and end column as Y. Then you can use the stored column name to know when an event occurred. On Wed, Jan 26, 2011 at 2:56 PM, Bill Speirs <bill.spe...@gmail.com> wrote: > I'm looking to use Cassandra to store log messages from various > systems. A log message only has a message (UTF8Type) and a data/time. > My thought is to create a column family for each system. The row key > will be a TimeUUIDType. Each row will have 7 columns: year, month, > day, hour, minute, second, and message. I then have indexes setup for > each of the date/time columns. > > I was hoping this would allow me to answer queries like: "What are all > the log messages that were generated between X & Y?" The problem is > that I can ONLY use the equals operator on these column values. For > example, I cannot issuing: get system_x where month > 1; gives me this > error: "No indexed columns present in index clause with operator EQ." > The equals operator works as expected though: get system_x where month > = 1; > > What schema would allow me to get date ranges? > > Thanks in advance... > > Bill- > > * ColumnFamily description * > ColumnFamily: system_x_msg > Columns sorted by: org.apache.cassandra.db.marshal.UTF8Type > Row cache size / save period: 0.0/0 > Key cache size / save period: 200000.0/3600 > Memtable thresholds: 1.1671875/249/60 > GC grace seconds: 864000 > Compaction min/max thresholds: 4/32 > Read repair chance: 1.0 > Built indexes: [proj_1_msg.646179, proj_1_msg.686f7572, > proj_1_msg.6d696e757465, proj_1_msg.6d6f6e7468, > proj_1_msg.7365636f6e64, proj_1_msg.79656172] > Column Metadata: > Column Name: year (year) > Validation Class: org.apache.cassandra.db.marshal.IntegerType > Index Type: KEYS > Column Name: month (month) > Validation Class: org.apache.cassandra.db.marshal.IntegerType > Index Type: KEYS > Column Name: second (second) > Validation Class: org.apache.cassandra.db.marshal.IntegerType > Index Type: KEYS > Column Name: minute (minute) > Validation Class: org.apache.cassandra.db.marshal.IntegerType > Index Type: KEYS > Column Name: hour (hour) > Validation Class: org.apache.cassandra.db.marshal.IntegerType > Index Type: KEYS > Column Name: day (day) > Validation Class: org.apache.cassandra.db.marshal.IntegerType > Index Type: KEYS > -- *David McNelis* Lead Software Engineer Agentis Energy www.agentisenergy.com o: 630.359.6395 c: 219.384.5143 *A Smart Grid technology company focused on helping consumers of energy control an often under-managed resource.*