[ 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.