NoSQL Database for hierarchical data?

What you possibly need is a document-oriented database like MongoDB or CouchDB See examples of different techniques which allow you to store hierarchical data in MongoDB: mongodb.org/display/DOCS/Trees+in+MongoDB.

What you possibly need is a document-oriented database like MongoDB or CouchDB. See examples of different techniques which allow you to store hierarchical data in MongoDB: mongodb.org/display/DOCS/Trees+in+MongoDB.

1 useful link on approaches for representing the data. – orangepips Jan 23 at 17:29.

MongoDB and CouchDB offer solutions, but not built in functionality. See this SO question on representing hierarchy in a relational database as most other NoSQL solutions I've seen are similar in this regard; where you have to write your own algorithms for recalculating that information as nodes are added, deleted and moved. Generally speaking you're making a decision between fast read times (e.g. Nested set) or fast write times (adjacency list).

See aforementioned SO question for more options along these lines - the flat table approach appears most aligned with your question. One standard that does abstract away these considerations is the Java Content Repository (JCR), both Apache JackRabbit and JBoss eXo are implementations. Note, behind the scenes both are still doing some sort of algorithmic calculations to maintain hierarchy as described above.

In addition, the JCR also handles permissions, file storage, and several other aspects - so it may be overkill for your project.

Here's a non-answer for you. SQLServer 2008! It's great for recursive queries.

Or you can go the old fashioned route and store hierarchy data in a separate table to avoid recursion. I think relational databases lend themselves very well to tree data. Both in query performance and ease of use.

With one caveat.... you will be inserting into an indexed table, and probably several other indexed tables every time someone makes a post. Insert performance could be an issue on a facebook caliber forum.

1 You need to at least talk about Common Table Expressions and/or XML capabilities here as a reason why SQL Server 2008 is useful. – orangepips Jan 23 at 17:29.

The most common one is IBM's IMS. There is also Cache Database See this question posted on dba section of stackexchange.

Check out MarkLogic. You can download a demo copy from the website. It is a database for unstructured data and falls under the NoSQL classification of databases.

I know unstructured data is a pretty loaded term but just think of it as data that does not fit well in the rows and columns of a RDBMS (like hierarchical data).

Exist-db implemented hierarchical data model for xml persistence.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions