Comparing with the recent thread "Modeling a tree in couchdb", I should stress that elements in my data structure are NOT ordered.
This makes the problem much simpler than the previous thread, so chances are a "best practice" can be described easily. The data I want to store is just like a filesystem (without symlinks): Each node contains any number of unordered nodes. Cheers! Nicolas Raoul On Wed, Jan 4, 2012 at 4:59 PM, Nicolas Raoul <[email protected]> wrote: > Hello, > > I want to store a tree in CouchDB. > My app is a large filesystem in which folders/files can be > moved/added/deleted. > > What is the best practice for this use case? > Below are the approaches I have found on the Internet: > > 1) Wiki howto > http://wiki.apache.org/couchdb/How_to_store_hierarchical_data > Is this page really a howto? The redundancy is quite astonishing. > Even worse, the author himself says in paragraph "Moving a node to > another parent" that moving nodes is unreliable, and that he is "not > sure of the best approach to avoid such a problem". > > 2) Link to parent > Approach #2 at http://www.cmlenz.net/archives/2007/10/couchdb-joins > Each node contains a reference to its parent. > It seems good enough for the author's use case, but I am not sure it > is scalable to mine. > > Both of these articles have been written by people who admittedly > "have been playing with CouchDB lately". > Could anybody provide some feedback on those approaches? > > Or is there another approach that could be described as a "best > practice" for storing large dynamic tree in CouchDB? > > Thanks a lot! > Nicolas Raoul > http://nicolas-raoul.blogspot.com
