Re: [Neo4j] How can you have transactions with Lucene?
I'm assuming it wouldn't be very hard to add transactional integration with MySql or any other database that supports transactions properly. Neo4j is open source, the source is there for anyone to read. https://github.com/neo4j/community/tree/master/lucene-index would be a good starting point for anyone to read and hopefully learn something from. In there is the integration code which makes Lucene transactional with the Neo4j graph. Just like Neo4j it's currently tied to the JTA (Java Transaction API) and is mostly generic, but some parts are specific to Neo4j. Although it can of course be modified to fit other environments. Best, Mattias 2011/7/18 eialbur > Very Kewl. Thanks Mattias. Can you send your code over to Lucene so they > can add effective transactions. I know a number of people use Lucene for > full text search in conjunction with MySql, and the lack of transactions is > a major issue. > > Thanks again > > -- > View this message in context: > http://neo4j-community-discussions.438527.n3.nabble.com/How-can-you-have-transactions-with-Lucene-tp3176918p3177747.html > Sent from the Neo4J Community Discussions mailing list archive at > Nabble.com. > ___ > Neo4j mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user > -- Mattias Persson, [matt...@neotechnology.com] Hacker, Neo Technology www.neotechnology.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] How can you have transactions with Lucene?
Very Kewl. Thanks Mattias. Can you send your code over to Lucene so they can add effective transactions. I know a number of people use Lucene for full text search in conjunction with MySql, and the lack of transactions is a major issue. Thanks again -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/How-can-you-have-transactions-with-Lucene-tp3176918p3177747.html Sent from the Neo4J Community Discussions mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] How can you have transactions with Lucene?
Exactly, that's what the neo4j integration layer adds to it. 2011/7/17 eialbur > Lucene itself says it doesn't properly support ACID or XA transaction > support. > (Bug 1149 - Major - New Feature - Reopened - Unresolved). > > -- > View this message in context: > http://neo4j-community-discussions.438527.n3.nabble.com/How-can-you-have-transactions-with-Lucene-tp3176918p3176981.html > Sent from the Neo4J Community Discussions mailing list archive at > Nabble.com. > ___ > Neo4j mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user > -- Mattias Persson, [matt...@neotechnology.com] Hacker, Neo Technology www.neotechnology.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] How can you have transactions with Lucene?
Lucene itself says it doesn't properly support ACID or XA transaction support. (Bug 1149 - Major - New Feature - Reopened - Unresolved). -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/How-can-you-have-transactions-with-Lucene-tp3176918p3176981.html Sent from the Neo4J Community Discussions mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] How can you have transactions with Lucene?
It just waits to write stuff until the transaction committs. Application crashes in between are guarded by the logical log, because all operations are written in the prepare-phase to a logical log (before the commit starts). Neo4j doesn't do any magical tweaking of lucene at all because it isn't necessary... it's fully ACID and transactional with the graph as it is. 2011/7/17 eialbur > Sorry, but how does this thin layer control how Lucene interacts with the > disk (since Lucene isn't transactional). Does it somehow buffer the disk > I/O? Does it coerce Lucene to write to a different file and then update > the > real file at the end of the transaction? > > I'm not trying to be difficult, but I am interested in Lucene for my > project > as well, and need it to behave properly regarding transactions. > > -- > View this message in context: > http://neo4j-community-discussions.438527.n3.nabble.com/How-can-you-have-transactions-with-Lucene-tp3176918p3176951.html > Sent from the Neo4J Community Discussions mailing list archive at > Nabble.com. > ___ > Neo4j mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user > -- Mattias Persson, [matt...@neotechnology.com] Hacker, Neo Technology www.neotechnology.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] How can you have transactions with Lucene?
Sorry, but how does this thin layer control how Lucene interacts with the disk (since Lucene isn't transactional). Does it somehow buffer the disk I/O? Does it coerce Lucene to write to a different file and then update the real file at the end of the transaction? I'm not trying to be difficult, but I am interested in Lucene for my project as well, and need it to behave properly regarding transactions. -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/How-can-you-have-transactions-with-Lucene-tp3176918p3176951.html Sent from the Neo4J Community Discussions mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
Re: [Neo4j] How can you have transactions with Lucene?
Neo4j wraps Lucene in a thin layer which makes it transactional. It's fully ACID and can participate in the same transactions as neo4j operations. It's modeled as its own data source in an XA environment (the neo4j graph is another XA data source) with a logical log for commands so that it's safe for crashes and will participate in the recovery process just like any other XA data source, f.ex. the neo4j graph. 2011/7/17 eialbur > I like Neo4j and am interested in using it in a number of projects (once I > figure out a good way to make Neo play nice in Glassfish) ... but I am > confused about something. I apologize if this is a stupid question. > > My understanding is that Lucene does *not* support transactions. > Supposedly > that lack of transaction support was a prime motivator for the Compass > project, and is a selling point for the Lucene competitor, Sphinx. > > So, how can Neo4j provide real transaction support if it relies on Lucene? > I am confused. > > Thanks > > -- > View this message in context: > http://neo4j-community-discussions.438527.n3.nabble.com/How-can-you-have-transactions-with-Lucene-tp3176918p3176918.html > Sent from the Neo4J Community Discussions mailing list archive at > Nabble.com. > ___ > Neo4j mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user > -- Mattias Persson, [matt...@neotechnology.com] Hacker, Neo Technology www.neotechnology.com ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user
[Neo4j] How can you have transactions with Lucene?
I like Neo4j and am interested in using it in a number of projects (once I figure out a good way to make Neo play nice in Glassfish) ... but I am confused about something. I apologize if this is a stupid question. My understanding is that Lucene does *not* support transactions. Supposedly that lack of transaction support was a prime motivator for the Compass project, and is a selling point for the Lucene competitor, Sphinx. So, how can Neo4j provide real transaction support if it relies on Lucene? I am confused. Thanks -- View this message in context: http://neo4j-community-discussions.438527.n3.nabble.com/How-can-you-have-transactions-with-Lucene-tp3176918p3176918.html Sent from the Neo4J Community Discussions mailing list archive at Nabble.com. ___ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user