[
https://issues.apache.org/jira/browse/CASSANDRA-1311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12891653#action_12891653
]
Martin Hentschel commented on CASSANDRA-1311:
---------------------------------------------
Thanks for referring to CASSANDRA-1016. We were not aware of it and it is
similar to our work. We think the main differences of our work to
CASSANDRA-1016 are the following:
* Triggers are executed asynchronously (Stu Hood mentioned it as [lazy
execution|https://issues.apache.org/jira/browse/CASSANDRA-749?focusedCommentId=12829403&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_12829403]).
* We provide a fail-over mechanism. If a node, which was responsible for
executing a trigger, goes down, replicas will take over to ensure proper
execution. We implemented at-least-once semantics of triggers.
* Triggers are set on column families, instead of the whole database (which
might have been implemented by 1016 as well now).
Asynchronous means that triggers will be executed after the client has received
the acknowledgment. Hence the response time of a user request is improved (as
opposed to CASSANDRA-1016, which we think implements synchronous execution of
triggers). The downside of it is that indexes might be out of sync with the
base data sometimes. We think that this is fine for many use cases where
Cassandra is the database of choice (as explained in our blog posts).
> Support (asynchronous) triggers
> -------------------------------
>
> Key: CASSANDRA-1311
> URL: https://issues.apache.org/jira/browse/CASSANDRA-1311
> Project: Cassandra
> Issue Type: New Feature
> Components: Contrib
> Reporter: Maxim Grinev
> Attachments: ImplementationDetails.pdf, trunk-967053.txt
>
>
> Asynchronous triggers is a basic mechanism to implement various use cases of
> asynchronous execution of application code at database side. For example to
> support indexes and materialized views, online analytics, push-based data
> propagation.
> Please find the motivation, triggers description and list of applications:
> http://maxgrinev.com/2010/07/23/extending-cassandra-with-asynchronous-triggers/
> An example of using triggers for indexing:
> http://maxgrinev.com/2010/07/23/managing-indexes-in-cassandra-using-async-triggers/
> Implementation details are attached.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.