Information on triggers seems a bit scarce so far. The blog entry on
http://www.datastax.com/dev/blog/whats-new-in-cassandra-2-0-prototype-triggers-support
mentions them as being usable for maintaining materialized views, since
they'll be handled similarly to logged/atomic batches - is that enough to
ensure that values in materialized views remain accurate?

Or does "atomic" in this context really mean atomic, isolated and
linearized per node - much like updates of indexed columns are handled too?
("indexed" here being secondary indices.)

Also, the document mentions triggers being "partition-level". Does this
mean trigger code (or rather the generated mutations of a trigger) cannot
manipulate more than one partition (and thus also cannot manipulate more
than one columnfamily)? How can materialized views be maintained without
being able to write to 2 columnfamilies (the cf with the actual values, and
the cf with the pre-aggregated ones)?

Finally, one more question about the future of triggers: Since it is
planned for 3.0 to have user defined functions (UDFs) in some PL/SQL-like
language, will it (eventually) be possible to write triggers in this
language too? Or will triggers always have to be directly loaded into the
JVM processes of the Cassandra instances?
It would be great if there was some way to be able to load trigger code
from the client-side without having to manipulate the code and/or libraries
on the server-side for scenarios where Cassandra is being used as a hosted
service (PaaS).

I realize that triggers are still experimental, but this looks like an
exciting new feature.

Reply via email to