PeterM
PeterM

Reputation: 2614

Which type of database is a good fit for this work load?

I know this is a somewhat subjective question but I want to throw it out there anyway because if there is some insight that I've missed, asking this question will save me (and hopefully others) a great deal of searching :-)

Basically, what is the best type of database for when you have a number of items interlinked. For example:

A->B->C->D->E->F->G->H->I

And you want to be able to quickly find the shortest path (or the number of paths ideally) between A and I?

I would normally just use a relational database for this, but I'm not sure a MapReduce style database is any better and then I wondered if there was a type of database I hadn't considered altogether...

As always, all help gratefully received :)

Upvotes: 1

Views: 95

Answers (2)

eric
eric

Reputation: 78

This is exactly the sort of thing neo4j is designed for. It's a graph database that provides operations for doing graph traversal and other common operations.

Upvotes: 4

Stephan
Stephan

Reputation: 1565

I would suggest looking into MongoDB - It's NOT a relational database, and all your data gets saved and passed as JSON, it's easy scale-able and build for performance, and comes with a couple of tricks up its sleeve as well, like MapReduce build into mongoDB and way way more.

Since the data is saved as JSON you can save objects within objects and arrays well:

{
  foo:"bar", 
  animals: ['cat','dog','fish'],
  blog:{
    post:"Hello World!",
    comments:["this is cool","Hello back"]
  }
}

Checkout - http://www.mongodb.org/
or http://www.mongodb.org/display/DOCS/MapReduce/
for more info

Upvotes: -1

Related Questions