Hi,
based on my experience with Cassandra 0.7.4, i strongly discourage you to do that: we tried dynamical creation of column
families, and it was a nightmare.
First of all, the operation can not be done concurrently, therefore you must find a way to avoid parallel creation (over
all the cluster, not in a single node).
The main problem however is with timestamps. The structure of your keyspace is versioned with a time-dependent id, which
is assigned by the host where you perform the schema update based on the local machine time. If you do two updates in
close succession on two different nodes, and their clocks are not perfectly synchronized (and they will never be),
Cassandra might be confused by their relative ordering, and stop working altogether.
Bottom line: don't.
Flavio
Il 12/21/2011 14:45 PM, Rafael Almeida ha scritto:
Hello,
I am evaluating the usage of cassandra for my system. I will have several
clients who won't share data with each other. My idea is to create one column
family per client. When a new client comes in and adds data to the system, I'd
like to create a column family dynamically. Is that reliable? Can I create a
column family on a node and imediately add new data on that column family and
be confident that the data added will eventually become visible to a read?
[]'s
Rafael