Based on my experience with Object Databases, I can't recommend a persistent garbage collector implementation (PGC). Just like all parts of your object model don't need to be expressed in your graph, persistence doesn't need garbage collectors.
Based on what I've seen implemented by customers, GC's are meant for dynamic memory allocation only. One consequence, we found, is that the PGC often delays the application. To avoid this, you end up avoiding or delaying the PGC for a long time, which means there is no automatic GC, so ultimately the application is making a manual process of a supposedly automatic operation. The delay also ends up bloating the database, ie the impact of not deleting the nodes is that you end up using more storage space, when you create new nodes you end up allocating more because the old ones are still around. Not sure about Neo4j, but this also ended up fragmenting the database files. So for us, we found that we were setting ourselves up for bloat and fragmentation, and poor performance because you are going to have access more data. It was also kind of fragile, because if you make a mistake and not root something, you may end up having the PGC accidentally delete something that you wanted. We had a tragically sad experience were a customer was complaining about the PGC taking a long time, the PGC was deleting more objects then they intended, good data was lost (the performance was fine). Please take this as a data point on the decision, it's possible that PGCs could be implemented in a way that don't experience these problems, and end-users could be guided to avoid pitfalls, or PGCs might work for a certain class of applications and not others. -Todd On Fri, Nov 6, 2009 at 12:47 PM, Johan Svensson <jo...@neotechnology.com> wrote: > I'll jump in on this one then. > > Node or relationship IDs will only be reused if they are deleted. > There is no possibility that any IDs change without deleting. > > Regards, > -Johan > > On Fri, Nov 6, 2009 at 3:11 PM, Andrea Puddu <kiedi...@gmail.com> wrote: >> Hi Peter, >> >> I'm sorry if I jump in the discussion. I have a question about >> "garbage collection". >> Are node IDs reused only if some node is deleted? I mean, is there any >> possibility that some IDs change without deleting any nodes? And what >> about relationship IDs? >> >> Thank you in advance. >> Andrea >> > _______________________________________________ > Neo mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user > _______________________________________________ Neo mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user