[Neo] Requirements for an event framework for Neo4j
rick.bullotta at burningskysoftware.com
rick.bullotta at burningskysoftware.com
Fri Apr 2 15:36:53 CEST 2010
I think it would rather difficult (and perhaps even not desirable) to
do a completely async/external interface for the
"proactive" handlers...but for the after-the-fact mutation events it
should be fine.
-------- Original Message --------
Subject: Re: [Neo] Requirements for an event framework for Neo4j
From: Dennis Peterson <dennisbpeterson at gmail.com>
Date: Fri, April 02, 2010 9:34 am
To: Neo user discussions <user at lists.neo4j.org>
Make it all async with an external api and it will work nicely with
node.js.
On Wed, Mar 31, 2010 at 11:26 AM, Rick Bullotta <
rick.bullotta at burningskysoftware.com> wrote:
> Hi, Tobias.
>
> That's awesome news.
>
> A few general questions regarding an event framework for Neo4J...
>
> - In the current implementation, there's a thread affinity for
> transactions.
> I am guessing that this could create big challenges for "proactive"
> handlers
> that are potentially executed on a different thread?
>
> - Will the handlers be synchronous or asynchronous?
>
> - Also, another consideration is whether or not you want to provide
support
> for event "folding" for chatty changes to properties on
nodes/relationships
> (e.g. you choose the quality of service - all changes or most recent
> changes
> only if you haven't yet processed the mutation event).
>
> - What do you envision passing along with events? A full "copy" of
the
> node/relationship? Only the mutated property?
>
> - Would there be support for "bucketed" notifications that would
allow
> notifications on multiple property changes on a node to be processed
as a
> single entity?
>
> Looking forward to seeing how this all materializes!
>
> Rick
>
>
>
> -----Original Message-----
> From: user-bounces at lists.neo4j.org
[[1]mailto:user-bounces at lists.neo4j.org]
> On
> Behalf Of Tobias Ivarsson
> Sent: Wednesday, March 31, 2010 6:39 AM
> To: Neo user discussions
> Subject: [Neo] Requirements for an event framework for Neo4j
>
> Fellow developers!
>
> The time has come to start the work on an event framework for Neo4j.
In
> order to do a good work at this we would get input on what
requirements you
> have on an event framework. We would like to get a list of use cases
for
> which you would use an event framework, along with the features you
think
> the use case would need from the event framework (i.e. which events
you
> would like to receive notification about, and when). We would also
like you
> to motivate why these features are required by the use case. Events
can
> easily degrade performance if the framework is ill designed, so we
would
> like to keep things very lean.
>
> We have made some early analysis and arrived at the following
conclusions:
>
> * There can be two kinds of event handlers: Proactive event handlers
and
> Reactive event handlers.
> Proactive event handlers have the ability to preempt operations and
> Reactive
> event handlers simply react to an event and cannot cause the event to
not
> succeed.
>
> * There are three kinds of events in Neo4j kernel:
> - Lifecycle events, such as shutdown.
> - Transactional events, such as start commit, commit successful,
rollback,
> etc.
> - Data modification events, such as node created, property changed,
> relationship removed, etc.
>
> It might be possible that other components, such as the indexing
component,
> would want to add more events to the event framework.
>
> These are of course just some initial input to get your thoughts
going,
> feel
> free to think outside of the constraints above. Our ultimate goal is
to
> create an event framework that is as useful as possible while
maintaining
>
> --
> Tobias Ivarsson <tobias.ivarsson at neotechnology.com>
> Hacker, Neo Technology
> [2]www.neotechnology.com
> Cellphone: +46 706 534857
> _______________________________________________
> Neo mailing list
> User at lists.neo4j.org
> [3]https://lists.neo4j.org/mailman/listinfo/user
>
> _______________________________________________
> Neo mailing list
> User at lists.neo4j.org
> [4]https://lists.neo4j.org/mailman/listinfo/user
>
_______________________________________________
Neo mailing list
User at lists.neo4j.org
[5]https://lists.neo4j.org/mailman/listinfo/user
References
1. http://email02.secureserver.net/#Compose
2. http://www.neotechnology.com/
3. https://lists.neo4j.org/mailman/listinfo/user
4. https://lists.neo4j.org/mailman/listinfo/user
5. https://lists.neo4j.org/mailman/listinfo/user
More information about the User
mailing list