2009/9/13 <contact@shahan.me>

How exactly does the search work? Is it similar to fulltext searching?


There are two ways you can find stuff - either by exact key (key must be exactly right, it's byte-based), or (if you're using the OrderPreservingPartitioner) a key range scan.

In the case of a key range scan you specify the start / end keys and it lists the keys which exist (up to a specified limit) in that CF in that range, ordered by key.

What type of username/password security is there? (for example sharing a
Cassandra db between applications, and isolating their access controls)

There is none. Cassandra clusters allow any operation for anyone who can make a connection to any node in the cluster.

A Cassandra cluster used by multiple applications just has to trust them not to trash each others' data.

A Cassandra cluster used by multiple applications, in any case, requires the admin to set up the storage-conf.xml to contain the set of Keyspaces / CFs etc required by all the applications, which needs to be the same on all the nodes, so a certain amount of careful control and cooperation is required.

I can only really see a case where an instance would be used by multiple applications, if they were fundamentally under the control (software-release wise) of the same team of developers and ops engineers, otherwise change control would be a disaster. There is no analogue of CREATE TABLE / ALTER TABLE as supported by RDBMSs.