small obvious correction btw, it's not 2 primary databases, it's 1 primary and 1 secondary ;) my bad
On Fri, Jul 29, 2011 at 6:49 AM, John cyuczieekc <[email protected]>wrote: > Hi xD > I'm not clear what you need to store here, if I understand correctly you > could store in 2 primary bdb databases the nodeID (ie. long) of each node in > a relationship > ie. > key->value > > dbForward: > A->B > A->C > X->D > X->B > > dbBackward: > B->A > B->X > C->A > D->X > > A,B,C,D,X are all nodeIDs ie. longs > > this way you could check if A->B exists, or all of A's endNodes , or what > startNodes are "pointing" to the endNode B > the storing of these would be sorted and in BTree, lookup would be fast, so > you can consider ie. A as being a set of B and C, and X being a set of B and > D, (that is you cannot set the order as in a list, they are sorted by bdb > for fast retrievals). (But upon this, sets, can build lists np - that is > using only bdb; tho you won't need that using neo4j) > So, if this is the kind of index you wanted... (I am not aware of specific > indexes with bdb, though that doesn't mean they don't exist) > > Insertions would require transaction protection so both A->B in dbForward > and B->A in dbBackward are inserted atomically. Parsing A then X of B-> in > dbBackward for example can only be done with a cursor... > > Either way, I'm taking a look on that bdb-index thingy; will report back if > I have any ideas heh > > John. > > > On Thu, Jul 28, 2011 at 9:42 PM, Niels Hoogeveen < > [email protected]> wrote: > >> >> Thank you, Peter,There is no rush here. It would be nice to investigate >> this option, but it can wait until Mattias has returned and sifted through >> urgent matters. The question is even, if it would be a good idea to use an >> index to do the book keeping for Enhanced API.As it is now, the Reification >> of eg. a Relationship, requires one property to be set on a relationship, >> containing the node ID of the associated node. On the associated node is a >> property containing the ID of the relationship, so there is a bidirectional >> look up. Introducing an index would remove the need to have these additional >> properties, but would lead to slower look-up times (no matter how fast the >> index).So it's a trade-off between speed and cleanliness of namespace. Using >> the Enhanced API disallows certain property names to be used in user >> applications.The property names used in Enhanced API all start with >> "org.neo4j.collections.graphbd.", so there is little chance a user >> application would want to use those property names, but it is a restriction >> not found in the standard API, so ultimately something to consider.Niels >> > From: [email protected] >> > Date: Thu, 28 Jul 2011 10:39:47 -0700 >> > To: [email protected] >> > Subject: Re: [Neo4j] bdb-index >> > >> > niels, >> > in this spike, I just concentrated on getting _something_ working in >> > order to test insertion speed. This is not up to real indexing >> > standards, so some love is needed here. I think Mattias is the best >> > person to ask about pointers, let's wait until he is back next week if >> > that is ok? Maybe some other (like the standard Lucene) index can >> > suffice for the time being to test out things? >> > >> > Cheers, >> > >> > /peter neubauer >> > >> > GTalk: neubauer.peter >> > Skype peter.neubauer >> > Phone +46 704 106975 >> > LinkedIn http://www.linkedin.com/in/neubauer >> > Twitter http://twitter.com/peterneubauer >> > >> > http://www.neo4j.org - Your high performance graph >> database. >> > http://startupbootcamp.org/ - Ă–resund - Innovation happens HERE. >> > http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing party. >> > >> > >> > >> > On Thu, Jul 28, 2011 at 10:36 AM, Niels Hoogeveen >> > <[email protected]> wrote: >> > > >> > > Trying to find something useful to hide the implementation book >> keeping of Enhanced API, I tried out dbd-index as can be found here: >> https://github.com/peterneubauer/bdb-index >> > > It looks interesting, but fails its tests. When recovering it performs >> BerkeleyDbCommand#readCommand from the log. The retrieved indexName is not >> actually garbage. I would like to help make this component workable, but >> area of the database is a bit beyond the scope that I know. >> > > I know this is completely unsupported software, but can someone give >> me some pointers on how to fix this issue? >> > > Niels >> > > _______________________________________________ >> > > Neo4j mailing list >> > > [email protected] >> > > https://lists.neo4j.org/mailman/listinfo/user >> > > >> > _______________________________________________ >> > Neo4j mailing list >> > [email protected] >> > https://lists.neo4j.org/mailman/listinfo/user >> >> _______________________________________________ >> Neo4j mailing list >> [email protected] >> https://lists.neo4j.org/mailman/listinfo/user >> > > _______________________________________________ Neo4j mailing list [email protected] https://lists.neo4j.org/mailman/listinfo/user

