On Fri, Jul 6, 2012 at 10:49 PM, Leonid Ilyevsky
<lilyev...@mooncapital.com> wrote:
> At this point I am really confused about what direction Cassandra is going. 
> CQL 3 has the benefit of composite keys, but no dynamic columns.
> I thought, the whole point of Cassandra was to provide dynamic tables.

CQL3 absolutely provide "dynamic tables"/wide rows, the syntax is just
different. The typical example for wide rows is a time serie, for
instance keeping all the events for a given event_kind in the same C*
row ordered by time. You declare that in CQL3 using:
  CREATE TABLE events (
    event_kind text,
    time timestamp,
    event_name text,
    event_details text,
    PRIMARY KEY (event_kind, time)
  )

The important part in such definition is that one CQL row (i.e a given
event_kind, time, event_name, even_details) does not map to an internal
Cassandra row. More precisely, all events sharing the same event_kind will be
in the same internal row. This is a wide row/dynamic table in the sense of
thrift.


> I need to have a huge table to store market quotes, and be able to query it 
> by name and timestamp (t1 <= t <= t2), therefore I wanted the composite key.
> Loading data to such table using prepared statements (CQL 3-based) was very 
> slow, because it makes a server call for each row.

You should use a BATCH statement which is the equivalent to batch_mutate.

--
Sylvain

Reply via email to